1. 引言
- 2025年1月,灵动微电子隆重发布了基于Armv8-M架构的旗舰级MM32F5370新品。它搭载安谋科技“星辰”处理器,内核动力强劲,具备强大的实时控制性能,可满足三电机控制、数字能源、人性机器人等领域的高可靠性应用开发需求。此外,该产品提供丰富的双向存储系统,可全面保障数据和代码的安全。本期评测的Mini-F5375-OB开发板正是基于MM32F5370新品打造。
- 极术社区与灵动微电子再度合作启动基于灵动MM32F5370产品的Mini-F5375-OB开发板评测活动,有幸参加了试用。
收到开发板后,进行了初步试用,移植了FreeRTOS到Mini-F5375-OB开发板,本文介绍了初步试用的过程。
2. 开箱
开箱照:
防静电包装,很专业:
正面照,布局中规中矩,标识清晰
背面照,清楚标识了使用的主控型号为MM32F5375G7PV
3. 环境搭建,更换了几个版本的MDK,成功安装开发包
3.1 下载开发资源
1. 灵动MM32F5370新产品及Mini-F5375-OB开发板详细介绍,含文档资料下载 - 极术社区
2. MDK542a IDE
3. 上海灵动微电子股份有限公司 官网 MM32F5370系列资料页
4. MM32F5370数据手册
5. MM32F5370用户手册
6.MM32F5370库函数与历程
7.Mini-F5375-OB开发板原理图
8. MM32系列 Keil 设备支持包Packs
3.2 MDK和Packs安装过程的问题和解决
- 最初安装了MDK529版本,然后安装了MindMotion.MM32F5370_DFP.0.4.3.pack,但在Keil IDE的Device选择中看不到MM32F5370系列的器件。
- 后来,重新安装了MDK524a版本,安装Pack后可看到和选择Device,可用选择MM32F5375G7PV。
4. 初次加电,体验出厂测试代码功能
- 开箱后,第一次上电,体验出厂测试代码功能
- 使用TypeC USB线连接USB-DBG口
- 上电后,D1和D2灯同步闪烁。打开串口终端MobaXterm,选择对应串口,按下复位键,此时串口终端会打印出厂测试代码信息,如下图:
- 按下c,后,循环打印ADC结果
- 重新按复位键,依次输入d,e,f,查看结果
5. 移植FreeRTOS
5.1 初试FreeRTOS代码
- 体验完官方出厂测试代码的功能后,就要开始自己的创造了。起初是想移植RT-Thread到MM32F5375,后来查看MM32F5370库函数与历程,发现里面有FreeRTOS例程,于是决定从这个例程入手,实现自己的点灯和串口打印。
- LibSamples_MM32F5370_V0.10.3下,有一个FressRTOS_Blinky Demo.
- 进入MDK-ARM目录下,打开工程
- 首先确认更改一下主控芯片型号,选择开发板上的MM32F5375G7PV
- 点击编译,会出现一个报错,如下图所示,提示找不到mindpwm.c
- 注意到其他驱动代码都是hal_开头的文件,于是在驱动源码目录HAL_Lib/src目录下看到有hal_mindpwm.c文件。
- 将这个文件添加工程目录HAL_LIB下
- 然后移除mindpwm.c
- 重新编译,通过了,0错误,0警告
- 烧写代码前,先选择调试下载器
- 选择Settings,可以看到识别出了芯片ID,说明配置正确
- 选择Flash Download 页面,勾选Reset and Run,避免每次下载后按复位键
- 然后,点击下载代码,烧写后,原来出厂代码就没有了,双灯也不亮了,串口也没有输出了,程序有问题。
- 查看代码说明,发现这个代码是用于EVB-F5375开发板的,使用的主控是MM32F5375G8PV,不适用于目前的Mini-F5375-OB开发板。
5.2 移植LED控制代码
- 查看Mini-F5375-OB开发板上LED资源
- 而原代码中LED的初始代码如下
- 对照原理图,修改LED初始化代码
- 更改后,重新编译下载,可以看到2LED分别以不同频率闪烁。FreeRTOS点灯成功。
- 修改一下2个线程的LED闪烁参数,重新编译下载,LED以不同频率闪烁。
5.2 移植串口代码
- 代码中可以看到有打印输出的功能,但从串口终端看不到任何输出。
- 同样,查看原理图中所使用的串口资源
- 从图中可以看出Mini-F5375-OB开发板使用了USART3作为输出串口,查看代码设置情况
- 可以看出代码中初始化的是USART1,所以没有输出。于是修改代码改为USART3.查阅用户手册,找到USART3使用的时钟源信息。修改初始化代码如下:
- 修改打印输出底层函数
- 修改对应打印输出信息,于使用的开发板对应
- 编译下载,运行代码,结果如下,可以看到正确打印输出
至此,FreeRTOS在Mini-F5375-OB开发板上可以正常运行了。下一步是增加串口输入接收功能和测试其他功能
6 结束语
本文介绍了Mini-F5375-OB开发板的开箱试用,FreeRTOS的移植,实现FreeRTOS在开发板上通过2个线程分别控制2个LED,并实现了打印信息输出。初步体验了开发板和代码库的使用。
后续计划
- 实现串口接收功能,实现通过控制台输入信息,控制程序运行。
- 移植RT-Thread到开发板
- 测试SPI功能,为读取磁编码器数据奠定基础