打印

坛子里有人做过JTAG下载或则通过JTAG控制ARM的IO口么

[复制链接]
1444|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiyu75|  楼主 | 2012-9-7 15:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
阿南| | 2012-9-7 15:36 | 只看该作者
你是想利用PC机通过JTAG下载烧写程序吗?还是有另外的处理器通过JTAG控制ARM处理器更新程序以达到IO口控制的目的?

使用特权

评论回复
板凳
jiyu75|  楼主 | 2012-9-7 15:45 | 只看该作者
是这样的 我们要做的东西是通过JTAG将 程序下载到 ARM的内存中并让他跑起来,但是我们程序执行起来遇到一个问题  就是如果我先打开AXD ,再执行我的下载程序,一切OK。程序正确下载并运行正常。
但是  如果我直接跑我的程序  内存跑起来的就不是我的程序拉  而是ARM内部固有的程序 我们判断是系统不知道是怎么回事情被RESET拉
而AXD事先做了什么工作让他不被RESET
所以我们怀疑 是 外部 IO要事先 做设置 ,也就是RESER脚要事先置好,
但是不知道怎么回事情,我们选择扫描链0以后,读数据寄存器读出来的数据全不对,移位进去的数据也不对。
不知道能不能给点建议

使用特权

评论回复
地板
阿南| | 2012-9-7 17:17 | 只看该作者
此时你可以将你调试的代码下载到ARM,主要是更新ARM刚开始的那段启动代码,这样你一上电基本上运行的就是你的调试代码部分。那些IO、内存都已经配置正确了。

使用特权

评论回复
5
airwill| | 2012-9-8 07:20 | 只看该作者
如果我直接跑,内存跑起来的就是ARM内部固有的程序
所以应该修改固化的程序. 才能保证上电就运行你自己的程序.

使用特权

评论回复
6
xinzha| | 2012-9-8 13:22 | 只看该作者
用jtag时,axd拥有cpu的全部控制权,所以只要你指定了正确的entry并且链接正确的话,跑的就是你的程序。而如果不用jtag和ide的话,arm的程序一般就是从默认0地址开始,这个地址可能就是你的目标板上已有的固化的程序的入口。去了解下仿真器的原理就明白了。

使用特权

评论回复
7
jiyu75|  楼主 | 2012-10-9 10:17 | 只看该作者
我们在退出DEBUG模式的时候,会将PC指定到我需要开始执行的地址,这个指定过程应该是正确的,因为我先调用AXD,再关闭。执行就OK的。而且如果我没有接管JTAG,我下载程序到内存里是不可能成功的。我们是事先通过JTAG下载程序,在用AXD看的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

44

帖子

2

粉丝