以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。4 S+ o m$ S5 w$ _& m 嵌入式开发有两个趋势:一是MCU开发者希望友好过渡到MPU,让嵌入式产品在性能等各方面显著提升;二是跑Linux的MPU在实时性方面差强人意,有硬实时需求的产品,在MPU上裸跑是解决实时性需求的技术路径。 今天我们为大家带来一款可以进行Bare metal裸机开发的MPU开发板,米尔STM32MP135开发板。STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的场景。米尔STM32MP135开发板提供基于STM32Cube的Bare metal裸机开发的软件,能够进一步加强实时性能支持以满足用户实现硬实时应用的需求。这一点尤其对习惯于使用MCU开发的用户来说非常友好,可以让开发者在使用MPU强大性能的同时获得类似MCU的开发体验。接下来就让我们介绍如何在米尔的STM32MP135开发板上进行裸机开发。7 ?0 Z) a: {$ j& S9 T1 d 9 l; m5 v0 t$ h! O, k% q - N- `; I; {0 f& e, r 产品介绍 米尔STM32MP135开发板,基于STM32MP13系列处理器,单核Cortex-A7 设计,运行频率高达1GHz,专为入门级Linux、裸机或RTOS系统设计。开发板采用12V/2A直流供电,搭载了2路千兆以太网接口、1路USB2.0协议MINI PCIE插座的4G模块接口、1路RGB显示接口、1路音频输入输出接口、2路USB HOST Type A、1路 USB OTG Type-C接口、1路Micro SD接口等。开发板接口丰富,适用于能源电力、工业控制、工业网关、工业HMI等场景。 1.1.获取源码 下载04_Sources/STM32CubeMP13-1.0.0源码包,并使用 STM32CubeIDE导入STM32Cube_FW_MP13_V1.0.0\Projects\STM32MP135C-DK\Examples\DDR\DDR_Init文件,点击File->Import->Existing Projects into Workspace。 1.2.编译源码$ _) ^5 t- B `' p, ~9 n1 [* E$ _ 成功导入工程后进行编译,点击Image进行编译,当下方出现0 errors, 0 warnings表示编译成功。2 z) n' f1 l1 p8 l( J 编译源码 当工程源码编译完后,开发板需要连接ST-Link进行调试,并且将拨码开关拨到工程模式1-4:1000,用到的接口是J7,由于出厂时没有将引脚焊接,需要用户自行焊接,接线方式如下图:& `1 l4 \2 _3 f2 _5 [ 开发板接线 在2.3中编译完后,接下来进行调试的操作,点击点击 点击 调试工程 看到开发板的蓝灯在闪烁说明ddr初始化成功 4 T% X; O6 E9 [! Y( Q 2应用加载5 O: T+ {7 M) ?- _$ Z( h 2.1.应用环境配置3 [+ j. q& I1 ]) A; J 在初始化完ddr后,接下来就是让应用程序跑在ddr上,这里我们选用MYD-YF13X-20230601\STM32CubeMP13-1.0.0\Projects\STM32MP135C-DK\Templates\BSP_BasicTemplates路径下的工程应用: 根据1.1中的方法导入工程,看到工程成功导入之后,右键点击工程文件名,然后点击properties:9 e7 V" z* I0 W 右键点击工程文件名 添加USE_DDR字符并保存 然后点击properties 按照以上步骤打开 REGION_ALIAS : Y1 A+ ^, u3 W# q+ `' U' o1 M 2.2.调试应用 将以上环境配置完成之后,在应用调试阶段也需要进行一个配置,打开工程的调试设置界面,点击startup,将monitor reset删除,保存并调试:* j7 B7 K; H% B 调试应用 将开发板接上串口 4 Q. X: ^* `8 |# Y7 U 3创建应用 3.1.适配硬件% o/ I6 v* U0 N, }6 G6 U; {+ ~ 以米尔MYD-YF13x开发板上的心跳灯为例,首先要确定心跳灯用到的GPIO口。查看硬件原理图可以看到心跳灯连接的是SPI5_MOSI: 适配硬件 3.2.工程创建0 c: H( K6 R w: s) E/ Q) ~' H 米尔创建的工程位于STM32CubeMP13-1.0.0\Projects\STM32MP135C-DK\Examples\GPIO\GPIO_EXTI路径下,根据1.1中的方法导入工程,如下:1 q4 k* t" g$ s# w+ k; g 米尔创建的工程位于STM32CubeMP13 开始对心跳灯进行配置 修改完后回到main.c文件 编译并调试后 至此创建的工程调试成功 |
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试
【STM32H7S78-DK评测】步进电机控制介绍一与tensorflow安装与测试
【STM32H7S78-DK评测】XIP模板问题处理与电机控制
【STM32H7S78-DK评测】开发板初识与工程模板创建
【NUCLEO H533RE评测分享】高性能和低成本双Buff加持的NUCLEO H533RE
【NUCLEO-H533RE评测】+09 低功耗测试
【NUCLEO-H533RE评测】+08 初识FreeRtos
【NUCLEO-H533RE评测】+07 IIC调试
【NUCLEO-H533RE评测】+06 ADC调试
【NUCLEO-H533RE评测】+05 调试PWM