知道原因了,remap没成功!**

[复制链接]
2401|2
 楼主| syqd816 发表于 2008-5-12 11:36 | 显示全部楼层 |阅读模式
我在把以前工程师设计的GCC下的at91m55800a的工程移植到ADS1.2下时候发生了点很奇怪的问题。<br />&nbsp;&nbsp;&nbsp;关于启动代码的<br />为保证重映射之后提供正确的中断入口地址,在重映射之前就必须把中断和异常向量表拷贝到内部RAM中。其程序实现如下:<br />&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r8,#RAM_BASE_BOOT&nbsp;&nbsp;&nbsp;&nbsp;//RAM_BASE_BOOT是重映射前内部RAM区地址&nbsp;(0x00300000)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r9,&nbsp;pc,#-(8+.-VectorTable)&nbsp;&nbsp;//VectorTale是异常向量表入口<br />&nbsp;&nbsp;&nbsp;&nbsp;ldmia&nbsp;&nbsp;&nbsp;r9!,&nbsp;{r0-r7}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//读8个异常向量&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;stmia&nbsp;&nbsp;&nbsp;r8!,&nbsp;{r0-r7}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//保存8个异常向量到RAM区<br />&nbsp;&nbsp;&nbsp;&nbsp;ldmia&nbsp;&nbsp;&nbsp;r9!,&nbsp;{r0-r4}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//读5个异常处理程序绝对地址<br />stmia&nbsp;&nbsp;&nbsp;r8!,&nbsp;{r0-r4}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//保存5个异常处理程序绝对地址到RAM区<br /><br />可是为什么一旦使用stmia&nbsp;&nbsp;&nbsp;r8!,&nbsp;{r0-r7}和stmia&nbsp;&nbsp;&nbsp;r8!,&nbsp;{r0-r4}&nbsp;的时候总出现数据访问中止的中断呢??<br />我把这儿注释掉后到了__main()库函数的时候&nbsp;strcs&nbsp;&nbsp;r7,[r4],#4&nbsp;的时候也出现数据中止访问的问题,求教各位给我分析下可能那儿出现的问题?<br />谢谢大家了,快崩溃啦
 楼主| syqd816 发表于 2008-5-12 11:53 | 显示全部楼层

我用的片外flash调试

  
 楼主| syqd816 发表于 2008-5-12 14:53 | 显示全部楼层

知道原因了,remap没成功!**

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

20

帖子

1

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