u-boot-2016.01移植笔记之对u-boot的裁剪以及配置环境变量

现在,我们的u-boot已经对全部的硬件支持了,接下来就是启动内核,在这之前需要先配置好环境参数,在u-boot的打印信息中我们可以看到


我们就搜索这句话,结果是在common\env_common.c中set_default_env函数里面


我们进default_environment(默认的环境变量)里面看看首先我们看bootargs这个变量在我们的配置文件里面没有定义,那么我们就定义它


目前这个变量是干什么的我还不太清楚,估计是分区用的

接下来定义CONFIG_BOOTCOMMAND


这是读取内核的命令


我们看到nandflash里面的环境变量需要定义CONFIG_ENV_IS_IN_NAND,所以我们就定义它就可以了

因为我们是在nandflash里面分区和放置环境变量的下载内核到nandflash里去,所以要定义它,原来的配置文件中给的是在norflash里面的所以我们应该这么改


这里的地址是根据内核分区来决定的


所以环境变量的地址是0x40000大小是0x20000

接下来我们需要配置IP地址

修改如下宏成为如下值


这时候我们的u-boot就开始有读秒了接下来我们要对它进行裁剪把没用的命令都给删掉

修改配置文件


把配置文件里面的这个变量都给注释掉,然后编译就会发现u-boot已经在200K到300K之间了,接下来我们就让分区在u-boot中打印出来,我们搜索mtdparts命令然后我们随便点开一个头文件看看他们是怎么写的,


我们就可以仿照他们的来定义,定义成


这样就差不多了,最后一步我们把board_r.c中在main_loop前面加上


run_command命令就可以了,然后我们预先把文件系统和内核下载到nandflash中,我们再把最新编译好的u-boot下载到norflash中,重启开发板u-boot就可以正常运行提取内核了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值