打印
[微控制器/MCU]

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

[复制链接]
1202|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Chocore|  楼主 | 2012-3-26 10:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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. 修改transactionmaskvalue参数值
基于FTDI FT2232的调试器,都使用了FTDI芯片的MPSSE模式。这个模式使用芯片的Channel AChannel A8 + 4IO 除了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时,TMSTDOTDITCKJTAG_EN等位的设置与1)相同,复位信号控制IO设置为输出,并输出有效信号。点亮一些状态灯。

4)Busy transaction时,一般是亮一个busy灯,TMSTDOTDITCKJTAG_EN等位的设置与1)相同。

二、向CoIDE添加基于FTDI的调试器
由于
CoIDE的下载调试功能与CoFlash不同,如直接添加,界面中不会出现调试器选项。


用户修改已有调试器的maskvalue参数,选择该调试器作为替代即可。

请您在下载和调试测试成功后将XML文件发送到Master@coocox.com,我们会添加相应调试器的支持,方便更多用户使用。

点此访问更多CoIDE支持的调试器信息

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

16

帖子

2

粉丝