这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » quot,main,quot 求助:我在"B __main"

共2条 1/1 1 跳转至

quot,main,quot 求助:我在"B __main"中遇见很奇怪的问题,请帮帮我

院士
2006-09-17 18:14:16     打赏
quot,main,quot 求助:我在"B __main"中遇见很奇怪的问题,请帮帮我



关键词: 求助     我在     遇见     怪的     问题     请帮     帮我    

院士
2006-12-22 22:43:00     打赏
2楼
问 我使用的软件是ADS1.2,周立功uC/OS-II的工程模板,PLC2134芯片.
我原来写了一个能正常运行的程序,现在想改进,发现只要
" Total RO  Size(Code + RO Data)  80720 (  78.83kB)"中 Size
发生变化(哪怕只是4个字节)都会出错.

经过在 AXD 中单步运行,发现运行到 Startup.s 文件里的 ResetInit 函数中的 "B __main "后
单步运行的代码:
"
  -------__main的反汇编代码--------
  [0xe28f8090]   add      r8,pc,#0x90 ; #0x150
                             运行结果 r8 = 150
                                      pc=00bc
  [0xe898000f]   ldmia    r8,{r0-r3}
                             运行结果 r0 = 139bc
                                      r1 = 139ec
                                      r2 = 139ec
                                      r3 = 13afc      
                                       --这些数据是正确的
"
只要R0-R3寄存器的值有不是上面的值,都会跳转到
";取数据中止
DataAbort
        B       DataAbort
"
中去,请问这是什么问题,该怎样解决? 1: b __main以后我单步过这段代码
里面要初始化很多东西
似乎有初始化ram的代码
如果分散加载文件有问题的话,一定会预取数据中止

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]