如何自定义添加基于FTDI的调试器
本帖最后由 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支持的调试器信息。
页:
[1]