5149|0

33

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

arm9处理器at91rm9200调试心得 [复制链接]

硬件环境:1>自制at91rm9200开发板
2>Multi ICE仿真器
软件环境:1>集成开发环境ADS1.2
2>仿真工具AXD

首先将BMS下拉,让CPU执行flash中的程序;假如BMS上拉执行跳'C'xmodem内部程序,那么程序中在ice仿真时PLL设置第一次将无效,重装axd之后才能正常 ARM开发论坛
不过假如flash中的程序不能让cpu正常工作,那么BMS下拉情况下的仿真axd始终提示[gliethttp]:
1."Target processor would not enter debug state when requested.Do you want to try asserting System Reset with a breakpoint on address 0?This will affect the other processor in a multi-processer system."
2."Fatal AXD Error::RDI Severe Error 00259:Unable to stop target processeor.Check the server configureation matches the target system,the target is powered up,not inreset and can operate at the TCK setting used."
在flash中有错误的程序或者flash空无程序的时候,AXD调试最好使用[BMS上拉执行跳'C'xmodem内部程序]方式,但是该方式下at91rm9200的PLL时钟始终为48054857Hz,假如startup启动程序试图改变PLL,那么at91rm9200内部整个PLL系统都会出现混乱,DBGU因为PLL时钟不准而不能正常输出数据,所以使用[BMS上拉执行跳'C'xmodem内部程序]方式时,不需要axd调试程序初始化PLL,PLL默认就已经被跳C内部代码初始化为48054857Hz了,这种内部跳C初始化的PLL并不会因为jtag复位或硬复位之类的复位而改变,就像9527是你的终身代号一样,48054857Hz就是跳C情况下调试程序PLL的终身代号. 字串8

正常的axd调试现象:
将能够正常运行的程序烧写到flash中[不要让cpu出现异常的程序],之后BMS下拉,这样正确的硬件仿真环境已经搭建完毕.
1.不论startup配置为什么PLL,即使和烧写到flash中的程序一样,当运行到while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) && (tmp

< DELAY_MAIN_FREQ) ); http://www.armforum.cn
这句时axd就会停止,当axd停止后,将axd关闭,重新再启动一次axd,或者"Reload current Image"
[在没有Command Line for non-ARM debugger jtag控cpu文件时{gliethttp}]那句就可以顺利通过,调试就ok了,这个现象对于at91rm9200来说是正常现象.
2.只有上面的这个现象才是正常的调试现象,否则可能是硬件存在问题.
3.假如运行axd全速运行之后,不能停下来,那么可能因为PC6脚作为IO口使用了,不知什么原因只要PC6和一个固定电平连接之后,程序读取flash时
ARM

就会永远退不出来,从文档上来看PC6的ASR外设为NWAIT总线等待信号,linux下s1d13xxxfb.c驱动中使用该nwait信号与外部控制芯片的总线进行
信号同步,但是有明确的ASR外设功能指配语句,nnd老子没有把PC6指定为ASR外设,也没有在其他地方找到对PC6赋值成ASR外设的语句,并且再n多
地方将PC6显式的指定为input-io类型,它就仍然死活不能操作flash,也不是完全不能操作flash,对于4字节数据的flash读取还是可以通过的
就是1字节flash数据读取操作,只要ldrb r2,[r0],#1读取外部flash语句一执行,cpu就永远回不来了,down掉了.用PC15代替PC6,把PC6悬空,flash操作ok. ARM开发论坛


小结:[gliethttp2007-07-12不过可能是因为我的板子jtag复位脚和cpu的nrst连接到了一起导致的上边的现象]一般在调试期间jtag的复位引脚应该和cpu的硬复位引脚独立分开,当调试阶段结束出厂生产时,再将jtag复位脚和cpu的复位脚连接在一起. ARM
点赞 关注
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表