如果待移植单板中已有U-boot运行,则可以通过串口或网口与服务器连接,直接更新U-boot。如果是第一次烧写,则需要使用ToolPlatform或者DS-5工具进行烧写。由于芯片特性,在使用DS-5时必须要对存储器和芯片进行初始化。在SS626V100 SDK中提供了相应的初始化脚本,当选用了不同的外围芯片,则需要重新配置初始化脚本才能使用。
一、Flash 的 U-boot 烧写方法
1.SPI -Nor Flash 烧写方法
SPI-Nor Flash烧写方法如下:
(1)在内存中运行起来之后在超级终端中输入:
# mw.b <ddr_addr> ff 0x100000 /* 对内存初始化*/ # tftp <ddr_addr> u-boot-ss626v100.bin /*U-boot下载到内存*/ # sf probe 0 /*探测并初始化SPI-Nor flash*/ # sf erase 0x0 0x100000 /*擦除 1M大小*/ # sf write <ddr_addr> 0x0 0x100000 /*从内存写入SPI-Nor Flash*/说明:SS626V100平台的<ddr_addr>可用地址0x42000000。
(2)上述步骤操作完成后,重启系统可以看到U-boot烧写成功。
*在当前版本,使用sf lock 可以对SPI Nor Flash进行块保护(Blocks Protect)。如果对SPI Nor Flash的某个块进行了块保护,这个块就变成只读,运行擦除和写命令都不会生效,而且掉电并不能失效块保护。在这种情况下,只有在执行sf lock 0命令,解除块保护之后,SPI Nor Flash擦除和写操作才会起作用。
2.SPI-Nand Flash 烧写方法
SPI-Nand Flash烧写方法如下:
(1)在内存中运行起来之后在超级终端中输入:
# nand erase 0 0x100000 /*擦除 1M大小*/ # mw.b <ddr_addr> 0xff 0x100000 /* 对内存初始化*/ # tftp <ddr_addr> u-boot-ss626v100.bin /*U-boot下载到内存*/ # nand write <ddr_addr> 0 0x100000 /*从内存写入NAND Flash*/说明:SS626V100平台的<ddr_addr>可用地址0x42000000。
(2)重启系统可以看到U-boot烧写成功。
二、eMMC 的 U-boot 烧写方法
eMMC烧写方法如下:
(1)在内存中运行起来之后在超级终端中输入:
# mw.b <ddr_addr> 0xff 0x80000 /* 对内存初始化*/ # tftp <ddr_addr> u-boot-ss626v100.bin /*U-boot下载到内存*/ # mmc write 0 <ddr_addr> 0 0x400 /*从内存写入eMMC*/说明:
SS626V100平台的<ddr_addr>可用地址。
mmc write命令说明:
格式:mmc write <device num> addr blk# cnt
参数:
<device num>:设备号addr:源地址blk#:目的地址的块序号cnt:块的数目,块大小为512字节(2)重启系统可以看到U-boot烧写成功。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:关于SS626的U-boot烧写-芯片烧录教程 https://www.yhzz.com.cn/a/8818.html