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所示。

图7.1.1-1 CH347Demo软件SPI/I2CGPIO Debug标签界面

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

图7.1.1-2 CH347Demo软件SPI/I2CGPIO Debug标签页打开设备

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

图7.1.1-3 CH347Demo软件SPI/I2CGPIO Debug标签激活SPI读写按钮

7.1.2.Jtag Debug标签页功能

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

图7.1.2-1 CH347Demo软件Jtag Debug标签操作界面

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

图7.1.2-2 CH347Demo软件Jtag Debug标签打开设备后界面

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

图7.1.2-3 CH347Demo软件Jtag Debug标签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所示。

图7.1.3-1 CH347Demo软件Uart Debug标签操作界面
图7.1.3-2 CH347Demo软件Uart Debug标签设备列表选择
图7.1.3-3 CH347Demo软件Uart Debug标签页打开UART0设备

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

图7.1.3-4 CH347Demo软件Uart Debug标签页打开UART1设备

用杜邦线把该开发板上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.3-5 UART1设备115200bps收发数据
图7.1.3-6 UART0设备115200bps收发数据
图7.1.3-7 UART0设备9Mbps收发数据
图7.1.3-8 UART1设备9Mbps收发数据

7.1.4.Flash/Eeprom Debug标签页功能

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

图7.1.4-1 Flash/Eeprom Debug操作界面

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

图7.1.4-2 Flash/Eeprom Debug打开设备的操作界面

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

图7.1.4-3 Flash/Eeprom Debug初始化后的操作界面

7.2.CH347FPGATool软件使用说明

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

图7.2-1 CH347FPGATool软件支持的Xilinx公司FPGA型号

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

图7.2-2 CH347FPGATool软件启动后未连接设备界面
图7.2-3 CH347FPGATool软件启动后连接好设备界面

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

图7.2-4 CH347FPGATool软件选择FPGA型号

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

图7.2-5 CH347FPGATool软件选择下载文件类型

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

图7.2-6 CH347FPGATool软件选择硬件时钟

(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 20:26
最后编辑:谭鹏超  更新时间:2024-01-25 21:17