如何为QEMU制作flash image?
我在QEMU上加了flash emulation support, 然后模拟开发版 boot 全过程,先制作flash file:
文件制作如下:
dd if=/dev/zero of=flash.img bs=256k count=256
dd if=u-boot.bin of=flash.img bs=256k conv=notrunc
dd if=uImage of=flash.img bs=256k seek=2 conv=notrunc
dd if=roofs.img.gz of=flash.img bs=256K seek=8 conv=notrunc
运行后出现问题:
qemu-system-arm -M versatilepb -m 200 -nographic -pflash flash.img
qemu: fatal: Trying to execute code outside RAM or ROM at 0xffff0844
R00=fffcdf70 R01=ffff0000 R02=00000000 R03=00028250
R04=ffff0000 R05=fffcdf70 R06=ffff0000 R07=00000000
R08=008fff78 R09=fffe0000 R10=00028250 R11=00000000
R12=008ffff0 R13=fffcdf60 R14=ffff0844 R15=ffff0844
PSR=600001d3 -ZC- A svc32
Aborted
如果单独运行没问题:
qemu-system-arm -M versatilepb -m 200 -nographic -kernel u-boot.bin
好像uImage在flash文件里没放对,u-boot 时间延迟不起作用。有没有做过类似的flash文件,请帮帮忙!万分感谢 回复 1# linuxfellow
LZ现在解决了吗? 我现在也这么做,但是用qemu调,看到跑的代码不对 回复 1# linuxfellow
我今天调过了。分享下我的经验。你的是arm的,跟我不一样,可能不是完全合适
qemu mips默认的board是malta的,qemu malta会在bfc00000处写上一个简单的boot,导致了我自己写的boot没有运行起来,然后我用-M mips -cpu 5Kc指定了板子和cpu就跑起来了。
而你的是uboot.bin能够跑起来,说明你的板子和cpu都是正确的。你可以用
qemu-system-arm -kernel u-boot.bin -d in_asm -D ./qemu.log 查看你跑到了哪。 回复 3# amarant
太谢谢了,我一定试一试。
页:
[1]