UBOOT网上介绍的资料很多,推荐下面几个链接,这是一个有代表性的uboot工程:
Qemu模拟ARM之移植UBOOT
https://blog.csdn.net/wyy626562203/article/details/80058932
Ubuntu12.04下建立交叉编译环境、使用QEMU模拟Cortex-A9、QEMU运行uboot
https://www.cnblogs.com/linucos/archive/2013/03/01/2938517.html
从0移植uboot (一) _配置分析
http://www.cnblogs.com/xiaojiang1025/archive/2016/11/27/6106431.html
从0移植uboot (二) _uboot启动流程分析
https://www.cnblogs.com/xiaojiang1025/p/6496704.html
从0移植uboot(三) _编译最小可用uboot
https://www.cnblogs.com/xiaojiang1025/p/6436752.html
Uboot 2017.01 启动流程分析
https://blog.csdn.net/kl1125290220/article/details/78683999
最初想使用最新版本的U-BOOT,但发现最新版本需要高版本的GCC;
这里就涉及到学习LINUX中遇到的一个讨厌而无法避免的问题,编译代码工程、工具链版本、主机环境开发环境的版本匹配问题。不同版本之间不匹配,就会出现很多莫名其妙的问题。这常常困扰着新手。网上资料明明介绍按照步骤就可以编译运行起来,但自己弄,总是出现或这或那的问题。
建议其他LINUX 资源分享者,将这三个部分的版本都注明在资料中,以便其他人员的参考。
因此,建议初学者要对这种情况有准备。遇到问题不要气馁,多查看网上的资料,从中找到解决问题的思路。解决的问题多了,就不再被这个问题困扰了。
因为新版本的u-boot,u-boot-2018.07-rc1需要 6.0 以上的GCC版本。因此因此采用u-boot-2017.05.tar版本来进行分析和调试。
工具链:gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabi
代码:u-boot-2017.05.tar
主机环境:VMware® Workstation 14 Pro + Linux ubuntu 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
1)配置好工具链路径 PATH
2)导出 ARM 和 CROSS_COMPILE
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
3)解压u-boot
4)使用vexpress_ca9x4配置文件 (主要考虑该目标板有一定的代表性,同时在后面的LINUX分析时,也可以使用该开发板)
make vexpress_ca9x4_defconfig
5)编译
make -j8 V=1
6)仿真环境运行
qemu-system-arm -M vexpress-a9 -m 256 -nographic -kernel u-boot
7)QEMU退出方法
第一种:
在没有图形界面的情况下,可以使用 Ctrl+A 再按X的方式退出也可以使用如下命令彻底退出
第二种:
在另一个终端中运行下面的命令来杀死QEMU进程
ps -A | grep qemu-system-arm | awk ‘{print $1}’ | xargs sudo kill -9
---------------------
来源:CSDN
原文:https://blog.csdn.net/wyy626562203/article/details/80058932