在线升级CPLD程序,遇到不能重复升级两次的问题。
各位好:我现在用Intel 的一款CPU上的几个IO口模拟一个Jtag,对端连在CPLD Jtag控制器上。
port了 Altera的 Jam STAPL Player程序,Linux系统。
现在能够实现Linux系统下通过CPU在线升级CPLD,但是遇到一个问题,只能升级一次,如果系统不重启,第二次就无法升级,返错为“Unrecognized Device ...”,不知道各位有遇到这种问题么?
我对Jtag时序不是很懂,完全是凑合着能用。Altera的 Jam STAPL Player实现有点复杂,tap状态机写在一个函数里,2300多行,实在不好分析。而且我也不怀疑是人家的程序有问题。
是不是我在第一次升级完成之后,对Jtag的复位不到位?
各位有什么看法,请多指教,搞了好几天了,毫无头绪。。。。
多谢。 JTAG复位非常简单,直接对TMS写1,写1个字节就到复位了(最多只需要5个比特,但是写1个字节比写5个比特更方便)。 wye11083 发表于 2013-2-28 00:38 static/image/common/back.gif
JTAG复位非常简单,直接对TMS写1,写1个字节就到复位了(最多只需要5个比特,但是写1个字节比写5个比特更方 ...
复位是成功了,因为升级完成后,已经跑的是新程序了。
只是不掉电就不能第二次升级,不知道哪里拉住了。
硬件上就是CPU的4个IO管脚,在升级完成之后,我把这4个IO Disable了。 yuanyangliu 发表于 2013-2-28 08:45 static/image/common/back.gif
复位是成功了,因为升级完成后,已经跑的是新程序了。
只是不掉电就不能第二次升级,不知道哪里拉住了。
...
你把CPLD的这4个管脚DIS了?这样肯定不行。DIS CPU的控制脚也不行。重新启用,然后复位JTAG,我说的TMS为1是复位JTAG,不是复位CPLD或CPU! wye11083 发表于 2013-2-28 09:00 static/image/common/back.gif
你把CPLD的这4个管脚DIS了?这样肯定不行。DIS CPU的控制脚也不行。重新启用,然后复位JTAG,我说的TMS为 ...
我是复位完了Jtag之后,把CPU用来模拟Jtag的那4个pin给Disable了。
Jtag复位过程是正常完成的。 解决了。
每次升级之前,把Jtag复位一遍。 楼主,你好
我现在也在研究关于CPLD的在线升级问题,遇到点问题
看到你已经成功移植了,想向你请教下!
sara-he 发表于 2013-4-5 21:06 static/image/common/back.gif
楼主,你好
我现在也在研究关于CPLD的在线升级问题,遇到点问题
看到你已经成功移植了,想向你请教下!
哎呀,来晚了。你遇到什么问题,在这里说吧。 yuanyangliu 发表于 2013-7-24 15:42 static/image/common/back.gif
哎呀,来晚了。你遇到什么问题,在这里说吧。
谢谢!已经解决了。。好久没来阿莫了,现在开始研究zigbee了,希望以后能多交流
页:
[1]