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

  • Post author:
  • Post category:其他


本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:Magicoe是攻城狮

喜欢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文件也在这里边,并不是乱七八糟~哈哈哈

第三步:内核支持

他们说STAT-MC1和Cortex-M33很像,反正都是V8-M架构,那就从Cortex-M33里拿了啊

第四步:引脚 时钟 初始化

引脚

MM家官方把引脚的初始化放到了pin_init.c,如果不懂对应引脚的初始化可以看官方的例程和用户手册,我两个地方都放了,pin_init.c和drv_uart.c,都行,看个人和应用喜好了

时钟

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的代码,放到工程里

第六步:

配置下rtconfig.h

使能console,并且配置console连接的是“uart1”

配置下FINSH相关宏定义

再使能相对应的串口

第七步:

注意下Stack和Heap的设置

编译下载

看结果

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



版权声明:本文为weixin_47569031原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。