Linux:使用 QEMU 测试 U-BOOT的步骤

还是模拟 vexpress-a9.
起初,我用的还是qemu官网里的最新代码编出的qemu程序。
u-boot从下面的网址获得:
http://ftp.denx.de/pub/u-boot/
取得是最新的代码。解压后,配置,编译:
make vexpress_ca9x4_config
export arch=arm
export cross_compile=arm-linux-gnueabi-
make vexpress_ca9x4_config
make
然后,用 qemu运行 u-boot:
qemu-system-arm -m vexpress-a9 -serial stdio -kernel u-boot
结果,qemu的窗口出来了,但却没有任何输出,程序好像是deadlock 在某一个地方了。
根据网上建议的方法调试如下:
1. 先运行
qemu-system-arm -m vexpress-a9 -serial stdio -kernel u-boot -s -s
然后,在另一个虚拟终端窗口执行:
arm-linux-gnueabi-gdb u-boot
.....
(gdb) target remote localhost:1234
最终发现,程序执行了下面的汇编执行后就 stuck 那里了
mcr p15, 0, r0, c12, c0, 0 @set vbar
(在文件 u-boot-2013.10/arch/arm/cpu/armv7/start.s里)
现在对arm的汇编还不熟悉,这个错误不知道如何解决。。
所以,就换了另一个对arm支持较好的qemu版本: qemu-linaro。可以用git拿到源码。
git clone git://git.linaro.org/qemu/qemu-linaro.git
用编译 qemu一样的方法编译 qemu-linaro.
然后,再尝试运行u-boot:

三星2018年印度业务净利润跌幅高达11% 或为抗衡国产手机厂商低价手机推出太多
中国电信旗下完美世界积累强大的游戏引擎研发及应用实力
大米重金属检测仪,操作快速简便
华为开启段神秘代码“1+8+N”
一个无线遥控接收器的好坏
Linux:使用 QEMU 测试 U-BOOT的步骤
迅蚁发布“机器人运力网络”,无人化末端配送服务成为可能
VR/AR技术与传媒领域的深度融合
折叠手机的柔性OLED面板到底谁领先,柔宇与小米之争暴露国产手机的软肋
2023服务器产业链及市场竞争格局
AI+数据湖时代,对象存储不止步于存储
为什么英特尔那么牛?制程工艺引业界惊叹!
振动钩针DIY图解
业余爱好者不当使用无人机,引发迪拜机场安全担忧
种新型适用于太空的生物打印设备
Unity支持360度立体图片和视频捕捉
5.02亿!浙江衢州这个地方将进行“多杆合一”改造(附落地案例)
NXP推出的可穿戴HEXIWEAR平台集成多种传感器明星产品
欧盟反对欧洲人的数据传输到美国
无人机投入智能运送,大力提升抢修效率