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 烧写成功。

猜你喜欢

转载自blog.csdn.net/tiamo_hl/article/details/68485122