2022年6月初合宙新上市了 AIR32F103 系列 MCU, 市面上 STM32F103 的克隆军队又增加了新的一员.
这次不知道是哪家的贴牌, 分 AIR32F103CBT6 和 AIR32F103CCT6 两个型号, 分别是 32K RAM + 128K FLASH 和 32K RAM + 256K FLASH, 支持的最高主频比较亮眼, 都是216MHz, 硬件上可以Pin2Pin替换STM32F103 LQFP48, 可以换贴到Bluepill这类开发板上, 可玩性很高.
CBT6的开发板一上市就买了两块, 收到好久了, 因为疫情和日常事情比较多, 一直没时间试. 趁周末把功课做了.
硬件
开发板
PCB动态结构图 https://wiki.luatos.com/_static/bom/Air32F103.html
贴票孔形式的PCB封装, 一贯不变的尺寸和对我来说没啥用的那么多VCC和GND. 5x2双排针的设计便于当成各种Link使用
双排针焊接
双排针的焊接对于完美主义者是个挑战, 因为排针与板子之间有空隙, 容易焊偏焊歪, 这里介绍一个简单的方法, 就是两边各垫一片对折的纸稍微固定一下, 让排针位置摆正, 露出一对pin
把这对pin焊好后就可以把纸抽掉焊剩下的, 这样就非常正了.
飞线
根据板子的PCB, 未引出的Pin有:
- PA11, PA12, 在type-c口
- PB2, PB10, PB11 板载LED
其中PB2是BOOT1可以不需要, 其他四个可以通过飞线引出, 下图供参考, 需要一定的焊接技术, 没经验的请勿尝试.
烧录工具
像STM32一样, 可以用各种link: ST-Link, DAP-Link, JLink
开发板自带DAP-Link固件, 如果买两块, 就可以用一片烧录另一片.
软件
这里只说Windows下的环境吧, 需要的软件主要是 Keil5 MDK, STM32F103的SPL库, 对应AIR32F103的下载算法文件. 如果使用ST-Link, 还需要用于烧录的 ST-LINK Utility.
Keil5 MDK
下载和安装在网上有很多说明, 不介绍了
ST-LINK Utility (如果使用ST-Link下载)
从ST官网下载 ST-LINK Utility 或 st-link驱动, 不安装无法使用 st-link
- 只下载驱动部分: https://www.st.com/zh/development-tools/stsw-link009.html
- 或者下载包含驱动的 st-link utility https://www.st.com/zh/development-tools/stsw-link004.html
- 如果使用 st-link utility, 直接运行会报"mfc140.dll"错误, 还需要下载安装 Microsoft Visual C++ 2015 https://www.microsoft.com/en-us/download/details.aspx?id=52685, 文件不大十几兆.
下载算法文件, Keil芯片型号库
https://gitee.com/openLuat/luatos-soc-air32f103/tree/master/AIR_Jlink_Keil
这个链接下有: CBT6和CCT6的flash算法文件, Keil芯片型号库, DAP-Link固件
DAP-Link使用
开发板出厂默认为daplink固件, 固件支持调试下载功能, 并且支持U盘模式烧录和虚拟串口, WIKI上的使用说明 https://wiki.luatos.com/chips/air32f103/board.html#id2 这上面已经介绍得很清楚.
作为DAP-Link使用的连线说明
- 中间绿色的灯指示与被连接设备的通信情况
- PB14为SWDIO
- PB13为SWCLK
- PB0为复位控制
- PA2为虚拟串口TX
- PA3为虚拟串口RX
注意: 板子上的SWDIO和SWCLK是作为下位机使用的烧录口, 作为上位机使用要用PB13和PB14.
作为下位机使用的连线说明
- 板子双排针在背面的一排就是烧录调试用的SWD口, 根据标识使用3.3V, GND, SWDIO, SWCLK连接上位机就可以.
- 如果使用AIR32F103开发板分别作为上位机下位机连接, 在Kei MDK的Debug页直接点击CMSIS-DAP Debugger的Settings时, 会提示SWD/JTAG Communication Failure的错误. 需要在按Settings按钮前, 按住下位机的RST按钮, 之后再点Settings按钮, 就能正确检测.
开发说明
因为等价于 STM32F103 以及国内一众XX32F103的克隆大军, 参考 STM32F103 的项目进行开发即可, 这方面资料已经多的不能再多了. 可以参考之前写的一些文章 STM32