基于APM32F407-Tiny的Mbed-OS初入门系列一
—点亮第一个流水灯
上篇文章已经带大家在电脑上安装好了Mbed Studio开发环境,接下来就带大家点亮第一个流水灯,点灯大业,开始!
APM32F407-Tiny的适配
Mbed OS官方已经适配了许多开发板,包括 STM32、Kinetis、LPC、PSoC 和 nRF52 在内的主要 MCU 系列,很遗憾,其中没有我们手上的这块APM32F407-Tiny开发板。不过天无绝人之路,Mbed OS提供了向 Mbed OS 平台添加新 MCU 目标的指南。导航:https://os.mbed.com/docs/mbed-os/v6.16/porting/index.html
像我这么热心的人肯定是不会让大家死磕官方文档的,手把手教学正式开始!
DAPLink固件下载配置。Mbed OS需要使用DAPLink开发,APM32F407-Tiny板载DAPLink下载器,固件可以到GEEHY的Github仓库下载,导航:https://github.com/GeehySemi/mbed-os-DAPLINK-Hardware
无法访问Github的小伙伴可以访问链接:https://pan.baidu.com/s/1dh3qej8tHj9wLiApFABYcA?pwd=4h1d 提取码:4h1d
文件下载解压后下载固件到板载的DAPLink即可(不会下载固件的小伙伴可以评论区留言)
下载完固件后把开发板连接到电脑,DAPLink会被识别为一个U盘,可以实现拖拽下载功能
打开设备管理器也可以看到DAPLink已经正常识别
到这里我们的DAPLink就配置好了。
APM32F407-Tiny的Mbed OS工程适配
由于Mbed OS官方还没有把Geehy的源码合并,所以我们需要去Geehy仓库下载源码手动合并进工程,导航:https://github.com/GeehySemi/mbed-os
无法访问Github的小伙伴可以访问链接:链接:https://pan.baidu.com/s/1TYG9EUzb7minH3pP_eCekw?pwd=0p4f提取码:0p4f
下载解压后我们就得到了包含Geehy源码的Mbed OS文件
接下来用Type-C数据线将我们的APM32F407-Tiny开发板连接到PC,打开上次建立的流水灯工程
接下来我们新建APM32F407-Tiny开发板的Target
第一项USB device软件会自动识别,选择即可。第二项需要手动输入。第三项单击后会自动生成文件custom_targets.json
配置代码如下,直接复制即可:
{
"APM32F407IE": {
"inherits": ["APM32F407IG-Tiny"],
"device_name": "APM32F407IE",
"config": {
"overrides": {
"clock_src": "USE_PLL_HSE_XTAL|USE_PLL_HSI"
},
"hse_value": {
"value": "8000000",
"macro_name": "HSE_VALUE"
}
}
}
}
保存文件后再次打开Target界面即可看到新配置的Build target
点击Save All关闭界面,在Target选择界面就会自动识别出我们的APM32F407-Tiny开发板
到这里APM32F407-Tiny的Mbed OS工程适配就已经完成了,接下来就可以进行编译下载操作了。
流水灯,亮!
软件生成的代码默认是点亮LED1,我们需要将其改为LED2,将main函数代码改为:
DigitalOut led(LED2);
while (true) {
led = !led;
ThisThread::sleep_for(BLINKING_RATE);
}
编译下载后即可在开发板上观察到板载的LED2闪烁,亮灯大业到这里就结束了,工程的适配已圆满完成,接下来我们就可以进行各种外设的开发使用了,冲~~~