本次修改是很重要的,实现的功能是不必通过SD卡启动u-boot,使用tftp功能下载u-boot到内存然后使用go命令直接跳转到对应的内存地址即可。
为什么说本次移植很重要呢,原因是为了调试方便。可以试想,如果每次修改都需要用SD卡,可以想象工作量有多大,很没效率,而使用tftp方式就方便快捷多了,几条命令就行了。好了开始介绍怎么修改。
首先添加宏定义#define CONFIG_SKIP_LOWLEVEL_INIT,位置在哪里都行,个人习惯。
然后修改#define CONFIG_SYS_TEXT_BASE 0x4ff00000
修改成#define CONFIG_SYS_TEXT_BASE 0x3ff00000,原因是我们本来是在4ff00000地址,通过tftp下载的我们就使用3ff00000地址,为了防止覆盖。
好了,就这两个地方,很简单,O(∩_∩)O~!
make一下。然后拷贝到tftp共享目录下,我的目录是/tftpboot/u-boot/。完成后在开发板就可以使用tftp命令把u-boot.bin拷贝到内存了。
此时开发板使用的u-boot是上一版本的u-boot.bin(当然了,使用开发板自带的u-boot.bin也是可以的)。
总共有两个命令tftp 3ff00000 /u-boot/u-boot.bin和go 3ff00000,前面一个命令是拷贝命令,后面一个是跳转命令。先执行前面的命令,拷贝完成后再执行后面一个命令进行跳转。
如下图:
本节完成。
下一节将会使u-boot支持nand。