关于中断调试的方法!恼火

[复制链接]
 楼主| luocolor 发表于 2007-1-28 00:01 | 显示全部楼层 |阅读模式
我现在的情况是:<br /><br />已经写好了一些程序,里面的首要功能类似bootloader.然后有sctter文件将vector如下:<br />FLASH&nbsp;0x8000<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;FLASH&nbsp;0x8000<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init.o&nbsp;(Init,&nbsp;+First)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(+RO)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;32bitRAM&nbsp;0x0000<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vectors.o&nbsp;(Vect,&nbsp;+First)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;interrupt.o<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(+RW,+ZI)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;HEAP&nbsp;+0&nbsp;UNINIT<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heap.o&nbsp;(+ZI)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;STACKS&nbsp;0x40000&nbsp;UNINIT<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack.o&nbsp;(+ZI)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br />现在的问题是:<br /><br />因为板子上本来就有一个bootloader运行着在,板子上本身跑的bootloader需要地址0x0后的32k单元.<br />我用bootloader提供的指令load这个ads生成的.bin文件,<br /><br />如果运行g&nbsp;0x8000,程序死在那里,没有一点反应.我觉得,这是因为bootloader在0x0那里占着位置,所以运<br /><br />行的时候才出问题.<br /><br />但是,如果我不用scatter形式生成.bin,而用simple,ro指定位0x8000,rw不指定,程序却能从串口打印一些<br /><br />我想要的,预料之中的信息,但不完全.不完全的原因是其他我想要的输出是和irq中断处理有关的.我用<br /><br />simple形式生成.bin,那么,无疑在地址0x0处不能放置我写的vector在那里.所以,即使板子的irq到来,我<br /><br />也不能运行我的程序.<br /><br /><br />我现在想了下,如果将我的程序的scatter文件中的FLASH后的地址改成remap后flash处的地址,然后将.bin<br /><br />下载到flash开始的地方,那样在板子重新上电的时候,我的程序应该就能运行了.<br /><br />各位说下,这样可用么?<br /><br />另外,看了下armulator的semihosting,倒是可以利用这种机制,但是如果这样需要armulator来模拟我所要<br /><br />的硬件.按照我现在的水平,还有时间的考虑,这样估计不行了.<br /><br />各位dx,还有其他的方法,我可以用来完成我的调试么?比如用simple形式生成的.bin有方法来完成么?<br /><br /><br />我是初学者中的初学者啊,各位说说建议把.!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

105

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部