2017-08-11 40 views
0

我想了解嵌入式Linux的原則,並不能找出u-boot輸出的地址。U-boot啓動地址?和u-boot.imx文件包含?

我如何找到U-boot的起始地址?

舉例來說,我已經根據i.MX6四核處理器MX6-SabreSD董事會和我得到了U-Boot的輸出如下:

U-Boot 2015.10-rc3 (Aug 10 2017 - 13:33:34) 

CPU: Freescale i.MX6Q rev1.2 at 792 MHz 
Reset cause: POR 
Board: MX6-SabreSD 
DRAM: 1 GiB 
MMC: FSL_SDHC: 0 
No panel detected: default to LDB-WVGA 
Display: LDB-WVGA (800x480) 
In: serial 
Out: serial 
Err: serial 
Net: using phy at 6 
FEC [PRIME] 
Warning: FEC MAC addresses don't match: 
Address in SROM is   00:c0:08:88:a5:e6 
Address in environment is 00:c0:08:88:9c:ce 

Hit any key to stop autoboot: 0 
Booting from mmc ... 
4788388 bytes read in 303 ms (15.1 MiB/s) 
## Booting kernel from Legacy Image at 12000000 ... 
    Image Name: Linux-3.0.35 
    Image Type: ARM Linux Kernel Image (uncompressed) 
    Data Size: 4788324 Bytes = 4.6 MiB 
    Load Address: 10008000 
    Entry Point: 10008000 
    Verifying Checksum ... OK 
    Loading Kernel Image ... OK 

Starting kernel ... 
+1

你想在uboot的RAM的執行地址? – Rajeshkumar

+0

是的,我需要找出在RAM中的u-boot地址的執行情況,你可以幫我嗎? – Ashokkumar

+0

uboot存儲在哪裏?它在閃光? – Rajeshkumar

回答

3

的U-boot的起始地址?

的U-Boot起始地址使用符號CONFIG_SYS_TEXT_BASE,其通常在板的配置頭文件中定義指定,即包括/ CONFIGS/.H
對於i.MX6板,該值通常爲0x17800000。
但可執行文件將重新定位到上層RAM。
如果您有構建文件,可以通過查看System.mapu-boot.map文件來確認開始地址。

和u-boot.imx文件包含?

U形boot.imx文件是由i.MX的SoC的ROM引導代碼中使用的二進制圖像。
它由標準的u-boot.bin可執行文件組成,但前綴爲0xC00字節標題。
有關詳細信息,請參閱U-Boot文檔文件doc/README.imximage,該文檔介紹如何構建二進制文件並將其寫入介質。

如何找到U-boot的起始地址?

起始地址顯示存儲在U型boot.imx文件的偏移量爲0x4(和0x14的加載地址)(雖然我無法找到確認)。

u-boot.imx文件從第三個扇區(即字節偏移量0x400)開始存儲在SD卡上。
請參閱embedded linux ARM booting address將二進制文件寫入SD卡。