主题 : ucos调试时产生的小困惑 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 17858
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2010-04-02
最后登录: 2011-02-19
楼主  发表于: 2010-04-06 22:38

 ucos调试时产生的小困惑

今天在拿资料上的ucos源码自己用ads仿真,遇到一问题十分的困惑,望高手解答,小弟不胜感谢
我在RAM里面调试的,起始地址为:0x30000000
进入调试后,我在想如果中断来了怎么办(假设为IRQ),不是要从0x18取指么(我此时选择的是norflash启动的),而0x18是norflash里面的内容。编译后的代码中HandlerIRQ却是在0x30000018,这两个地址里面的内容并不相等,那为什么还会运行正常呢?代码中并没有把0x30000000起始的几个异常向量拷贝到0x00000000的地址中去啊。到底是怎么回事呢?
级别: 新手上路
UID: 10058
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
贡献值: 0 点
综合积分: 14 分
注册时间: 2009-10-22
最后登录: 2011-08-07
1楼  发表于: 2010-04-27 13:38
我猜是因为bootloader的中断向量表和ucos启动代码中定的中断向量表同一个地址,这样UCOS把中断处理函数注册到了中断向量表中,这样bootloader的中断向量表解析函数也能分析到中断处理函数在哪!