我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1165|回复: 0

arm9退出JTAG模式-嵌入式

[复制链接]

该用户从未签到

1万

主题

1292

回帖

936

积分

管理员

积分
936

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-7-30 19:00:56 | 显示全部楼层 |阅读模式
问题:将程序通过JTAG下载到ARM9的内存里,然后让程序运行起来。现在遇到一个问题,就是我上电以后如果先打开AXD,再关掉AXD,再运行我的程序,代码下载和运行都正常,但是如果我上电后直接运行我的程序,代码就运行不正常,跑的就是FLASH里的程序里,感觉象是芯片重新上电启动了一下,但是监视系统,没有给他硬件RESET信号答:1.这情况可能是是ADX调试器设置的问题,可能设置成下载到RAM执行,而不是在调试前烧写flash问题进一步描述:,我编的程序是不需要AXD的,也就是自己一个应用程序将一段代码下载到ARM的内部RAM里,然后让他运行起来。但是程序直接运行程序就是跑不起来。除非,我先打开AXD,什么都不干,然后把AXD关掉,再运行我的程序,我的程序就能正常工作拉。不知道AXD做了什么,这个工作我没有做,造成ARM从DEBUG模式退出到正常模式下“重新REST“了一下答:没看明白是怎么回事。你把程序下载到ARM内部的RAM里?上电后直接跑程序跑不起来?RAM里的东西掉电后就没了呀,上电直接跑什么呢?上电后RAM没东西,也没有连AXD,当然是跑FLASH里的程序了,为啥不把程序下载到Flash里?问题进一步描述:流程是这样的: 上电 PC程序 通过 JTAG 首先让 ARM 进入DEBUG模式,然后把FIRMWARE下载到 ARM的内部RAM中,然后指定正确的PC值,再让 ARM 退出DEBUG模式,如果操作正常的话,FIRMWARE应该能正常跑起来。但是我下载的FIMWARE没有正常跑起来,而是跑的ARM外接的FLASH的程序,也就是ARM在退出DEBUG模式的时候被RESET拉,ARM又重新BOOT了一次,我下载的东西被冲掉拉。 但是,我如果按照下面这样操作,我下载的FIRMWARE就能正确运行 上电,打开AXD,然后关闭AXD,PC程序通过 JTAG 首先让 ARM 进入DEBUG模式,然后把FIRMWARE下载到 ARM的内部RAM中,然后指定正确的PC值,再让 ARM 退出DEBUG模式,我下载的FIMWARE就能正确运行起来。 这个问题卡了一个月拉,不知道少做了什么工作。ARM是 ARM926EJ-S。答:感觉上像启动模式问题。硬件设计是按照flash启动设计的吧。当连接有JTAG的时候,ARM进入调试模式,退出JTAG调试模式的时候就继续从flash启动了。打开AXD再关闭AXD应该是配置了ARM芯片的启动模式的某些寄存器吧,没掉电的情况下寄存器有效,就按照你设置好的方式运行了。楼主可以查查ARM芯片的资料看看有没有相关寄存器。
回复

使用道具 举报

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

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表