u-boot移植第五弹——2013.10u-boot通过tftp下载到内存中运行

本文介绍如何通过简单修改U-Boot源码,利用TFTP功能将U-Boot下载到内存并直接运行,以此提高调试效率。文章详细说明了添加宏定义及修改内存地址的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次修改是很重要的,实现的功能是不必通过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。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值