资讯动态

CH573EVT开发包解压到跑通BLE例程:完整指南与避坑要点

发布时间:2026/9/2 14:21:52 来源:尧图企业网站定制
简介面向嵌入式与物联网开发者的CH573微控制器官方评估开发包涵盖芯片技术规格、参考例程、硬件设计参考及工程验证阶段源码适合需要快速上手沁恒CH573并开展智能家居、传感器网络等项目的工程师与学习者。压缩包共470个文件约4.37MB主要包含C语言源码与H头文件、工程项目配置文件project/cproject/wvproj、编译生成的hex与库文件以及PDF芯片资料覆盖外设驱动、BLE协议栈和基本应用示例。已有678人学习/下载说明该资源在社区中具有一定的参考价值。通过完整例程和datasheet开发者可掌握定时器、中断、串行通信等外设初始化方法并借助lib库理解无线协议栈调用流程EVT阶段的原理图与配置文件也为硬件调试、功能验证乃至二次开发提供了扎实基础。 前一阵子帮一个刚入行的朋友折腾CH573的开发环境他下载完“CH573EVT沁恒开发包.ZIP”之后解压出来对着文件夹发呆问我说这里头哪个是例程哪个是库为什么没有我能直接打开的Keil工程这个场景我想很多第一次接触沁恒芯片的人都会遇到。CH573EVT这个ZIP表面上看就是一个压缩包但实际里面塞的是沁恒官方针对CH573这颗RISC-V内核BLE SoC的全套评估资料包括外设驱动库、BLE协议栈、工程模板、参考原理图和相关文档。它不是给你一个“双击就能编译”的现成方案而是需要你按它的组织逻辑去理解然后把工程导入到指定的开发环境里。这篇文章我就按我自己的使用经验把这个ZIP包从解压到跑通第一个BLE例程的完整过程讲一遍顺便把那些容易卡壳的坑都点出来。1. 拿到ZIP之后解压和目录理解1.1 解压压缩包时的两个典型报错先说说ZIP本身。CH573EVT这个包大小在几十MB量级从官网下载的时候如果你用的是浏览器自带的下载网络稍微一抖就可能拿到一个不完整的文件。解压时如果提示invalid zip archive: could not find eocd或者类似报错基本就是包没下载完整别犹豫重新下载。eocd是ZIP格式结尾的中央目录记录这个字段找不到说明解压软件根本没读到完整的压缩包结构。我见过有人拿这种坏包硬折腾一天最后换一个下载工具就好了纯属浪费时间。第二个问题是解压路径。强烈建议解压到纯英文路径比如C:\CH573EVT不要放到桌面中文文件夹里也不要用带空格的目录名。MounRiver Studio基于Eclipse底层GCC工具链对路径里的中文和空格处理得不好轻则编译变慢重则报各种cannot open source file的莫名错误。这个坑在Windows上特别常见我习惯单独建一个C:\wch\目录来放所有沁恒的开发资料各家芯片的包井水不犯河水找起来也方便。1.2 核心目录结构与各文件夹用途解压成功后根目录下一般会有APP、EVT、LIB、REF这几个核心文件夹不同版本命名会有一点出入比如有的版本把蓝牙库放在更深的子目录但整体逻辑不变。我第一次打开的时候第一反应是去找.uvprojx文件结果没有后来才意识到这套开发包是为MounRiver Studio配套的工程文件是.wvproj格式不是Keil的工程格式。这一点很多人一开始都会懵。目录作用使用频率APP应用层例程主要围绕BLE有peripheral、central这类角色例程高EVT外设驱动例程GPIO、UART、SPI、I2C、ADC、PWM、Timer等基础外设Demo高LIB芯片固件库和BLE协议栈库编译整个工程用到的静态库和头文件低REF参考文档、芯片数据手册、参考原理图、PCB封装库中从使用频率来讲你平时改得最多的是APP和EVT里的代码LIB基本不动但工程配置里的库路径必须指向正确的位置。很多人下载完直接开干从不看REF等到画板子时才回头翻结果原理图、封装、手册满天飞效率很低。我的建议是解压完先把REF目录整体看一遍知道里面有什么后面遇到问题才知道去哪里找答案。1.3 建议先翻REF目录而不是直接开工程这里多提一句REF。很多人下载ZIP包之后直奔例程结果编译报一堆错误其实根因是路径或者工程配置问题。我自己的习惯是解压之后先把REF里的《CH573EVT评估板说明书》翻一遍里面有一页会写清楚板子的按键、LED、串口和调试口对应哪个GPIO。后面你调BLE例程时确认广播事件就得靠板上的LED如果GPIO弄错了代码跑起来你也看不出来。另外REF目录里的原理图建议留一份PDF在手机里后面自己画板子或者排查硬件问题时随时能翻比临时去官网找方便得多。尤其是天线匹配这部分CH573的参考设计里有天线的π型匹配电路直接抄参数比自己瞎调省事太多。射频匹配这东西没有频谱仪很难调试官方给什么参数先照抄不要自由发挥。1.4 版本差异尽量用官网最新包我遇到过拿着两年前下载的CH573EVT来问问题的情况里面的库文件版本和官方最新BLE库对不上编出来的固件行为也有区别。如果你要从零开始一个新项目务必去官网下载当前最新的开发包ZIP别用网盘里别人转存的老包。老包里的BLE库可能有已知问题比如广播间隔配置、连接参数更新逻辑这些用新版能少踩很多坑。另外同一个大版本号下官方偶尔会更新例程里的宏定义或配置文件所以就算你之前下载过做新项目前最好也重新下一次对比看看有没有变化。我的做法是把下载时间写在文件夹名里比如CH573EVT_202501这样过几个月后自己也能分清哪个是最新版。2. 开发环境为什么是MounRiver Studio而不是Keil2.1 MRS这台IDE解决了什么问题CH573用的是沁恒自研的青稞V4A内核属于RISC-V架构。你熟悉的那套Keil MDK主要是ARM生态的虽然新版本Keil也开始支持部分RISC-V芯片但沁恒官方推荐的IDE是MounRiver Studio基于Eclipse做的内置了riscv-none-embed-gcc工具链下载调试也直接在IDE里完成不用额外搭OpenOCD之类的东西。所以别在Keil里拼命找CH573的设备支持包了赛道不对。我第一次用MRS的时候最大的不适是它和Keil的操作习惯差别很大。比如Keil里你点一下Build就能出hexMRS里你要先确认工程配置中目标文件是否有hex输出默认情况下它会自动把elf转成hex但如果工程配置被改动过输出步骤可能被丢导致你烧录时找不到hex文件。这个后面烧录部分我再细说。2.2 从ZIP到第一个可编译工程的具体步骤安装MRS之后解压CH573EVT按照上面的建议放到纯英文路径。然后打开MRS选一个工作区目录建议单独建一个Workspace文件夹不要直接拿解压目录当工作区。实际导入工程的步骤打开MounRiver Studio选择工作区目录。菜单File - Import - Existing Projects into Workspace。选择CH573EVT解压目录让IDE识别出里面的.wvproj工程文件。导入后先在Project菜单里点Clean再点Build。第一次编译会比较久因为要编协议栈库正常一两分钟以内。如果导入后看不到工程或者工程是空的多数是因为你选错了目录层级。比如你选的路径包含两层目录IDE识别不到里层的.wvproj这时候换个层级重新导入就行。另外不要手动去改工程文件里的路径直接在IDE里调整Properties - C/C Build的配置否则容易把工程搞坏。我自己早期犯过这种低级错误结果整个工程无法打开只能删掉重新导入。2.3 链接脚本和编译配置别乱动CH573的链接脚本是工程里的.ld文件一般不用动。但如果你改了Flash/RAM分区或者要加自定义段就需要改这个文件。建议改之前先备份改错了轻则链接报错重则固件跑飞。我第一次在CH573上做OTA时就是因为改炸了.ld文件导致下载没问题跑起来就HardFault后来对着官方示例的.ld文件一步步对比才定位到问题。还有一点工程里的优化等级建议保持默认不要一上来就开-O2。CH573的BLE协议栈对时序有要求优化等级改变可能影响中断响应行为跑起来会有一些很微妙的问题比如广播丢包、连接不稳定。调试阶段用默认优化最后发布前再评估是否调整而且调整后要完整跑一遍通信压力测试不要只看编译通过就发货。3. 跑通第一个BLE例程从编译到手机连上3.1 选对入门例程先跑peripheralCH573EVT的APP目录下最常用的是peripheral例程它的作用是把芯片配置成一个BLE从机设备周期性地发出广播。手机或者电脑用BLE调试工具就能扫描到这个设备验证链路是否通。如果你想做两个板子之间的主从通信那就要看central和peripheral配合的例程。我自己第一次验证硬件板子有没有毛病就是烧一个peripheral例程进去然后用手机上的nRF Connect扫描。如果能扫描到设备名说明电源、晶振、BLE射频链路基本没问题如果扫描不到大部分情况是外部32.768kHz低速晶振没起振或者没焊接这个我后面会重点提。不要一上来就直接改代码先确认硬件链路通不通这个问题排除得越早后面调试越顺。3.2 编译、烧录的完整操作在MRS里选中peripheral工程点Build编译。编译完成后在工程目录的build/output文件夹下面会生成hex文件。如果你没找到hex去工程属性的Post-build steps里确认一下MRS默认有生成hex这一步但如果你手动清理过项目或者改动过配置这步可能丢直接把elf文件拖进烧录工具是无效的。烧录推荐用WCH-LinkSWD接口接SWDIO、SWCLK、GND如果要调试的话再接VCC和RST。接好之后在MRS里选择调试配置目标芯片选CH573然后点Download。第一次下载如果提示找不到设备检查两个点一是驱动有没有装好二是目标板有没有独立供电。WCH-Link本身可以给目标板供电但如果板子上有大电容或者特殊电源设计建议还是外部供电供电不足会导致下载到一半失败那种卡在95%然后报错的体验很折磨人。3.3 用手机验证广播和修改设备名下载完成后板子会开始广播。打开手机的nRF Connect或者沁恒的BLE调试工具开始扫描列表里会出现一个默认名字的BLE设备一般是“CH573”或例程里定义的名称。如果你看不到先确认板子上的LED有没有在闪有些例程默认用LED指示广播状态。LED不闪说明代码可能没跑起来而不是射频有问题。改广播名称也很简单在peripheral例程里搜索adv_name或者表示本地名称的字段把字符串改成你自己定义的设备名。注意名字长度不要超过广播包能承载的长度一般建议不超过20字节。名字太长会导致广播包被截断甚至影响其他广播字段的发送这个在产品设计里要注意。广播包里除了设备名通常还有服务UUID、厂商自定义数据你要规划好每一段的长度尽量留出余量。4. 开发中绕不开的几个坑4.1 外部32.768kHz晶振不焊BLE直接罢工这个坑我见过太多次了。CH573的BLE协议栈内部依赖外部32.768kHz晶振做低功耗定时基准如果你自己画板子的时候没焊这个晶振或者焊了一个负载电容不匹配的型号固件烧进去之后芯片能跑但BLE广播始终起不来手机永远扫描不到设备。排查的时候不要一开始就怀疑代码先用示波器或者万用表量一下晶振两个引脚。没有示波器的话把官方评估板的晶振电路原样抄过来最稳妥。第一次画板子的人容易忽略晶振旁边的两个负载电容电容值不对会导致晶振不起振或者频偏进而影响BLE的射频性能比如连接不稳定、功耗异常。所以PCB设计阶段晶振这一块我建议完全参考官方参考设计不要自行改动。省下这几颗电容的钱后面会花几十倍的时间在排查莫名其妙的连接问题上不划算。4.2 WCH-Link连不上芯片的排查顺序下载失败是新手问得最多的一个问题。按这个顺序排查基本能解决九成问题驱动WCH-Link插电脑后设备管理器里能看到调试设备看不到就重装驱动。供电目标板的VCC和GND是否正常WCH-Link的3.3V输出能力有限不要同时给太多外设供电。接线SWDIO和SWCLK有没有接反RST不要乱接尤其目标板上有外部复位电路时。复位下载排除以上问题后在MRS里点下载的同时按住板子上的复位键等下载开始再松开有时候能救回来。很多人不知道“按住复位下载”这个技巧它其实适用于很多国产MCU。芯片内部程序跑飞占用调试接口时按住复位可以让内核停留在复位状态调试器更容易接管。我靠着这招解决过不少量产现场的问题做产线测试治具的时候这招简直就是救命稻草。4.3 自己画板子例程跑不起来先查GPIO复用CH573的GPIO复用和STM32这类ARM芯片不完全一样外设和引脚的映射关系要看数据手册里的引脚复用配置表不是想把UART的TX映射到哪个引脚就可以直接用的。比如你想把UART1的TX映射到指定引脚除了配置串口本身还需要在寄存器里配置引脚复用功能。例程里通常有对应代码但如果你从其他芯片移植过来很容易漏掉这一步导致串口完全无输出。我建议的做法是先在EVT目录下找出你要用的外设对应例程在它的基础上改GPIO而不是从零自己写初始化。因为沁恒的库函数封装风格和ST的HAL库差别挺大直接照着EVT例程改比自己查寄存器快得多也稳定得多。另一个细节是改成不同封装时某些引脚可能是空脚这种引脚如果配置成外设功能会导致信号悬空需要仔细对照封装图确认。4.4 做OTA之前先想清楚Flash分区如果你后面要做OTA升级CH573的Flash空间要提前规划。BLE协议栈会占用一部分FlashAPP区容量是受限的你需要先估算自己的固件大小再决定分区方案。这一点必须在项目最开始就考虑不然后面发现固件放不下再回头改分区牵扯到引导跳转、Flash擦写逻辑、固件升级校验等一堆东西改动量非常大。官方开发包里有OTA相关的例程和文档建议做之前先把文档通读一遍特别是Flash分区表和升级流程那部分。我见过有人把升级固件写到协议栈区直接导致芯片变砖最后只能重新烧录才救回来。做OTA功能时给固件加版本号和CRC校验这两个环节一定不能省否则现场升级出了错排查起来非常痛苦。我个人在CH573上做过几个小批量项目回头来看最值钱的经验就是别小看这个ZIP包里的REF文档。很多人觉得官网下的SDK嘛解压之后能编译就行文档看都不看结果后面画板子时漏了晶振、漏了天线匹配白白多打了一版板子。我自己的习惯是每个新芯片到手先花一个下午把参考原理图和评估板说明书翻完再开始写第一行代码这个时间花得非常值。最后再分享一个小技巧如果你要把CH573EVT这个包分享给同事别把整个ZIP解压后的目录直接塞进Git仓库里面编译产物和库文件体积很大而且容易引发路径问题。建议只把APP和EVT里的源码目录纳入版本管理LIB用官方包依赖的方式处理。这样团队协作的时候每个人从官网下载同一个版本的开发包你只维护自己改过的源文件冲突少很多。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价