free-arm 发表于 2009-6-10 19:20:28

感谢skyeye,让我的ARM IP核跑通uclinux!

我最近一直在做一个开源的ARM7 IP核,支持ARM7的指令和中断。作为单片机已经没啥问题了,因为我已经下载入FPGA验证过。但是朋友对我说,还是不能放心,一定要跑通linux这样的大型程序才算通过。他向我推荐skyeye。

于是我在ubuntu上下载了skyeye,又从网上找了别人编译好的uclinux源码和配套的ROMFS。在仿真器这边,写好了testbench,把uclinux加载入0x01000000开始的地址处,把romfs加载到0x01400000开始的地址。然后监控uclinux访问以0xfff开头的寄存器。发现它依次访问了chip id,启动了一个定时器1,然后过一段时间就是一个序号为5的irq中断。

我把skyeye打印出来的寄存器值和testbench打印出来的一对比,发现skyeye有些不对的地方,同硬件不完全一样。比如cmp指令,必然要置位cpsr的,但是skyeye有时候并不置位。于是我只好放弃了逐个寄存器的对比,只对比R15的变化。只要R15一致,两者应该差不多了。

调试的过程很艰苦,特别是打印出来1G的调试信息,过一段时间就是一个中断,我得重启modelsim。不过总算调试成功了,在modelsim里打印出前面的log信息了。

发贴庆祝一下。配上图吧。

lurker0 发表于 2009-6-11 16:52:58

恭喜
页: [1]
查看完整版本: 感谢skyeye,让我的ARM IP核跑通uclinux!