5559|12

86

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

2440的nboot仿真问题! [复制链接]

不知道定义这个题目合不合适?弄了这么久wince,自己感觉对nboot也算是比较理解了。今天突然发现有个很重要的问题,其实我一直都不懂,甚至于从来没想过,今天出去焊接的板子回来,我就直接用sjf2440下载程序,可是sjf无法运行,一直找原因,想通过ads+H-jtag进行仿真,可是发现个问题rdi severe error 00602:can't halt and make it enter debug state,一直以为是硬件问题,也没有深究,可是我在开发板文档中看到一句这样的话郁闷了。 “进行仿真之前请确认已经有初始化程序,这样调试代理软件中不要设置很多东西”除了佩服现在的开发板厂家后,就是自己的反省了。这很多东西是什么呢??想我现在这个情况nand下程序不成功?应该怎么办呢??请各位高手指点下!??

最新回复

rdi severe error 00602:can't halt and make it enter debug state 说明你的程序已经在跑了,所以不能停止,不能进入调试模式。 首先:确定你的板是从什么模式启动的。如果从nand启动,是否nand里面本身有程序?如果程序不正确,则IROM自拷备这段错误的程序后再运行,就会造成这种情况。 解决办法:换一片flash,或者改硬件,不要从nand启动。这时就能够通过HJTAG调试了。 出现这种情况有时通过JLINK可以解决问题,但是大多数情况下JLINK并不管用。修改2440的起动配置是一个好方法,最直接的就是换一片flash了。 进行仿真之前请确认已经有初始化程序 这里初始化无非就是对SDRAM初始化。如果SDRAM本身没有初始化,那么程序不可能在SDRAM里面跑起来。这时要想使用H-JTAG仿真,只有在ADS下将运行地址设置在SRAM中才行。 解决办法:在AXD中使用OB命令,运行一段*.ini的初始化程序,初始化SDRAM或者在AXD下配置运行起始代码,让进入AXD时自动运行一段config.txt程序,目的都是初始化SDRAM。方法三:自己编写一个初始化SDRAM的程序,生成*.bin文件,进入AXD后先引导该BIN文件,运行, 再停止,再导入你的boot程序。  详情 回复 发表于 2010-5-8 23:36
点赞 关注

回复
举报

101

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
顶下,没人知道吗?
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
没听说过这样的说法,2440里nboot是最初执行的代码,在它之前,如何做初始化?
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
谢谢yashi大侠,呵呵!我也一直想这个问题,其实我对ads仿真原理不太懂,也就是说如果我现在的平台里什么程序都没有,nand flash是空的,更可恨的是我用sjf2440下载程序都不成功,说是没找到nand的ID。但是我已经换了好几块nand都这样,我不知道这种问题应该是哪里出问题??
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
试试我说的jlink 吧,good luck
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

6
 
在ram里执行好了
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 
请教下怎么在ram里执行呢??
 
 
 

回复

95

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 6 楼 xuefeng_baggio 的回复:
请教下怎么在ram里执行呢??


就是用jlink下载到内存。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

9
 
唉 jlink搞了半天还是那样!很郁闷 已经把你教程看了n遍了还是那样!
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
我没整过,巴乔兄!顶~~~
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

11
 
SJF的话是不需要初始化什么东西的吧?

想仿真,如果程序比较小可以将程序下载到内部RAM里边,在ADS中设置下载地址就可以,如果代码较大的话就肯定要先初始化外部RAM再将代码下载到外部RAM去执行了。
初始化的内容可以用H-JTAG加载相应脚本,或者是让ADS的AXD加载初始化脚本。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

12
 
我突然发现这个问题我去年就遇到过,但是当时是因为把ncon拉高了。 而当时用的是1208 ,才出现那个问题,现在已经是1g08了,ncon确实要拉高,可是为什么还有这个问题呢??
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

13
 
rdi severe error 00602:can't halt and make it enter debug state
说明你的程序已经在跑了,所以不能停止,不能进入调试模式。
首先:确定你的板是从什么模式启动的。如果从nand启动,是否nand里面本身有程序?如果程序不正确,则IROM自拷备这段错误的程序后再运行,就会造成这种情况。
解决办法:换一片flash,或者改硬件,不要从nand启动。这时就能够通过HJTAG调试了。
出现这种情况有时通过JLINK可以解决问题,但是大多数情况下JLINK并不管用。修改2440的起动配置是一个好方法,最直接的就是换一片flash了。
进行仿真之前请确认已经有初始化程序
这里初始化无非就是对SDRAM初始化。如果SDRAM本身没有初始化,那么程序不可能在SDRAM里面跑起来。这时要想使用H-JTAG仿真,只有在ADS下将运行地址设置在SRAM中才行。
解决办法:在AXD中使用OB命令,运行一段*.ini的初始化程序,初始化SDRAM或者在AXD下配置运行起始代码,让进入AXD时自动运行一段config.txt程序,目的都是初始化SDRAM。方法三:自己编写一个初始化SDRAM的程序,生成*.bin文件,进入AXD后先引导该BIN文件,运行, 再停止,再导入你的boot程序。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街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
快速回复 返回顶部 返回列表