目标平台:全志A33 工作平台:Ubuntu 20.04 uboot版本:u-boot-2011.09 linux版本:Linux-3.4 交叉编译环境版本:4.5.1
上次,通过按键示例,强制进入uboot操作界面,但实际的开发过程中是不会采用这种方式进入uboot,通常,延时按下,键盘的空格键,进入uboot,如果延时的时间段,没有按下自动启动Linux。 一、查询uboot相关开发资料 1、找到设置延时的参数,通常针对板子定义的文件在include/configs/XXX.h,我的开发平台对应的是sun8iw5p1
vi brandy/u-boot-2011.09/include/configs/sun8iw5p1.h
2、由此可以根据CONFIG_BOOTDELAY,查找相关文件
grep 'CONFIG_BOOTDELAY' * -nR
3、找到了brandy/u-boot-2011.09/common/main.c文件,到相应的文件中查看
vi brandy/u-boot-2011.09/common/main.c +346
1)、获取环境变量bootdelay中的值,返回指针给s,
2)、下面有bootdealy的输出
4、由此,可以查询环境变量bootdelay在哪儿定义的
5、修改bootdealy参数 可以看到在 /tools/pack/chips/sun8iw5p1/configs/defaults/env.cfg 里有定义bootdealy参数,(上图为我修改后的值)初始值为0,所以开发板启动后不具有延时功能,直接进入系统;现在只需要将,该值修改为,需要延时的,时间即可。
6、重新编译,烧写系统 修改后,重新编译所有系统 uboot-2011
cp a33_vstar_defconfig .config
dragonboard$
烧写系统重启, 进入uboot读秒瞬间界面
二、build.sh初步了解,build_uboot脚本
1、build.sh uboot 解析
从上图中可以看到 在build.sh中的build_uboot是,以前我们手动编译,过程的封装,是自动化处理的一个sh脚本,从中可以看到uboot采用是2011.09版本的,配置适用的平台是sun8iw3p1,在实际的开发中也可以如此进行打包。
三、快速构建系统方法 目前快速构建系统,主流的有两种方式,分别是buildroot和yocto, 1、buildroot 关于buildroot相关信息在这儿就不再赘述了,可参考相关博文https://blog.csdn.net/yanceylu/article/details/108524573 更多buildroot信息请参考官网https://buildroot.org/
2、关于yocto请参考官网相关资料https://www.yoctoproject.org/ 3、QNX等相关的系统请参考这个网站https://blackberry.qnx.com/en
注:如需要其他相关的资料,或者你有相关的资料,欢迎发送链接