本帖最后由 Chocore 于 2012-3-26 11:24 编辑
很多调试器都使用了FTDI FT2232 或类似芯片做为主控芯片。CooCox用户可以自定义基于FT2232 的调试器。
在CoIDE 和CoFlash 安装后的目标文件夹中,有一个配置调试器的文件夹\config\adapter。自定义调试器需要对该文件夹下的文件做适当修改。
一、向CoFlash添加基于FTDI的调试器
以调试器Turtelizer2为例:
1. 在adapterlist.xml 文件中添加行
<adapter name="Turtelizer2 " config="Turtelizer2.xml"/>
2. 复制icdi.xml并重命名为Turtelizer2.xml
3. 修改文件中的调试器名称为Turtelizer2,修改厂商名
此时CoFlash的调试器选项中已能看到添加的Turtelizer2(如下图)。
要让调试器在CoFlash正常工作,还需要进行最后一步。
注意:CooCox目前只支持FTDI调试器的JTAG调试,SWD调试暂不支持。
4. 修改transaction的mask和value参数值
基于FTDI FT2232的调试器,都使用了FTDI芯片的MPSSE模式。这个模式使用芯片的Channel A,Channel A有8 + 4个IO。 除了TMS, TDI, TDO, TCK外,其他IO有的对应使能/禁能控制信号,有的控制LED灯的亮/灭,不同调试器使用的IO也不同。
transaction中,mask用来设置IO的方向, 1为输出,0为输入。每一位对应一个IO。
|
|
|
| Bit 11
| 10
| 9
| 8
|
|
|
|
| ACBUS3
| ACBUS2
| ACBUS1
| ACBUS0
|
|
|
|
|
|
|
|
| 7
| 6
| 5
| 4
| 3
| 2
| 1
| Bit 0
| ADBUS7
| ADBUS6
| ADBUS5
| ADBUS4
| ADBUS3
| ADBUS2
| ADBUS1
| ADBUS0
|
|
|
|
| TMS
| TDO
| TDI
| TCK
|
其他引脚的功能请参见该调试器的相关手册。
1)Open transaction时,低4位设置如下表:
| ADBUS3
| ADBUS2
| ADBUS1
| ADBUS0
| 功能
| TMS
| TDO
| TDI
| TCK
| 方向(mask)
| 1
| 0
| 1
| 1
| 初始值(value)
| 0
| 0
| 0
| 0
|
此外,还需使能JTAG_EN,控制部分状态灯点亮,使复位信号控制位无效。
2)Close transaction时,禁能JTAG_EN,设置其他位为输入态。
3)Reset transaction时,TMS,TDO,TDI,TCK,JTAG_EN等位的设置与1)相同,复位信号控制IO设置为输出,并输出有效信号。点亮一些状态灯。
4)Busy transaction时,一般是亮一个busy灯,TMS,TDO,TDI,TCK,JTAG_EN等位的设置与1)相同。
二、向CoIDE添加基于FTDI的调试器
由于CoIDE的下载调试功能与CoFlash不同,如直接添加,界面中不会出现调试器选项。
用户修改已有调试器的mask和value参数,选择该调试器作为替代即可。
请您在下载和调试测试成功后将XML文件发送到Master@coocox.com,我们会添加相应调试器的支持,方便更多用户使用。
点此访问更多CoIDE支持的调试器信息。 |