[APM32F4]

基于APM32F407-Tiny的Mbed-OS初入门系列

[复制链接]
341|5
手机看帖
扫描二维码
随时随地手机跟帖
OneAnswer|  楼主 | 2024-4-1 17:08 | 显示全部楼层 |阅读模式
基于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即可(不会下载固件的小伙伴可以评论区留言)
52a41c9e9fc44b5c5fb6224af38afee8
下载完固件后把开发板连接到电脑,DAPLink会被识别为一个U盘,可以实现拖拽下载功能
1bc7ac0cf4d32eb89dd61f32ae9f790d
打开设备管理器也可以看到DAPLink已经正常识别
f27d68d8eba6c71b17d0b962d02d0328
到这里我们的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文件
b301a155d0634eb682367d38e6826c3a
接下来用Type-C数据线将我们的APM32F407-Tiny开发板连接到PC,打开上次建立的流水灯工程
0805f282c27cd641180de1bfffac5863
接下来我们新建APM32F407-Tiny开发板的Target
225a2ba9c9619dd87b42a0f76b6cfd71
bf89bf842706ee5dc44e5ed476bf738d
第一项USB device软件会自动识别,选择即可。第二项需要手动输入。第三项单击后会自动生成文件custom_targets.json
cdaf3e1b034eda0ef1398e4652e8f425
配置代码如下,直接复制即可:
{
    "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
016ff27e6a9f4ec1541532afe1c96d29
点击Save All关闭界面,在Target选择界面就会自动识别出我们的APM32F407-Tiny开发板
1d4057bb37398657f90ca85a8005776c
到这里APM32F407-Tiny的Mbed OS工程适配就已经完成了,接下来就可以进行编译下载操作了。
流水灯,亮!
软件生成的代码默认是点亮LED1,我们需要将其改为LED2,将main函数代码改为:
  DigitalOut led(LED2);
    while (true) {
        led = !led;
        ThisThread::sleep_for(BLINKING_RATE);
    }
4c6bdc3992d4f156f6da690af3d0cfc7
编译下载后即可在开发板上观察到板载的LED2闪烁,亮灯大业到这里就结束了,工程的适配已圆满完成,接下来我们就可以进行各种外设的开发使用了,冲~~~

使用特权

评论回复
caigang13| | 2024-4-2 07:57 | 显示全部楼层
点灯第一步,永不过时,哈哈。

使用特权

评论回复
WoodData| | 2024-4-2 17:23 | 显示全部楼层
学习

使用特权

评论回复
OKAKAKO| | 2024-4-15 20:17 | 显示全部楼层
IO控制第一步使用

使用特权

评论回复
huquanz711| | 2024-4-16 07:39 | 显示全部楼层
这个OS有什么特殊之处?

使用特权

评论回复
szt1993| | 2024-4-16 19:21 | 显示全部楼层
需要手动合并代码嘛?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

9

帖子

0

粉丝