5487|13

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

eboot汇编代码跳转到main时候的问题 [复制链接]

[0xe3a01001]   mov      r1,#1
[0xee031f10]   mcr      p15,0x0,r1,c3,c0,0
[0xee02af10]   mcr      p15,0x0,r10,c2,c0,0
[0xee080f17]   mcr      p15,0x0,r0,c8,c7,0
[0xe3a01071]   mov      r1,#0x71
[0xe3811004]   orr      r1,r1,#4
[0xe59f006c]   ldr      r0,0x30039468 ; = #0x8c039408
[0xe3500000]   cmp      r0,#0
[0xee011f10]   mcr      p15,0x0,r1,c1,c0,0
[0xe1a0f000]   mov      pc,r0
[0xe1a00000]   nop      
[0xe3a0d323]   mov      r13,#0x8c000000
[0xe28dd803]   add      r13,r13,#0x30000
[0xea00a34b]   b        0x30062144  ; (Image$$RO$$Limit + 0x30061574)

打开mmu之后

8c0393d8        [0xe59fa074]   ldr      r10,0x8c039454 ; = #0x30010000
8c0393dc        [0xe3a01001]   mov      r1,#1
8c0393e0        [0xee031f10]   mcr      p15,0x0,r1,c3,c0,0
8c0393e4        [0xee02af10]   mcr      p15,0x0,r10,c2,c0,0
8c0393e8        [0xee080f17]   mcr      p15,0x0,r0,c8,c7,0
8c0393ec        [0xe3a01071]   mov      r1,#0x71
8c0393f0        [0xe3811004]   orr      r1,r1,#4
8c0393f4        [0xe59f006c]   ldr      r0,0x8c039468 ; = #0x8c039408
8c0393f8        [0xe3500000]   cmp      r0,#0
8c0393fc        [0xee011f10]   mcr      p15,0x0,r1,c1,c0,0
8c039400        [0xe1a0f000]   mov      pc,r0
8c039404        [0xe1a00000]   nop      
8c039408        [0xe3a0d323]   mov      r13,#0x8c000000
8c03940c        [0xe28dd803]   add      r13,r13,#0x30000
8c039410        [0xea00a34b]   b        0x8c062144  ; (Image$$ZI$$Limit + 0x5a071f34)

这个就是b main
跳转后内容为:
8c062144        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062148        [0xffffffff]   dci      0xffffffff ; ? undefined
8c06214c        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062150        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062154        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062158        [0xffffffff]   dci      0xffffffff ; ? undefined
8c06215c        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062160        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062164        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062168        [0xffffffff]   dci      0xffffffff ; ? undefined
8c06216c        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062170        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062174        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062178        [0xffffffff]   dci      0xffffffff ; ? undefined
8c06217c        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062180        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062184        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062188        [0xffffffff]   dci      0xffffffff ; ? undefined
8c06218c        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062190        [0xffffffff]   dci      0xffffffff ; ? undefined
8c062194        [0xffffffff]   dci      0xffffffff ; ? undefined
很奇怪啊,什么也没有
之后执行就会出现协处理器操作不能进行而报的undefined instructions

最新回复

没有还不简单吗,自己上传就可以了。获得点数了  详情 回复 发表于 2008-12-26 14:23
点赞 关注

回复
举报

96

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没头没脑的问题,没头没脑的代码。
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 yashi 的回复:
没头没脑的问题,没头没脑的代码。


楼主,你应该描述详尽...........
你这样发问,除非是你的同项目组的伙伴,否则根本不知道你在说什么。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
这段是eboot的start.s汇编部分最后打开mmu,地址跳转到虚拟地址,然后b main 的反汇编。
当从汇编文件跳转到main函数后的反汇编就是
8c062144 [0xffffffff]  dci      0xffffffff ; ? undefined
8c062148 [0xffffffff]  dci      0xffffffff ; ? undefined
8c06214c [0xffffffff]  dci      0xffffffff ; ? undefined
8c062150 [0xffffffff]  dci      0xffffffff ; ? undefined
8c062154 [0xffffffff]  dci      0xffffffff ; ? undefined
这样的内容
问题组织的是不是很好,非常抱歉那。
应该把汇编的代码也加上的
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

5
 
跳转的目的地是SDRAM的地址,已经超出了eboot的地址范围了。后面的内容其实就是main里面的内容,仅仅是存放的地址由flash的空间变到了sdram而已。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 shuiyan 的回复:
跳转的目的地是SDRAM的地址,已经超出了eboot的地址范围了。后面的内容其实就是main里面的内容,仅仅是存放的地址由flash的空间变到了sdram而已。



8c062144 [0xffffffff]  dci      0xffffffff ; ? undefined
8c062148 [0xffffffff]  dci      0xffffffff ; ? undefined
8c06214c [0xffffffff]  dci      0xffffffff ; ? undefined
8c062150 [0xffffffff]  dci      0xffffffff ; ? undefined
8c062154 [0xffffffff]  dci      0xffffffff ; ? undefined
8c062144 ——————这个地址已经是NK的地址了。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
up
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
up
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 4 楼 shuiyan 的回复:
跳转的目的地是SDRAM的地址,已经超出了eboot的地址范围了。后面的内容其实就是main里面的内容,仅仅是存放的地址由flash的空间变到了sdram而已。

是的,这个地址转化为物理地址,因为起始地址是在30038000,所以大小还在256k之内,故应该为主函数main的内容了,但是内容为什么全部是1呢,然后有发生协处理器不能操作,产生undefined instration
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

10
 
我觉得你搞得很奇怪,2410和2440没有太大区别,按理说是随便都可以移植的,你搞就变成这么多问题,看来有的挨——我现在先看懂MMU,cache等原理先了。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 gooogleman 的回复:
我觉得你搞得很奇怪,2410和2440没有太大区别,按理说是随便都可以移植的,你搞就变成这么多问题,看来有的挨——我现在先看懂MMU,cache等原理先了。

我也这么觉得。觉得很烦现在,东西出不来没办法往下做。
看看人家比较顺利,我也羡慕。
你一般的平台都是啥,发现我把问题有点复杂化了,流程怎么样,我学习下,现在变得转牛角尖了
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

12
 
我觉得你如果想快速搞定,建议你去www.pudn.com下一份优龙的bootloader代码来用
如果是64M SDRAM+64M nand flash是可以直接用的。
————————————————————————————————————————
ADS bootloader调试也方便。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 11 楼 gooogleman 的回复:
我觉得你如果想快速搞定,建议你去www.pudn.com下一份优龙的bootloader代码来用
如果是64M SDRAM+64M nand flash是可以直接用的。
————————————————————————————————————————
ADS bootloader调试也方便。
这个网站要点数的把,我没有-,-
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

14
 
没有还不简单吗,自己上传就可以了。获得点数了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【干货上新】电源解决方案和技术第二趴 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 15

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表