侧边栏壁纸
博主头像
李振洋的博客博主等级

歌颂动荡的青春

  • 累计撰写 38 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

FT232HのJTAG调试器

FT232HのJTAG调试器

FT232H是一颗高速单通道USB UART / FIFO 芯片

这款高速单通道桥接芯片以USB高速(每秒480兆位)速率运行,具有灵活的串行接口或并行FIFO接口, 数据传输速率高达每秒40兆字节。使用串行EEPROM接口,该设备可以被配置成为各种异步和同步串行标准, 例如JTAG、SPI、I2C和UART以及同步和异步并行FIFO接口。

OpenOCD(Open On-Chip Debugger)开源片上调试软件

用于调试、编程和测试嵌入式系统,支持多种调试硬件和接口(如 JTAG 和 SWD)。

因此,可以通过OpenOCD+FT232H对多种架构的芯片进行调试。

准备材料

FT232H FTDI - FT232H (ftdichip.cn)

OpenOCD源码 Releases · openocd-org/openocd (github.com)

MSYS2 MSYS2

FT_Prog FTDI 实用工具 (ftdichip.cn)

Zadig Zadig - USB driver installation made easy (akeo.ie)

OpenOCD编译

在OpenOC官方仓库有Windows发行版,但更新缓慢。最新的源码通常会修复很多bug和增加支持更多设备,为了使用最新的,可以自己编译源码。

安装MSYS2

MSYS2 参考官方安装教程

为MSYS2添加镜像源

vim /etc/pacman.d/mirrorlist.mingw32
Server = https://mirrors.tuna.tsinghua.edu/msys2/mingw/i686/

vim /etc/pacman.d/mirrorlist.mingw64 
https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/

vim /etc/pacman.d/mirrorlist.msys
https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch

也可以直接找到文件,添加。在msys2安装目录下的\etc\pacman.d

使用MSYS2 MINGW64编译OpenOCD

安装依赖

# 更新系统文件
pacman -Syuu

# 安装依赖关系
pacman -S libtool autoconf automake texinfo pkg-config make autogen git unzip bzip2 base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-libusb mingw-w64-x86_64-libusb-compat-git mingw-w64-x86_64-hidapi mingw-w64-x86_64-libftdi mingw-w64-x86_64-arm-none-eabi-gcc mingw-w64-x86_64-capstone

# 克隆代码
git clone https://git.code.sf.net/p/openocd/code  openocd

# 进入目录
cd openocd
# OpenOCD,启动
./bootstrap

mkdir openocd-build
cd openocd-build
../configure --enable-ftdi

# 编译与安装
make && make install

# 查看编译后 openocd.exe 位置
whereis openocd                 # openocd: /mingw64/bin/openocd.exe

# 查看编译 openocd 相关配置文件位置
find / -name openocd            # /mingw64/share/openocd

打包OpenOCD

通过sh脚本

#! /bin/bash

OBJ_DIR=openocd

rm -rf ${OBJ_DIR}
mkdir ${OBJ_DIR}
mkdir ${OBJ_DIR}/bin
mkdir ${OBJ_DIR}/share

# 复制主程序
cp /mingw64/bin/openocd.exe     ${OBJ_DIR}/bin/
# 复制一些依赖 DLL 文件
cp /mingw64/bin/libcapstone.dll ${OBJ_DIR}/bin/
cp /mingw64/bin/libftdi1.dll    ${OBJ_DIR}/bin/
cp /mingw64/bin/libhidapi-0.dll ${OBJ_DIR}/bin/
cp /mingw64/bin/libusb-1.0.dll  ${OBJ_DIR}/bin/

# 复制配置文件
cp /mingw64/share/openocd       ${OBJ_DIR}/share/  -r
# 打 zip 包
zip -r ${OBJ_DIR}.zip           ${OBJ_DIR}/

需要提前安装git和zip

FT232H设置以及添加驱动

FT_Prog 将FT232H设置为D2XX模式,D2XX 模式允许用户直接访问 FTDI 芯片的功能。

Zadig为FT232H添加驱动

OpenOCD测试

FT232HJTAG的引脚号

对于 SWD 接口使用 interface/ftdi/ft232h-module-swd.cfg

对于 JTAG接口使用 -f interface/jlink.cfg

给ESP32烧录程序

给stm32f103烧录程序

连接RP2040

OpenOCD配置文件cfg

OpenOCD流程,首先创建并编写后缀为cfg的配置,通过控制台或者IDE使用该cfg文件中的配置指令将程序下载到芯片里

刷写Digilent JTAG-SMT2

Digilent JTAG-SMT2适用于 Xilinx 现场可编程门阵列 (FPGA)

使用DigilentFTDIConfig.exe

0

评论区