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


    本篇文章来自极术社区与灵动组织的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);
    
    • 1
    • 2

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

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

    配置下FINSH相关宏定义

    再使能相对应的串口

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

    编译下载

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

  • 相关阅读:
    Elasticsearch,Logstash和Kibana安装部署(ELK Stack)
    机器学习笔记 - 图像搜索的常见网络模型
    Spring Cloud Alibaba【创建支付服务生产者、创建服务消费者 、Dubbo和OpenFeign区别 、微服务接入OpenFeign】(二)
    探究kubernetes 探针参数periodSeconds和timeoutSeconds
    【虚拟机】
    11.27学术报告听讲笔记
    刷完这50个标准库模块:没人比我更懂Python了
    Revit插件中的“喷淋对齐”“链接CAD”功能操作
    3.03_python+Django+mysql实现pdf转word项目_项目部署-mod_wsgi安装配置
    SpringCloudAlibaba SpringCloud SpringBoot 版本对照
  • 原文地址:https://blog.csdn.net/weixin_47569031/article/details/127426741