我遇到了多个关于运行某种 Linux/Busybox 操作系统和文件系统的设备的 QEMU 仿真的问题/教程。但是,我正在寻找使用 QEMU 使用提取的图像文件运行基于 ARM 的嵌入式设备固件的方法。
此时,我一直在尝试使用以下方法多次:
qemu-system-arm -machine versatilepb -m 128M -option-rom MspApp.bin
但是,在每种情况下,我最终都会遇到类似的崩溃:
R00=00000000 R01=00000000 R02=00000000 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=00000000 R14=00000000 R15=08000000
PSR=400001d3 -Z-- A svc32
s00=00000000 s01=00000000 d00=0000000000000000
s02=00000000 s03=00000000 d01=0000000000000000
s04=00000000 s05=00000000 d02=0000000000000000
s06=00000000 s07=00000000 d03=0000000000000000
s08=00000000 s09=00000000 d04=0000000000000000
s10=00000000 s11=00000000 d05=0000000000000000
s12=00000000 s13=00000000 d06=0000000000000000
s14=00000000 s15=00000000 d07=0000000000000000
s16=00000000 s17=00000000 d08=0000000000000000
s18=00000000 s19=00000000 d09=0000000000000000
s20=00000000 s21=00000000 d10=0000000000000000
s22=00000000 s23=00000000 d11=0000000000000000
s24=00000000 s25=00000000 d12=0000000000000000
s26=00000000 s27=00000000 d13=0000000000000000
s28=00000000 s29=00000000 d14=0000000000000000
s30=00000000 s31=00000000 d15=0000000000000000
FPSCR: 00000000
Aborted
考虑到我没有模拟任何所需的硬件 - 稍后会出现问题 - 我最不想让设备启动,我知道执行不会走得很远。
目前,我一直在尝试用于池自动化的固件,从静态分析显示它在NXP 基于 ARM9的i.MX28 板上的Nucleus RTOS上运行。固件由两个文件组成,一个似乎包含操作系统、一组 XML 文件(可能用于用户界面)以及一个 U-boot 引导加载程序。所有这些组件都在MspApp.bin文件中,我假设它是 ROM 映像。
所以我的问题是:1) 是否可以使用 QEMU 从固件 ROM 映像部分模拟嵌入式设备,如果可以 2) 我需要哪些信息/命令/修改让 QEMU 部分模拟提取的固件?