FT2232作为JTAG烧录器的使用步骤详解

news2024/11/15 21:35:06

FT2232作为JTAG烧录器的使用步骤详解

  • FT2232作为JTAG烧录器的使用步骤详解
    • 配置OpenOCD环境(已经配置好的可以跳过)
      • 【步骤 1】安装 FT2232HL 芯片的驱动,安装文件为 CDM21228_Setup.exe。
      • 【步骤 2】 安装 FT_Prog_v3.6.88.402 Installer.exe
      • 【步骤 3】 使用 FT Prog 软件修改 FT2232HL 芯片的 BDBUS 驱动方式,并烧录到板载的 EEPROM
      • 【步骤 4】 解压 openocd-20211118.7z 压缩文件
      • 【步骤 5】 配置OpenOCD环境变量。
      • 【步骤 6】 使用 openOCD.exe 命令行方式进行测试
    • 使用OpenOCD为芯片下载程序:
      • 【步骤 1】 将FT2232连接到需要下载的芯片引脚上
      • 【步骤 2】将*.hex文件放入outputfile文件夹
      • 【步骤 3】连接FT2232H到电脑并烧录程序

FT2232作为JTAG烧录器的使用步骤详解

本篇文章为Makerbase DRG系列开发板之FT2232H开发板使用的配套文字教程。
教程安装环境:64位win10系统。

配置OpenOCD环境(已经配置好的可以跳过)

【步骤 1】安装 FT2232HL 芯片的驱动,安装文件为 CDM21228_Setup.exe。

在安装驱动时,板子不需要连接到电脑。(用户可以到 FTDI 公司的官网下载更新的驱动安装文件。链接如下: http://www.ftdichip.com/Drivers/VCP.htm。(建议下载可执行的安装包。网页上的提示:“WHQL Certified. Includes VCP and D2XX. Available as a setup executable. ”)
在安装好驱动后,使用 USB 线连接 FT2232HL 板,在设备管理器可看到:
在这里插入图片描述

此时系统已经多了两个串口。串口号不一定为 COM6 和 COM7。另外:
USB Serial Converter A 对应着 FT2232HL 芯片的 ADBUS。
USB Serial Converter B 对应着 FT2232HL 芯片的 BDBUS。

【步骤 2】 安装 FT_Prog_v3.6.88.402 Installer.exe

该应用程序可将配置参数烧录到板子上的 EEPROM。安装完成后,运行该程序,并将板子连接到 USB 接口,然后使用 F5 快捷键搜索与分析设备。
(软件的详细使用说明,可参考:AN_124_User_Guide_For_FT_PROG.pdf)。
执行搜索与分析设备后的界面如下图:
在这里插入图片描述

【步骤 3】 使用 FT Prog 软件修改 FT2232HL 芯片的 BDBUS 驱动方式,并烧录到板载的 EEPROM

相应地、如需使用 ADBUS 作为 JTAG,那就修改 Port A 的驱动方式。因为在加上塑料外壳之后,该板的 BDBUS 作为输出接口,所以在此只示例 Port B 这 种方式。以此类推过去就可以了,后面还有些设置也是类似的。
完成之后如下图所示:
在这里插入图片描述

【步骤 4】 解压 openocd-20211118.7z 压缩文件

(记住这个解压路径,下一步要用。)
里面是已经编译后的可以在 WIN10 下使用的 openOCD 程序,以及其他相关的程序与文件。运行程序openocd-20211118.7z\drivers\UsbDriverTool.exe:
在这里插入图片描述
修改 USB Serial Converter B 设备的驱动类型:
在这里插入图片描述

【步骤 5】 配置OpenOCD环境变量。

  1. 找到解压后的文件路径,将其复制(最好使用Ctrl+A全选复制,防止遗漏)。
  2. 打开设置,在搜索框中输入“高级系统配置”并打开
  3. 在打开的窗口中,选择“环境变量”在这里插入图片描述
  4. 在打开的新窗口中,找到系统变量,选择“Path”,鼠标双击打开
    在这里插入图片描述
  5. 选择“新建”
    在这里插入图片描述
  6. 粘贴刚刚复制的路径,点击确定
    在这里插入图片描述

【步骤 6】 使用 openOCD.exe 命令行方式进行测试

  1. 需要编写一个脚本文件ftdi.cfg。并将其到…\OpenOCD-20211118-0.11.0\bin 目录下。文件内容如下所示,各行含义请参看文档 openocd.pdf
#
# FT2232HL for openOCD Device
#
# According to the sch file, it uses BDBUS.
#
interface ftdi
ftdi_vid_pid 0x0403 0x6010
# ftdi_channel 0 is port ADBUS, ftdi_channel 1 is port BDBUS.
ftdi_channel 1
transport select jtag
adapter_khz 1000
ftdi_layout_init 0x00F8 0x00fb
ftdi_layout_signal nSRST -oe 0x0040
ftdi_layout_signal ntRST -oe 0x0010

  1. 执行命令行: openocd -f ftdi.cfg
    在没有外接带 JTAG 接口的 MCU 板子时,返回错误与警告信息如下图:
    (使用 Ctrl + C 退出)。
    在这里插入图片描述
  2. 在连接上带 JTAG 接口的 MCU (示例使用 STM32F103RET6)板子时,执行命令行:
openocd -f ftdi.cfg 

返回的信息如下图:
在这里插入图片描述
这时还是有警告信息,不过已经可以说明能够连接到 MCU。至此,OpenOCD配置的前期准备工作已经完成,可以使用OpenOCD为STM32芯片下载 .hex 文件。

使用OpenOCD为芯片下载程序:

【步骤 1】 将FT2232连接到需要下载的芯片引脚上

本教程使用JTAG下载,芯片型号为STM32F103C8T6,接线方式如下:
在这里插入图片描述
在这里插入图片描述
JTAG模式:

引脚名称颜色
1VDD
3TRST----PB4
5TDI----PA15
7TMS/SWDIO----PA13
9TCK/SWCLK----PA14绿
13TDO\SWO----PB3
15RESET----NRST

【步骤 2】将*.hex文件放入outputfile文件夹

在这个目录…\OpenOCD-20211118-0.11.0\share\openocd\scripts下新建一个文件夹,命名为outputfile,在文件夹中放入要烧写的hex文件,并命名为origin.hex。
在这里插入图片描述

【步骤 3】连接FT2232H到电脑并烧录程序

将FT2232H开发板连接到电脑,打开“命令提示符”窗口,输入命令:
(target中的 .cfg 文件根据芯片型号的不同选择不同的脚本文件)
openocd -f ftdi.cfg -f"target/stm32f1x.cfg" -c “program outputfile/origin.hex” -c reset -c shutdown
程序烧录成功,显示以下内容:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108203.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模型实战一之YOLOv7实例分割、模型寻来自己数据集

模型实战一之YOLOv7实例分割、模型训练自己数据集 1.环境准备 下载yolov7实例分割模型: git clone https://github.com/WongKinYiu/yolov7.git -b mask yolov7-maskcd yolov7-mask安装环境 #查看已安装环境 conda info --envs #查看安装了哪些包 conda list#创建…

神奇的线性表(链表)

目录 神马是链表 链表的分类 单向链表 链表的常用操作 查找操作 插入操作 删除操作 链表与数组 数组的插入 数组的删除 链表的应用 尾声 神马是链表 记得很久很久以前…我们学习过数组, 数组是在内存中一段连续的存储空间, 可以在常数时间内访…

逻辑分析仪解析SPI数据

工具为梦源逻辑分析仪,本次测试的是ST7789v屏幕驱动 接线方面一共需要三根线(MOSI,SCL,GND) SCL PA5 MOSI PA7 DSView上位机配置 通道按照接线选择,这个一定要对应上 COPL CPOH按照SPI实际配置来&#x…

生成模型(四):扩散模型(Diffusion Models)

本文大纲如下: 生成模型种类 到目前为止,我已经写了三种类型的生成模型,[[生成模型-GAN]]、[[生成模型-VAE]]和[[生成模型-Flow based model]]。 它们在生成高质量样本方面显示出巨大的成功,但每一种都有其自身的一些局限性。下…

基于Python的GUI图形用户界面编程

【无限嚣张(菜菜)】:hello您好,我是菜菜,很高兴您能来访我的博客,我是一名爱好编程学习研究的菜菜,每天分享自己的学习,想法,博客来源与自己的学习项目以及编程中遇到问题…

非零基础自学Golang 第17章 HTTP编程(上) 17.2 HTTP客户端 17.2.4 发起POST请求

非零基础自学Golang 文章目录非零基础自学Golang第17章 HTTP编程(上)17.2 HTTP客户端17.2.4 发起POST请求第17章 HTTP编程(上) 17.2 HTTP客户端 17.2.4 发起POST请求 在上一小节我们使用了http.NewRequest来创建一个请求,http.NewRequest有三个参数,第…

web前端-javascript-String字符串的相关方法

文章目录字符串的相关方法1. 底层字符串保存2. 方法1) length 属性 获取长度2) charAt() 获取指定字符3) chartCodeAt() 获取指定字符编码4) String.formCharCode() 根据编码获取字符5) concat() 连接字符串6) indexOf() 是否含有指定内容7) lastIndexOf() 是否含有指定内容8) …

哈斯机床联网

一、设备信息确认 1、确认型号 哈斯的数控面板共有两种情况。 老版本: 新版本: 注:老版本通讯为串口,新版本通讯为网口。 2、确认通讯接口 1、数控面板的后面 老版本的串口一般都会引出在正后面的左侧位置,上面有…

结构型模式之代理模式(八)

常说的设计模式是23种设计模式,分为3大类: 创建型模式5种:工厂方法、抽象工厂、单例、建造者、原型结构型模式7种:适配器、代理、桥接、装饰者、外观、享元、组合行为型模式11种:模板方法、解释器、策略、观察者、迭代…

非零基础自学Golang 第15章 Go命令行工具 15.5 代码测试(test) 15.5.1 单元测试

非零基础自学Golang 文章目录非零基础自学Golang第15章 Go命令行工具15.5 代码测试(test)15.5.1 单元测试第15章 Go命令行工具 15.5 代码测试(test) go test命令用于对Go语言编写的代码包进行测试。 可以指定要测试的文件,也可以直接对整个包进行测试&#xff0c…

[Java实战]Squaretest单元测试生成利器...一天生成所有简单单元测试...[新手开箱可用]

Squaretest单元测试生成利器...一天生成所有简单单元测试...[新手开箱可用]1.Squaretest是什么?2.如何配合JUnit使用...?3.生成的java文件长啥样?4.如何生成和使用?5.如何用生成的XXXTest.java文件进行单元测试...6.观察结果7.单元测试成功8.源码地址为了好好写单元测试,提…

Dell inspiron 7580硬件升级_更换电池加内存条移动硬盘

文章目录前言硬件升级确认硬件型号参数拆机验证硬件更新后记前言 手上的笔记本[Dell inspiron 7580]用了几年了,还是刚上大学的时候买的,现在感觉这个配置用起来有点吃力了,稍微更新一下配置准备再战两年┭┮﹏┭┮ Light em up, light em u…

参数扫描文件的用法

摘要 通过控制和改变所选参数有助于检查给定光学系统的性能。 VirtualLab Fusion提供了完全灵活且计算效率高(通过并行化)的参数运行,使用户可以指定不同的参数变化方式。 作为示例,它可以用于所研究的任何系统参数的公差分析。 分…

Moonbeam生态说|Moonbeam Ignite重燃DeFi生态活力

日前,Moonbeam Network生态中两家活跃度最高的DeFi协议Moonwell和StellaSwap受邀参加Moonbeam中文社区BinanceLive直播。 作为Moonbeam生态的老朋友,两家项目方的联合创始人对赋能生态胸有成竹。 今年11月,Moonwell和StellaSwap都得到社区投票…

MORE CONVNETS IN THE 2020S: SCALING UP KER- NELS BEYOND 51 × 51 USING SPARSITY

论文链接: https://arxiv.org/pdf/2207.03620.pdf code: https://github.com/VITA-Group/SLaKlink MORE CONVNETS IN THE 2020S: SCALING UP KER- NELS BEYOND 51 51 USING SPARSITY一、引言(二)、大内核注意力(二)、卷积中的大…

I/O多路转接 —— select、poll、epoll

目录 一、概述 二、I/O多路转接 —— select 1. select函数的基本介绍 2. select的基本工作流程 3. 文件描述符的就绪条件 4. 基于select函数设计的服务器 1. 基本套接字的编写 2. select服务器的编写 5. select的优缺点 三、I/O多路转接 —— poll 1. poll函数的基…

LeetCode-1799- N 次操作后的最大分数和

1、状态压缩动态规划 我们可以使用动态规划来解决问题,我们利用数组dp[s]dp[s]dp[s]来表示状态为s时,能够去到的最大分数。由于题目限定了n的范围,因此我们可以利用二进制数字s来压缩状态,我们利用长度为m的二进制数s的每一位来表…

Javascript | Popper | 如何下载popper.min.js 与 各类js资源

文章目录问题描述解决办法问题描述 作为一个JS生手只知道使用CDN在线引用或者使用下载好的本地JS文件。 比如popper.js官网显示如下图,没有任何的Download按钮,有部分其他类的JS官网也存在同样的情况。 虽然有提供CDN,但因为国内网络原因&am…

Lua table(表)

table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。 Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。 Lua table 是不固定大小的,你可以根据自己需要…

什么是python,为什么要学习Python?

什么是python? 人工智能概念的兴起,使得Python的发展非常迅速,关注度也是越来越高。作为现在最热门的编程语言,Python简单优雅,用尽量少的代码写出最明白的程序,简单易学的特性使其拥有超高的人气&#xf…