今天上午同学告诉我板卡JTAG一直连不上,出现的一个之前没有见过的错误,必须要找问题,正好把JTAG好好学一遍。自己实验室是采用那种简单的方式,一个板卡一个JTAG头,并且板卡CPU与JTAG头的距离也在6英寸内,所以不会有多连接与缓冲器的问题。
JTAG target devices support
emulation through a dedicated emulation port.This port is a
superset of the IEEE 1149.1
standard and is accessed by the emulator. To communicate
with the emulator, your target system must have a 14-pin header (two rows of seven pins) with
the connections that are shown in Figure 1–1. Table 1–1 describes
the emulation signals.
Figure 1–1.
14-Pin Header Signals and Header Dimensions
Table 1–1.14-Pin Header Signal
Descriptions
JTAG Emulator Cable Pod
Logic
Figure 1–2 shows a portion of the emulator cable pod. These
are the functional features of the pod:
Signals TDO and TCK_RET can be parallel-terminated inside
the pod if required by the application. By default, these signals
are not terminated.
Signal TCK is driven with a 74LVT240 device. Because of the
high-current drive (32 mA IOL/IOH), this signal can be
parallel-terminated. If TCK is tied to TCK_RET, then you can use
the parallel terminator in the pod.
Signals TMS and TDI can be generated from the falling edge
of TCK_RET,according to the IEEE 1149.1 bus slave device timing
rules.
Signals TMS and TDI are series-terminated to reduce signal
reflections.A 10.368-MHz test clock source is provided. You may
also provide your own test clock for greater
flexibility.
Figure 1–2. JTAG Emulator Cable Pod
Interface
遇到的问题:
Can\'t Initialize Target CPU:
Error
0x80000240/1031Fatal Error during:
initialion,OCS
Device driver: Problem with the Emulation Control
It is recommended to reset Emulator This will disconnect each
target from the Emulator. The target should then be power cycled or
hand reset followed by an emureset and reconnet to each
target.
这类错误之前第一次遇见,给出的信息太少,只知道仿真器控制部分有问题;按照建议用SEED提供的仿真器复位软件复位后还是出现同样的问题。把仿真器驱动卸了重装还是出现这样的问题,不得不让我怀疑是不是仿真器坏了,替换仿真器也出现一样的效果,把原来的仿真器用在另外一个板子上面一切正常,甚至怀疑是那电脑里面CCS软件出问题了。
最后发现是因为板卡里面烧入了程序,TMS拉低之后,很快又给拉高了,使得板子停在目标板模式。
解决方法:在CCS出现错误图标之后,复位板子,同时按下retry键,这个貌似也是避开板子自启的某个过程,某个阶段不再拉高TMS。
但是现在依然不知道什么原因,因为这次只给板卡烧了一个简单的BIOS程序,之前也烧过其他的程序,烧其他的程序之后还是能进入仿真环境CCS。