# ft232hq_jtag **Repository Path**: xhhhm/ft232hq_jtag ## Basic Information - **Project Name**: ft232hq_jtag - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: new - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-07 - **Last Updated**: 2025-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # README ## 下载资料和工具 ### 下载对应的库: 👉 [https://ftdichip.com/drivers/d2xx-drivers/](https://ftdichip.com/drivers/d2xx-drivers/) ![](./prcture/1.png) ### 下载 FT_Prog 工具 FTDI 官方提供的 **FT_Prog 工具** 可以配置芯片的运行模式(例如将其设置为串口、MPSSE 或 GPIO 模式)。 官网下载地址:👉 [https://ftdichip.com/utilities/](https://ftdichip.com/utilities/) ![](./prcture/2.png) 下载 `FT_Prog`,安装或解压运行。 ![](./prcture/3.png) 选择扫描,检测到对应的设备 ### 安装编译工具 打开以下网址下载 **Visual Studio Build Tools**: 👉 [https://visualstudio.microsoft.com/visual-cpp-build-tools/](https://visualstudio.microsoft.com/visual-cpp-build-tools/) 安装时勾选:**C++ build tools** 安装完成后可以搜索到对应的应用 ![](./prcture/4.png) ## 编译烧写eeprom的应用 ### 解压工程 ![](./prcture/5.png) 打开`x64 Native Tools Command Prompt for VS 2022 (2)`应用 ![](./prcture/6.png) 进入工程根目录 ![](./prcture/7.png) ### 添加`main.c` ```c #include #include #include #include "ftd2xx.h" int main() { DWORD numDevs = 0; FT_STATUS ftStatus; FT_HANDLE ftHandle; WORD ee; BYTE eebuf[256]; FILE* fp; // 1. 获取设备数 ftStatus = FT_CreateDeviceInfoList(&numDevs); if (ftStatus != FT_OK || numDevs == 0) { printf("No FTDI devices found or error: %d\n", ftStatus); return 1; } printf("Number of FTDI devices: %lu\n", numDevs); // 2. 打开第一个设备 ftStatus = FT_Open(0, &ftHandle); if (ftStatus != FT_OK) { printf("FT_Open failed: %d\n", ftStatus); return 1; } // 3. 读取 EEPROM 内容 printf("Current EEPROM content:\n"); for (DWORD i = 0; i < 128; i++) { ftStatus = FT_ReadEE(ftHandle, i, &ee); if (ftStatus != FT_OK) { printf("ReadEE failed at %lu: %d\n", i, ftStatus); FT_Close(ftHandle); return 1; } printf("%04X ", ee); } printf("\n------------------------\n"); // 4. 擦除 EEPROM ftStatus = FT_EraseEE(ftHandle); if (ftStatus != FT_OK) { printf("EraseEEPROM failed: %d\n", ftStatus); FT_Close(ftHandle); return 1; } // 5. 打开文件读取新 EEPROM 内容 fp = fopen("eeprom.bin", "rb"); if (!fp) { printf("Failed to open eep.bin\n"); FT_Close(ftHandle); return 1; } fread(eebuf, 1, 256, fp); fclose(fp); // 6. 写入 EEPROM printf("Writing new EEPROM content:\n"); for (DWORD i = 0; i < 128; i++) { ee = eebuf[i * 2] | (eebuf[i * 2 + 1] << 8); ftStatus = FT_WriteEE(ftHandle, i, ee); if (ftStatus != FT_OK) { printf("WriteEE failed at %lu: %d\n", i, ftStatus); FT_Close(ftHandle); return 1; } printf("%04X ", ee); } // 7. 关闭设备 FT_Close(ftHandle); printf("\nDone. Press any key to exit.\n"); getchar(); return 0; } ``` 将main.c放在工程根目录 ![](./prcture/8.png) 拷贝`eeprom.bin`到工程根目录,后面编译出的应用会打开这个文件烧录。 ### 编译工程 执行build.bat脚本 ```bash # 注意这个脚本需要在:x64 Native Tools Command Prompt for VS 2022 (2)工具运行 cl main.c /I.\ .\amd64\ftd2xx.lib ``` 或者直接执行`cl main.c /I.\ .\amd64\ftd2xx.lib`命令 ![](./prcture/9.png) 编译成功 ### 烧录 直接双击 ![](./prcture/10.png) ![](./prcture/11.png) ## 虚拟串口功能 ### 安装驱动 ![](./prcture/12.png) ### FT_Prog 工具配置 在**FT_Prog 工具**中配置下面对应项 ![](./prcture/13.png) ![](./prcture/14.png) 烧录 ![](./prcture/15.png) 工程参考:https://github.com/LE-TOM/JTAG-HS3