Magicoe是攻城狮 · 2022年08月28日 · 上海市长宁区

【MM32F5270开发板试用】一、让MM32F5270支持RT-Thread~打通串口UART

喜欢RT-Thread的代码10余年~,但凡有新上手的MCU必定看看诺诺RT-Thread的OS,加上RTT优质的BSP资源和中文文档,非常适合新手上路。最近几年和FreeRTOS并驾齐驱,很多客户的工程师都在点名要RT-Thread。
so,让我们先移植RT-Thread到MM32F5270吧~
写这篇稿子的时候,我已经完成了好多功能,”极术小姐姐“催稿~,我就分成几篇来写吧,我想弄的玩意儿太大了,一时半会完成不了,分步倒是蛮好的。

言归正传,先说打通串口
第一步:IDE
毕竟我最熟的IDE还是KEIL,虽然其他的IDE也滚瓜烂熟的。奈何KEIL是在是“方便“。
似乎官方有活动给License,这里我就不赘述了,应该有其他帖子介绍如何申请。
第二步:布局文件夹
app_source是我放应用代码的文件夹
mm32f5270_drivers是灵动微官方的芯片级驱动代码的文件夹
rt-thread是RTT的代码文件夹
mpu6050和paj7620是两个sensor的驱动文件,用不到可以不用考虑
mm32f5277_flash.sct是分散加载文件
其他的几个文件比如EventRecorderStub.scvd和mm32f5270.uvoptx啥的都是KEIL的工程文件
output文件夹是项目编译产生的乱七八糟的东西放的地方,当然工程的hex和axf或者bin文件也在这里边,并不是乱七八糟~哈哈哈
1.png

第三步:内核支持
他们说STAT-MC1和Cortex-M33很像,反正都是V8-M架构,那就从Cortex-M33里拿了啊
5.png
第四步:引脚 时钟 初始化
引脚
MM家官方把引脚的初始化放到了pin_init.c,如果不懂对应引脚的初始化可以看官方的例程和用户手册,我两个地方都放了,pin_init.c和drv_uart.c,都行,看个人和应用喜好了
3.png

4.png

时钟
MM家时钟初始化是放在clock_init.c里的,要注意一些问题,比如外设是APB1的还是APB2的,尽量copy参考工程里的,不然要出点小问题,如下,也可以放到drv_uart.c里干同样的事儿

RCC_EnableAPB2Periphs(RCC_APB2_PERIPH_UART1, true);
RCC_ResetAPB2Periphs(RCC_APB2_PERIPH_UART1);

第五步:
看下我drv_uart.c和drv_uart.h的代码,放到工程里
6.png

第六步:
配置下rtconfig.h
使能console,并且配置console连接的是“uart1”
7.png

配置下FINSH相关宏定义
8.png

再使能相对应的串口
9.png

第七步:
注意下Stack和Heap的设置
10.png

编译下载
11.png

看结果
此处有视频,等三天后我来改稿子,腾讯视频新号审核要三天

推荐阅读
关注数
6144
内容数
276
灵动MM32 MCU相关技术知识,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息