这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 2410 请教2410启动代码的问题

共2条 1/1 1 跳转至

2410 请教2410启动代码的问题

院士
2006-09-17 18:14:16     打赏
2410 请教2410启动代码的问题



关键词: 请教     启动     代码     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 正在调试2410的启动代码三星的2410init.s,RO base设为0x40000000,编译后始终无法正常运行。在axd的反编译窗口发现0x40000000处是一句main函数的返回语句 mov pc,r14,0x40000004处才是 b ResetHandler,汇编执行到初始化堆栈的地方 bl InitStacks一下跳转到0x40000000处是main函数的返回语句 mov pc,r14,非常不解,请DX支招。

1: RE这个就不好说了:
1:你的编译环境设置好没有,ARM LINKER里面的设置你最好再查下;
2:bl InitStacks是调用程序,其下应该是继续bl,然后b _main,会跳转你该去查下程序有没有写错. 2: 有进展谢谢sassos,改了ARM LINKER里面的设置。编译出来正常一点了,0x40000000是b ResetHandler了,但执行到bl InitStacks处停住了,AXD提示 DBE Warning 00256: Execution stopped, because of an unknown breakpoint (this indicates an internal error).
各位继续帮忙啊
3: 呵呵,是查生指令异常啦!看看你初始化对栈地方对不对哦? 4: RE查下程序里面你的初始化堆栈 5: 我是单步执行的执行bl InitStacks后就停住了根本没有跳到InitStacks子程序里,我调试的时候板上的pPCBoot已经启动了,会有影响吗? 6: REbl是调用,在调试时你不会看到执行initstack里面内容,你应该看到
bl InitStack
bl TargetInit
b  _main
顺序往下执行

看下你的initstack程序,有没有保存程序返回地址,具体该这样:
InitStack
        MOV RO,LR
        MOV CPSR_C,#0XD3
        ......
        ......
        ......
        MOV PC,R0
然后下面再分配堆栈空间
查看下你的堆栈空间分配是否太小 7: 谢谢各位是jtag代理软件的问题,换成banyan就好了 8: 好好看看datasheet吧2410 ro是0x30000000 比如你sdram是64M的 那最高也就是0x34000000
当然不对了 9: 直接搜索这方面的文章看看,

共2条 1/1 1 跳转至

回复

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