赞
踩
AIR105是合宙LuatOS生态下的一款芯片, QFN88封装. 2022年1月初上市, 开发板与摄像头一起搭售. 与兆讯的 MH1903S 是同一款芯片, MH1903 系列还有 BGA169 等高密度封装
主要配置参数: Cortex-M4F内核, 最高频率204Mhz, 片上内建640KB SRAM和4MB Flash. 尺寸10x10mm, 56个可编程GPIO PIN.
合宙提供了这个芯片及开发板的 LuatOS 开发环境和工具链, 但还是有很多开发用户希望能使用纯C语言的环境和工具链. 在合宙用户群群友(736314515@qq, 309670104@qq, 感谢)的帮助下, 把烧录和调试部分跑通了, 以下说明如何在Keil5 MDK中使用 DAP-Link 烧录 AIR105 开发板.
注意: 如果使用WCH-Link, 一定要看清电压, 别误接板上的5V输出.
使用DAP-Link连接需要4根线: VCC, GND, SWCLK 和 SWDIO, 其中 SWCLK对的是PC4, 这个pin脚是现成的; SWDIO对的是PC3, 这个开发板并未接出PC3, 所以需要自行焊接引出.
根据开发板线路图, 靠近开关一侧的LED通过一个5K的电阻连接了PC3, 所以只需要从这个电阻的一侧引出接线即可. 位置可以参考下图的红框部分.
可以使用图中这种固定方式, 焊排针时多留一个排针, 将线一端先固定好, 另一端让线尖正好搭在电阻的一侧. 在线尖处加上助焊剂后, 烙铁尖头搭一点锡后将线焊上. 注意锡不能多, 时间不能太久. 焊完要用万用表检查一下, 量排针到电阻的另一侧, 阻值是否正确.
如果开发板还处于出厂状态, PC3用于点亮LED, 会处于输出状态, 所以此时开发板通过DAP-Link连上电脑后, Keil中查看DAP-Link设备会显示 DAP Error, 需要先刷入其他固件, 将PC3口的输出状态修改掉.
烧录使用 Luatools, 参考烧录说明. 可以自己制作(看最后的说明), 或者使用这个已经制作好的soc 点击下载
烧录成功后, PC3口不会再用于输出, 串口会输出大量杂乱内容, 可以忽略.
3.3V和GND在Air105开发板上有好几组, 选一组连即可
# DAP-Link -> Air105 Dev-Board
3.3V -> 3.3V
GND -> GND
SCK -> PC4 版上标识为 ADC5
SWD -> PC3 根据上面的说明额外接出
开发板通过DAP-Link连上电脑后, 在Keil中查看DAP-Link就正常了, 识别 DAP-Link 和 Air105 不需要安装额外的软件
烧录还需要配置Flash算法文件
在前面准备工作中下载的FLM文件, 放到 C:\Keil_v5\ARM\Flash 目录下, 这个目录下能看到其他的 .FLM 文件.
经过上面的配置, 应该就可以直接按F8烧录了
Debug 和普通的 STM32F103 系列一样, 通过 Keil MDK 的 Debug 菜单可以直接进入.
soc文件其实是一个压缩文件, 用7zip之类的工具打开后, 可以将其中的app.bin移除, 换成自己的app.bin.
以 Blink 这个项目为例
C:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bin -o .\Objects\Blink.bin .\Objects\Blink.axf
不同的项目, 其相对路径可能不一样, 需要自行调整
完整错误为
No Algorithm found for: 00000000H - 00001183H
这是因为AIR105的 __ROM_BASE 与标准的 ARMCM4 不一样, 需要修改项目中的 ARMCM4_ac6.sct 文件, 按下面的数值调整
#define __ROM_BASE 0x01001000
#define __ROM_SIZE 0x00080000
#define __RAM_BASE 0x20000000
#define __RAM_SIZE 0x000A0000
#define __STACK_SIZE 0x00000200
#define __HEAP_SIZE 0x00000C00
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。