|
发表于 2004-10-14 21:49:31
|
显示全部楼层
skyeye中关于arm simulator 部分大多数都在skyeye/sim/arm/
里面有很多文件 skyeye的各个开发办的程序都在这下面,你要是想了解
skyeye的架构的话 ,做好向看看skyeye相关文档,在看里面的源代码
在里面 skyeye相关文件都是以skyeye开头命名的,
这里我告诉你几个比较关键的文件中的函数
remote-sim
wrapper中的init()函数调用,里面skyeye的初始化工作都在里面展开,
建议跟踪init路线读下去,就差不多能够理解了
还有一个就是armemu.c
ARMul_Emulate32 (ARMul_State * state)
#else
ARMul_Emulate26 (ARMul_State * state)
#endif这是一个对arm cpu指令节的模拟, 和一个对处理外设的io_do_cyle()的调用
你要是牛的话
可以全部看该函数,理解cpu是怎么工作的, 这是当 我们在skyeye中输入
命令run, step,next等命令时调用的,
skyeye开头的函数比较好理解,难理解的地方大都是对硬件的处理上面
其他对于gdb命令的扩充如target sim都在skyeye/gdb/remote-sim.c目录下实现的
Good Luck !
最好的理解方式就是直接看它的实现代码 |
|