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

来源:互联网 发布:砸手机屏幕软件 编辑:程序博客网 时间:2024/05/19 21:03

现在,我们的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 0
原创粉丝点击