这一篇在干嘛?
HX4S20C 资料包
5_软件及驱动工具文件夹的使用指南。适用项目:全国大学生嵌入式芯片与系统设计竞赛 2026 · 安路赛道 · 选题一:基于安路 EG4S20 的 HDMI 多媒体播放系统,硬件平台康芯 HX4S20C 开发板(EG4S20BG256)。
〇、先搞清楚:这个文件夹里装的是什么
很多同学第一次打开会懵——这里面没有一个是”FPGA 主开发软件”,而是一堆配套上位机、驱动和小工具。真正写 Verilog、综合、布局布线用的主软件(安路 TD)在旁边的 1_安路工具和软件 文件夹里。
一句话概括这个文件夹的作用:
当你的 FPGA 板子要跟电脑”通信、看图像、听声音、读写 SD 卡、抓网络包”的时候,电脑这头要装/要用的软件,全在这里。
对照本项目(TF/SD 图片 → SDRAM 双缓冲 → HDMI 音视频输出 + OSD + 淡入淡出),这些工具大致分成 8 类:
| 分类 | 工具 | 本项目里的用途 |
|---|---|---|
| ① 通信调试类 | 串口调试助手、CH340 驱动、网口调试助手 | 板子 ↔ 电脑收发数据,调试打印、发指令 |
| ② 字模/图片转点阵类 | PCtoLCD2002、Image2Lcd、PicToLCD | 生成 OSD 中文/英文点阵字库、把图片转成像素数组 |
| ③ 音频转数据类 | WaveToMem | 把 WAV 音频转成 FPGA ROM 初始化数据 |
| ④ 存储/文件类 | SDFormatter、WinHex、imageUSB | 格式化 TF 卡、查看 BMP/FAT 原始数据 |
| ⑤ 网络分析类 | Wireshark、iperf、RawNetCapture、video_transfer | 抓包、测速、显示 FPGA 传上来的视频流 |
| ⑥ 编程辅助类 | amo 小工具、VSCode | CRC/校验/进制转换、看代码 |
| ⑦ 远程/终端类 | MobaXterm、FileZilla | SSH 远程、FTP 传文件 |
| ⑧ 其他 | Qt 中文插件 | Qt 环境中文输入 |
别找错地方
真正的主工具链在
1_安路工具和软件/(TD 开发软件 + ModelSim 仿真 + UART 驱动 + license),下面先带一句,防止你装错顺序。
一、先分清两个文件夹(别找错)
1_安路工具和软件/(开发主软件,不在这,但必须先装)
| 内容 | 作用 |
|---|---|
TD_6.2.1 安装包 / zip | 安路 TD 开发软件:Verilog 工程、综合、布局布线、生成 bit 流、下载到板子。这是整个比赛的主战场 |
ModelSimSetup-14.1.0 | 仿真工具:写 testbench 跑功能仿真,不烧板子就能验证逻辑 |
UART驱动程序/CH341SER.EXE | 板载 USB 转串口芯片驱动(下载器/串口都要用) |
Uart_Plot 上位机软件 | 安路官方串口绘图上位机,把 ADC/波形数据实时画曲线 |
license文件/Anlogic.lic | TD 软件授权,装完后必须替换到安装目录的 license 文件夹 |
安装顺序(重要):TD → 替换 license → 装 CH341SER 驱动 →(可选)ModelSim。装之前先看 重要!安装前必看!.zip 和 安路TD开发工具软件安装教程.docx。
二、通信调试类
① 串口调试助手(XCOM / SSCOM)
是什么:电脑串口(COM 口)收发数据的工具。文件夹里有两个:
XCOM——正点原子官方推荐,功能全、界面友好(需 .NET Framework 4.0);SSCOM(丁丁)——经典老牌串口助手,轻量。
在本项目里干嘛:
- 开发板通过板载 CH340 转串口芯片跟电脑连,你可以在 FPGA 里用 UART 核打印调试信息(“SD 卡读取成功”、“当前播放第 3 张图”、帧率统计等)。
- 对应官方例程
16_串口通信设计。做 OSD 之前,先用串口把状态打出来,是排查问题最快的路子。
怎么用:选对 COM 口和波特率(例程常用 9600/115200)→ 打开串口 → 收发。FPGA 端 %.8f\r\n 这类浮点数据也能收。
② CH340 驱动(USB 串口驱动)
是什么:CH340/CH341 芯片的 Windows 驱动。板子上的 USB 转串口、以及很多下载器都用这颗芯片。
在本项目里干嘛:不装它,串口助手根本认不到板子。插上板子如果设备管理器出现”未知设备/感叹号”,十有八九就是没装这个驱动。
驱动装不上的两个坑
Win8/Win10 可能提示”预安装成功”但实际没生效,参考文件夹里
安装失败解决办法/readme.txt;Win10/Win11 还有驱动签名问题,解法在8_FPGA学习资料/Win10、Win11解决驱动签名问题.pdf。
③ 网口调试助手(XNET / NetAssist)
是什么:网络(TCP/UDP)调试工具,跟串口助手对应,只不过走网线。文件夹里有两个:XNET(正点原子)和 NetAssist。
在本项目里干嘛:开发板上有千兆以太网口(RTL8211E 芯片),官方例程 33_千兆网络传输图片 就是靠它把图片从 FPGA 发到电脑。如果你的扩展方向涉及网络传图/远程控制,这个工具就是电脑端的收发器。
三、字模 / 图片转点阵类(★ 本项目 OSD 的核心工具)
重点掌握
这几样是跟”OSD 字幕叠加”扩展项最直接相关的工具,建议重点掌握 PCtoLCD2002。
④ PCtoLCD2002(点阵字模生成,最常用)
是什么:把中文/英文/数字/符号转成点阵字模数据(C 语言数组或二进制字库)。是单片机/LCD 界最经典的字模工具。
在本项目里干嘛:做 OSD 的时候,屏幕上的”图片编号、模式、帧率”这些文字,本质就是把每个字符的点阵存进 FPGA 的 BRAM ROM,再按像素坐标查表叠加到画面上。这个工具就是帮你生成那些点阵数据的。
- 生成 8×16 的 ASCII 点阵(方案里 OSD 用的就是 8×16);
- 生成 16×16 汉字点阵(如果要显示中文”播放中/下一张”);
- 支持 4 种取模方式(逐行/逐列/行列/列行)、阴码阳码、旋转翻转——取模方式必须和你 FPGA 里读字模的代码顺序一致,这是最常见的翻车点。
⑤ Image2Lcd 2.9(图片 → LCD 像素数组)
是什么:把 BMP/JPG 图片转成像素点阵数据(C 数组),可指定灰度/彩色、取模方向、输出格式。
在本项目里干嘛:
- 如果你要显示固定图标/开机 Logo,用它把图转成数组,直接初始化到 FPGA 的 ROM,避免从 SD 卡读;
- 也可以反过来用它校验 SD 卡读出的 BMP 数据对不对。
⑥ PicToLCD(轻量图片取模)
是什么:另一个图片转 LCD 点阵的小工具,功能比 Image2Lcd 简单,但够用。文件夹里的 图像RGB值计算工具 里也放了 Img2Lcd,其实跟⑤是同一类工具,用来取单个像素点的 RGB 值(调颜色、写像素混合公式时验证数值用)。
四、音频转数据类(★ 本项目音频的核心工具)
⑦ WaveToMem
是什么:把 WAV 音频文件转成存储数组(C 数组 / ROM 初始化文件)。
在本项目里干嘛:这是做音频扩展项的必需品。方案里音频链路是 WAV/PCM → I2S → HDMI 音频。如果 WAV 文件太大、SD 卡读音频和读图片抢带宽,一个省事做法是:把短音效(提示音、按键音)用 WaveToMem 转成数组,直接塞进 FPGA 的 BRAM ROM,零外部带宽。官方例程 13_硬件乐曲演奏器 就是这个思路。
五、存储 / 文件类
⑧ SDFormatter(内存卡修复/格式化工具)
是什么:SD/TF 卡的专用格式化工具(官方 SD Association 出品,比 Windows 自带格式化更规范)。
在本项目里干嘛:这是前期必用工具。 项目要从 TF 卡读 BMP/WAV,卡的文件系统必须干净、扇区对齐。用 SDFormatter 把卡格式化成 FAT(FAT16/FAT32),能避免一堆”读卡失败/找不到文件”的玄学问题。
会清空数据
格式化会清空卡里全部数据,操作前先备份。
⑨ WinHex(十六进制/磁盘编辑器)
是什么:强大的十六进制编辑器,能直接看磁盘/文件的原始字节,也能打开磁盘分区看 MBR、FAT 表。
在本项目里干嘛:调试 SD 卡读写的”照妖镜”。
- 打开 BMP 文件,核对文件头(
42 4D= “BM”)、位图数据偏移、颜色表,确认你 FPGA 里解析 BMP 的代码对不对; - 打开 TF 卡,直接看 MBR、FAT 目录区,确认文件到底存在哪个扇区、是否连续存放(方案里按”连续扇区预规划”读文件,用 WinHex 验证扇区地址能省大把时间)。
⑩ imageUSB(U 盘镜像烧录)
是什么:PassMark 出品的 U 盘批量镜像工具,能把一个镜像文件(.bin)按位精确写入 U 盘,也能把一个 U 盘整盘读成镜像。
在本项目里干嘛:如果最终要交付的作品是”把系统烧进 U 盘/存储介质”的场景,或者要批量复制做好的 TF 卡内容,用它可以整卡克隆。
选盘符务必小心
写入会覆盖目标盘全部数据。
六、网络分析类
⑪ Wireshark(网络抓包)
是什么:全球最著名的网络协议分析软件,抓取网卡上的数据包并逐层解析。
在本项目里干嘛:做 33_千兆网络传输图片 或任何以太网传输时,用它抓 FPGA 发来的包,看 IP/端口/载荷对不对、有没有丢包乱序。注意装的时候记得勾选安装 WinPcap/Npcap 抓包驱动。
⑫ iperf / iperf-3.1.3(网络测速)
是什么:命令行网络吞吐量测试工具,测两点之间的 TCP/UDP 带宽、丢包率、抖动。
在本项目里干嘛:验证”千兆以太网”到底跑多快,给你的网络传输性能数据做背书(写论文的实测数据来源)。
⑬ RawNetCapture(UDP 视频显示)
是什么:通过 UDP 协议接收图像并显示的上位机。约定:分辨率 640×480@12.5Hz,RGB565(16bit),帧头固定为 F0 5A A5 0F。
在本项目里干嘛:做网络传图/摄像头(OV5640)方向时,用它实时显示 FPGA 通过网口 UDP 发来的画面。FPGA 端必须严格按它的帧格式和分辨率发数据,否则花屏。
⑭ video_transfer(ATK-XCAM,正点原子视频上位机)
是什么:正点原子出品的视频传输显示软件,支持串口 / TCP / UDP 三种协议接收并显示视频。
在本项目里干嘛:和 RawNetCapture 类似,但协议更多、更灵活。摄像头 OV5640 采集图像后经串口或网口回传电脑显示,就可以用它。
七、编程辅助类
⑮ amo 的编程小工具集合
是什么:嵌入式工程师常用的计算器合集:8/16 位校验和、CRC8/16/32、MD5、SHA1、十六进制↔ASCII、十六进制↔浮点数、文件转 C 数组、随机数、大小写转换等。
在本项目里干嘛:
- 写 UART/网络自定义协议时算 CRC 校验;
- 把数据文件转成 C 数组(配合字模/波形初始化);
- 十六进制 ↔ 浮点数互转(调试
%.8f这类浮点串口数据时很顺手)。
⑯ Visual Studio Code
是什么:微软的轻量级代码编辑器,语法高亮、插件生态强。
在本项目里干嘛:虽然综合仿真在 TD/ModelSim 里,但平时看/写 Verilog、看例程代码、编辑 Markdown 文档,VSCode 比 TD 自带编辑器舒服得多。装个 Verilog 插件即可。
八、远程 / 终端类
⑰ MobaXterm(全能终端)
是什么:集 SSH、串口、FTP、X11 转发的综合远程终端,Windows 下的”瑞士军刀”。
在本项目里干嘛:如果开发过程要连 Linux 服务器(比如远程跑综合、传工程、用树莓派做上位机),用它一条龙搞定。
⑱ FileZilla(FTP 客户端)
是什么:图形化 FTP/SFTP 文件传输工具。
在本项目里干嘛:往服务器/远端设备传工程文件、下载资料。纯文件搬运,简单直观。
九、其他
⑲ Qt Creator 中文插件(fcitx-qt5)
是什么:给 Qt Creator 环境加中文输入法支持的插件。
在本项目里干嘛:如果上位机(串口采集/网络收图)用 Qt 写,在 Linux 下装这个插件才能在 Qt 里输入中文。Windows 下一般用不到。
十、结合本项目的「使用路线图」
按开发阶段,你会在什么时候用到哪些工具:
阶段0 环境搭建
├─ 装 TD + 替换 license + 装 CH340 驱动 (1_安路工具和软件)
├─ SDFormatter 格式化 TF 卡(FAT) ← 存储准备
├─ 串口助手 + 网口助手 装好备用 ← 调试准备
└─ 跑通 lab_ex_4 / lab_ex_5(SD→SDRAM→HDMI)
阶段1 双缓冲 + OSD(亮点A/B)
├─ PCtoLCD2002 生成 8×16 字模 → 初始化 BRAM ★核心
├─ WinHex 核对 BMP 文件头/FAT 扇区地址 ★核心
├─ 串口助手 打印状态/帧率/切图耗时 ★核心
└─ amo小工具 算 CRC、文件转C数组
阶段2 音频 + 转场(亮点C)
├─ WaveToMem 转 WAV → ROM 初始化 ★核心
├─ Image2Lcd/PicToLCD 做 Logo、校验像素RGB值
└─ 串口助手 持续调试
阶段3 消融实验 + 量化测试(论文素材)
├─ 串口助手 记录延迟/稳定性数据
├─ (若做网络) Wireshark 抓包 + iperf 测速
└─ TD 导出资源/时序报告
阶段4 文档撰写
└─ VSCode 写 Markdown/整理笔记十一、常见坑速查
| 问题 | 原因 / 解法 |
|---|---|
| 串口助手找不到 COM 口 | 没装 CH340 驱动;或 USB 线只供电不传数据 |
| 字模显示乱码/错位 | 取模方式(逐行/逐列、阴码阳码)和 FPGA 读取代码不一致,重新统一 |
| TF 卡读不到文件 | 文件系统不规范,用 SDFormatter 重格成 FAT;文件名/扇区用 WinHex 核对 |
| 网络传图花屏 | 分辨率/帧率/RGB 格式没对上(RawNetCapture 要求 640×480 RGB565 + 帧头 F0 5A A5 0F) |
| 音频无声 | WAV 采样率/位深和 I2S 配置不一致;用 WaveToMem 确认数组格式 |
| ModelSim/TD 打不开 | license 没替换;安装路径含中文或空格 |
自测一下
- 做 OSD 时字模显示乱码错位,最可能的原因是什么?
取模方式(逐行/逐列、阴码阳码、旋转翻转)与 FPGA 端读字模代码的顺序不一致——用 PCtoLCD2002 重新按代码约定取模。- FPGA 通过网口往电脑传图花屏,先用哪两个工具排查?
Wireshark 抓包看 IP/端口/载荷是否正确,iperf 测带宽确认链路吞吐;再核对 RawNetCapture 要求的 640×480 RGB565 与帧头 F0 5A A5 0F 是否严格一致。