7.1.CH347Demo软件使用说明
CH347Demo.exe软件在开发资源CH347EVT.ZIP压缩包中,解压后,以此打开:“\EVT\TOOLS\CH347Demo\Release”该路径下的文件夹,在“Release”文件夹内可以找到CH347Demo.exe。通过该软件基本能评估CH347F开发板的各项功能。该软件是开源软件,客户可根据需求,在此软件基础上开发自己的软件。
双击运行该软件可出现如图7.1.1-1所示的软件界面若设备列表中为空,说明电脑USB接口未接入CH347F开发板或未安装驱动程序。请按“5.安装驱动程序”章节内容安装好驱动程序后,采用USB转Type-C线,在电脑USB接口接入CH347F开发板,即可在图7.1.1-1所示软件界面设备列表中显示对应的设备名称。
在该软件界面中,SPI/I2CGPIO Debug标签页、Jtag Debug标签页和Flash/Eeprom Debug标签页对应Windows操作系统JTAG/SPI/I2C/GPIO驱动程序CH341PAR.EXE。在这三个标签页任意页面下,设备操作相同的地方:
(1)“设备列表”下对应的设备相同。若无设备信息,则,在确认USB接口连接号CH347F开发板后,单击“刷新设备列表”按钮,从设备下拉列表中选择包含JTAG/SPI/I2C/GPIO的设备即可。
(2)单击“打开设备”,界面显示如图7.1.1-2所示。在界面最下方输出信息显示区域显示“0002#17:27:00:792:: >>Open the device…Success”信息,说明打开设备成功。此时,打开设备按钮变灰不可用,关闭设备按钮可用。
(3)单击“关闭设备”按钮,显示“0003#17:30:16:782:: >>Close the Device”信息,说明关闭设备成功。
在该软件界面中,Uart Debug标签页对应Windows操作系统串口驱动程序CH343SER.EXE。在这三个标签页任意页面下,设备操作方法与其它4个标签页中的按钮类似。
在4个标签页右下角,都有一个“清空输出信息”的按钮。当单击此按钮时,该按钮上方紧邻的输出信息显示框内的文字会被情况。
7.1.1.SPI/I2C/GPIO Debug标签页功能
当CH347Demo软件启动后,默认打开和显示第一个标签页,即SPI/I2C/GPIO Debug标签页,该标签页内容详见图7.1.1-1所示。

在该标签页中主要包含SPI、I2C和GPIO口的操作。从图7.1.1-1界面中,可知,在没有打开设备之前,这3中接口的相关操作按钮基本都未灰色不可用状态。在单击“打开设备”按钮后,正常情况下,该界面显示效果如图7.1.1-2所示。

GPIO相关功能可以直接操作,SPI接口和I2C接口需要根据其特性,进行相关初始化配置,单击“初始化SPI(C0)”和“初始化I2C”按钮后,才可使用。也可使用两种接口的默认配置,直接单击对应初始化按钮,此时,SPI和I2C接口初始化按钮执行后效果详见图7.1.1-3所示。此时,可以根据CH347F开发板上SPI或I2C接口上接入的芯片或设备特性,执行相关读写命令。

7.1.2.Jtag Debug标签页功能
单击“Jtag Degug”标签,显示图7.1.2-1所示操作界面。该界面主要完成对JTAG接口功能的相关测试功能。

此时,大部分操作按钮处于灰色不可用状态,单击“打开设备”按钮成功后,显示如图7.1.2-2所示。

此时,“JtagConfig(D0)”按钮可用,其它JTAG操作按钮不可用,根据该开发板JTAG接口所接芯片的特性,设置好JTAG区域配置信息后,单击“JtagConfig(D0)”按钮后,显示图7.1.2-3所示,其它JTAG操作按钮可用。可以进行JTAG相关操作。

7.1.3.Uart Debug标签页功能
单击“Uart Debug”标签,显示图7.1.3-1所示串口调试界面。该界面用于测试CH347F开发板的两个串口通信功能。这个也可以采用第3方的串口调试助手实现。虽然该软件提供的功能相对比较简陋,但是,也可以使用。
在“设备列表”右侧下拉框中可以选择含“UART0”或“UART1”的设备,如图7.1.3-2所示。先选择含“UART0”的串口设备,单击打开设备后,该操作界面如图7.1.3-3所示。



再次双击CH347Demo.exe,再打开一个该软件操作界面,单击“Uart Debug”标签,选择含“UART1”的设备,单击“打开设备”后,显示操作界面如图7.1.3-4所示。

用杜邦线把该开发板上UART0和UART1上的TXD和RXD交叉互连(TXD接对方RXD,RXD接对方TXD)。
设置好波特率、校验位、停止位、数据位和字节超时参数后,单击“参数设置”按钮。输入串口写长度和读长度及其对应数据,数据只能用8位十六进制数字,1个数据长度代表1个8位数据。在这里建议不采用文件发送,仅采用十六进制发送进行测试,勾选“自动接收显示”,单击1次“写”按钮,发送一次,对方能自动显示己方发送的数据。该软件暂不支持循环发送。请选择自己属性的串口助手或沁恒公司提供的串口助手软件,比这个更好用。
图7.1.3-5和图7.1.3-6是115200bps波特率UART0和UART1间3字节收发测试。图7.1.3-7和图7.1.3-8是9Mbps波特率UART0和UART1间3字节收发测试。




7.1.4.Flash/Eeprom Debug标签页功能
单击“Flash/Eeprom Debug”标签,显示图7.1.4-1所示存储器操作界面。该界面提供对SPI接口的Flash芯片和I2C接口的EEPROM芯片进行读写的功能。

单击“打开设备”按钮,成功后,界面显示如图7.1.4-2所示。

根据开发板外接SPI接口FLASH参数后,单击“初始化SPI(C0)”按钮,成功后,界面显示如图7.1.4-3所示。SPI接口所有功能可用。可以对该Flash进行相关读写操作。
根据开发板外接I2C接口EEPROM参数后,单击“初始化I2C”按钮,成功后,界面显示如图7.1.4-3所示。可以对该Flash进行相关读写操作。

7.2.CH347FPGATool软件使用说明
在“4.6.4.OpenOCD调试和FPGA下载软件”章节下载的压缩包或github网页中,可以看到“CH347FPGATool”文件夹,在该文件夹中的“CH347FpgaDownloadTool.exe”就是该FPGA下载软件的使用说明。该软件未开源。
CH347FPGADownloader是一款专用于CH347的FPGA下载软件,结合OpenOCD开源项目实现。当前支持FPGA型号主要以Xilinx公司的FPGA芯片为主,其中具体型号如图7.2-1所示。

双击“CH347FpgaDownloadTool.exe”软件,该软件启动后操作界面如图7.2-2所示。该界面中个别按钮使用说明:
(1)“设备信息”用于动态显示CH347-JTAG接口插拔信息。
(2)“清屏”按钮用于清空当前黑色显示框中内容。
(3)“关于”按钮用于查看软件版本信息。
当电脑USB接口未接入CH347F开发板时,设备信息显示“当前无设备连接”。当连接好该开发板时,如图7.2-3所示,设备信息显示“设备已插入”。


下载设置说明:
(1)“选择FPGA型号”:在图7.2-4所示“选择FPGA型号”下拉框中选择本次进行操作的FPGA型号,该选择框可编辑,可根据输入内容进行支持列表匹配。

(2)“选择下载文件类型”:在图7.2-5所示“选择下载文件类型”下拉框中选择需要下载的文件类型。

1)BIT文件方式下载:此选择默认将BIT文件下载至FPGA RAM当中,且掉电丢失,上电需重新下载。
2)BIN文件方式下载:此选择默认将BIN文件下载至FPGA连接的FLASH当中,程序固化至FLASH,下载完毕后自动软件复位FPGA运行程序。
(3)选择硬件时钟:在图7.2-6所示“选择硬件时钟”下拉框中选择CH347作为JTAG接口的TCK时钟频率,此处默认10M、15M、30M设定,若需要其他频率可手动输入。

(4)选择下载文件:点击图“”根据当前下载方式来选择此次操作所需bit或bin文件,会默认记住此次选择文件路径,下次选择时进入该路径;
(5)下载:BIN下载方式下将显示下载进度条,下载完毕自动隐藏,选择BIN文件下载方式时也会自定显示下载进度条。
7.3.OpenOCD软件使用说明
# ch347
CH347是一款高速USB总线转接芯片,通过USB总线提供UART、I2C、SPI、JTAG等接口。
## JTAG调试/下载
本章节介绍如何在OpenOCD中添加CH347-JTAG接口,通过OpenOCD可操作CH347进行JTAG调试或下载应用。
## 为OpenOCD添加接口
OpenOCD增加CH347配置文件,用于型号识别,操作方式:
### 1、目录tcl/target下添加CH347.cfg设备文件
adapter driver ch347
ch347 vid_pid 0x1a86 0x55dd
adapter speed 10000
### 2、目录src/jtag/driver下添加ch347.c文件
此文件为设备驱动文件,提供JTAG core操作CH347的API接口函数
### 3、修改配置文件
**修改配置文件 configure.ac**
1、OpenOCD根目录下configure.ac文件,添加CH347接口驱动支持:
a. m4_define([USB1_ADAPTERS]中添加CH347接口
m4_define([USB1_ADAPTERS],
[[[ftdi], [MPSSE mode of FTDI based devices], [FTDI]],
[[ch347], [Mode 3 of the CH347 devices], [CH347]],
[[stlink], [ST-Link Programmer], [HLADAPTER_STLINK]],
[[ti_icdi], [TI ICDI JTAG Programmer], [HLADAPTER_ICDI]],
[[ulink], [Keil ULINK JTAG Programmer], [ULINK]],
[[usb_blaster_2], [Altera USB-Blaster II Compatible], [USB_BLASTER_2]],
[[ft232r], [Bitbang mode of FT232R based devices], [FT232R]],
[[vsllink], [Versaloon-Link JTAG Programmer], [VSLLINK]],
[[xds110], [TI XDS110 Debug Probe], [XDS110]],
[[cmsis_dap_v2], [CMSIS-DAP v2 Compliant Debugger], [CMSIS_DAP_USB]],
[[osbdm], [OSBDM (JTAG only) Programmer], [OSBDM]],
[[opendous], [eStick/opendous JTAG Programmer], [OPENDOUS]],
[[armjtagew], [Olimex ARM-JTAG-EW Programmer], [ARMJTAGEW]],
[[rlink], [Raisonance RLink JTAG Programmer], [RLINK]],
[[usbprog], [USBProg JTAG Programmer], [USBPROG]],
[[aice], [Andes JTAG Programmer], [AICE]]])
b. AC_ARG_ENABLE 部分,添加内容如下:
AC_ARG_ENABLE([ch347],
AS_HELP_STRING([--enable-ch347], [Enable building support for CH347]),
[build_ch347=$enableval], [build_ch347=no])
c. AS_IF 部分,添加内容如下:
AS_IF([test "x$build_ch347" = "xyes"], [
AC_DEFINE([BUILD_CH347], [1], [1 if you want CH347.])
], [
AC_DEFINE([BUILD_CH347], [0], [0 if you don't want CH347.])
])
d. AM_CONDITIONAL 部分,添加内容如下:
AM_CONDITIONAL([CH347], [test "x$build_ch347" = "xyes"])
**修改src/jtag/interfaces.c*
a. 添加编译选项
#if BUILD_CH347 == 1
extern struct adapter_driver ch347_adapter_driver;
#endif
b. 在jtag接口列表结构体adapter_drivers中添加,此处由配置脚本来启用对应接口驱动
#if BUILD_CH347 == 1
&ch347_adapter_driver,
#endif
**修改/src/jtag/drivers/Makefile.am**
a. 添加编译支持
if CH347
DRIVERFILES += %D%/ch347_jtag.c
endif
### 4、编译方法
**使用cygwin进行编译**
a. 执行./bootstrap
b. 执行./configure --prefix=/home/OpenOCD/CH347 --enable-ch347 --host=i686-w64-mingw32 CFLAGS='-g -o0'
c. 执行make install
d. 编译成功时/home/OpenOCD/CH347文件夹下会生成目标文件,其中bin目录下为OpenOCD可执行文件。
最后编辑:谭鹏超 更新时间:2024-01-25 21:17