如何自定义添加基于FTDI的调试器

来源:互联网 发布:按网络的覆盖区域分为 编辑:程序博客网 时间:2024/06/14 06:12

很多调试器都使用了FTDI FT2232 或者类似的芯片做为主控芯片。CooCox用户可以自定义基于FT2232 的调试器。

 

在CoIDE 和CoFlash 安装后的目标文件夹中,有一个配置调试器的文件夹\config\adapter。自定义调试器需要对该文件夹下的文件做适当修改。

 

一、向CoFlash添加基于FTDI的调试器

以调试器Turtelizer2为例:

 

1. 在adapterlist.xml 文件中添加行

<adaptername="Turtelizer2 "   config="Turtelizer2.xml"/>

 

2. 复制icdi.xml并重命名为Turtelizer2.xml

 

3. 修改文件中的调试器名称为Turtelizer2,修改厂商名

此时CoFlash的调试器选项中已能看到添加的Turtelizer2(如下图)。

 

要让调试器在CoFlash正常工作,还需要进行最后一步。

注意:CooCox目前只支持FTDI调试器的JTAG调试,SWD调试暂不支持。

 

4. 修改transactionmaskvalue参数值

基于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,我们会添加相应调试器的支持,方便更多用户使用。感谢您的支持和贡献!

 

更多CooCox软件支持的调试器信息,请访问:

http://www.coocox.org/CN/CooCox_CoIDE.html & http://www.coocox.org/CN/CoFlash_Programmer.htm