1. 程式人生 > >HI3516uboot燒寫啟動

HI3516uboot燒寫啟動

2.1 U-boot 硬體環境
Hi3516A DMEB 板上的外圍晶片包括 DDR SDRAM、 NAND Flash、 SPI Flash 和 SPINAND Flash,其具體型號見《 Hi3516A 器件相容性列表》。
2.2 編譯 U-boot
當所有以上移植步驟完成後,就可以編譯 U-boot,操作如下:
步聚 1. 配置編譯環境
make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux- hi3516a_config
或者
make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux- hi3516a_spinand_config
編譯成功後,將在U-boot目錄下生成u-boot.bin。
其中 hi3516a_config 為支援 SPI Flash 和 Nand Flash 的配置, hi3516a_spinand_config 為支援SPI-Nand Flash 的配置。
步聚 2. 編譯 U-boot
make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux-
其中 CROSS_COMPILE 表示工具鏈。文件中統一以 CROSS_COMPILE=arm-hisiXXX-linux-來表示兩種情況。
z Hi3516A_V100R001C01SPCxxx 對應 uclibc,使用 uclibc 工具鏈時, CROSS_COMPILE=armhisiv300-linux-。
z Hi3516A_V100R001C02SPCxxx 對應 glibc,使用 glibc 工具鏈時, CROSS_COMPILE=armhisiv400-linux-。
2.3 配置 DDR 儲存器
在 Windows 下開啟 SDK 中的“ osdrv/ tools/pc/uboot_tools/”目錄下的配置表格。當選用不同的 DDR SDRAM 時,需要針對不同器件的特性,對配置工作表中的標籤頁【mddrc_dmc1】、【 mddrc_dmc2】和【 mddrc_phy】進行修改。
2.4 配置管腳複用
如果管腳複用有變化,還需要對配置表格中的標籤頁【 muxctrl_reg】進行修改。
2.5 生成最終使用的 U-boot 映象
完成配置表格的修改後,儲存表格。單擊表格第一個標籤頁上的按鈕【 Generage regbin file】,生成臨時檔案 reg_info.bin。將臨時檔案 reg_info.bin 和編譯 u-boot 得到的 u-boot.bin 都拷貝到 SDK 中的
“ osdrv/tools/pc/uboot_tools/”目錄下,執行命令:
mkboot.sh reg_info_hi3516a.bin u-boot-hi3516a.bin
其中 u-boot-hi3516a.bin 就是能夠在單板上執行的 U-boot 映象
如果待移植單板中已有 U-boot 執行,則可以通過串列埠或網口與伺服器連線,直接更新U-boot。
如果是第一次燒寫,則需要使用 fastboot 或者 DS-5 工具進行燒寫。由於晶片特性,在使用 DS-5 時必須要對儲存器和晶片進行初始化。在 Hi3516A SDK 中提供了相應的初始化指令碼,當選用了不同的外圍晶片,則需要重新配置初始化指令碼才能使用。
3.燒寫uboot
3.1 SPI Flash 燒寫方法
SPI Flash 燒寫方法如下:
步聚 1. 在記憶體中執行起來之後在超級終端中輸入:
hisilicon# mw.b 0x82000000 ff 0x100000 /* 對記憶體初始化*/
hisilicon# tftp 0x82000000 u-boot-hi3516a.bin /*U-boot下載到記憶體*/
hisilicon# sf probe 0 /*探測並初始化SPI flash*/
hisilicon# sf erase 0x0 0x100000 /*擦除 1M大小*/
hisilicon# sf write 0x82000000 0x0 0x100000 /*從記憶體寫入SPI Flash*/
步聚 2. 上述步驟操作完成後,重啟系統可以看到 U-boot 燒寫成功。
3.2 NAND Flash 燒寫方法
NAND Flash 燒寫方法如下:
步聚 1. 在記憶體中執行起來之後在超級終端中輸入:
hisilicon# nand erase 0 100000 /*擦除 1M大小*/
hisilicon# mw.b 0x82000000 ff 100000 /* 對記憶體初始化*/
hisilicon# tftp 0x82000000 u-boot-hi3516a.bin /*U-boot下載到記憶體*/
hisilicon# nand write 0x82000000 0 100000 /*從記憶體寫入NAND Flash*/
步聚 2. 重啟系統可以看到 U-boot 燒寫成功。