华强电子网

电子元器件
采购信息平台

扫码下载
手机洽洽

  • 华强电子网公众号

    电子元器件原材料

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强微电子公众号

    专注电子产业链

    坚持深度原创

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业小灵通

arm9退出JTAG模式

来源:华强电子网 作者:华仔 浏览:643

标签:

摘要: 问题:将程序通过JTAG下载到ARM9的内存里,然后让程序运行起来。现在遇到一个问题,就是我上电以后如果先打开AXD,再关掉AXD,再运行我的程序,代码下载和运行都正常,但是如果我上电后直接运行我的程序,代码就运行不正常,跑的就是FLASH里的程序里,感觉象是芯片重新上电启动了一下,但是监视系统,没有给他硬件RESET信号答:1.这情况可能是是ADX调试器设置的问题,可能设置成下载到RAM执行,而

问题:将程序通过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芯片的资料看看有没有相关寄存器。



技术资讯 技术方案 技术应用 技术新品 技术前沿 行业资讯 行业方案 行业应用 行业新品 行业前沿
型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67