你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32开发板推荐 | 支持裸跑的米尔STM32MP135开发板,响应硬实时需求

[复制链接]
STMCU-管管 发布时间:2024-4-22 15:59
以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。; ~  F7 I4 h+ I4 z( E
嵌入式开发有两个趋势:一是MCU开发者希望友好过渡到MPU,让嵌入式产品在性能等各方面显著提升;二是跑Linux的MPU在实时性方面差强人意,有硬实时需求的产品,在MPU上裸跑是解决实时性需求的技术路径。
& v6 X, [( C) b今天我们为大家带来一款可以进行Bare metal裸机开发的MPU开发板,米尔STM32MP135开发板。STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的场景。米尔STM32MP135开发板提供基于STM32Cube的Bare metal裸机开发的软件,能够进一步加强实时性能支持以满足用户实现硬实时应用的需求。这一点尤其对习惯于使用MCU开发的用户来说非常友好,可以让开发者在使用MPU强大性能的同时获得类似MCU的开发体验。接下来就让我们介绍如何在米尔的STM32MP135开发板上进行裸机开发。# \: R3 x! F/ o; _0 w
! t" G! T2 e1 ^) t5 v) `
3 @  H5 `; j! S' v" A% Y
产品介绍8 d4 ^' B5 Y$ ~% e. m
米尔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等场景。$ z5 n5 Q2 d3 H* N0 m( V
STM32.png
环境搭建
; L) b3 ^6 v# z% [! p- y; z1.1.获取源码
: d# ]) C3 n) t2 v$ p下载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。
, ~) J# f9 j& k5 B1 X; `
获取源码1.png
获取源码2.png
6 Q4 B7 R& N2 A( J% y& ~# l  k

' i4 z6 f- E' B' g4 |1.2.编译源码
7 G/ s% ^! `( W  t  }( y成功导入工程后进行编译,点击Image进行编译,当下方出现0 errors, 0 warnings表示编译成功。4 p8 [* d$ q) z# `$ c( o" V2 j

编译源码

编译源码
1.3.开发板接线
, Y+ o" c; P& K  v  k/ U当工程源码编译完后,开发板需要连接ST-Link进行调试,并且将拨码开关拨到工程模式1-4:1000,用到的接口是J7,由于出厂时没有将引脚焊接,需要用户自行焊接,接线方式如下图:
( ]% ~7 w4 ?/ e+ H$ Y5 |  m7 ?

开发板接线

开发板接线
1.4.调试工程* ~& _+ K, z+ [8 V# d: n; d
在2.3中编译完后,接下来进行调试的操作,点击点击

点击

点击
调试,如图:
5 k. m% |$ a$ x9 X! Q7 `: d8 Y

调试工程

调试工程
进入到界面之后点击全速运行,看到开发板的蓝灯在闪烁说明ddr初始化成功:
! ~8 v, i+ {9 @! r% f5 ]/ u7 D  {1 X

看到开发板的蓝灯在闪烁说明ddr初始化成功

看到开发板的蓝灯在闪烁说明ddr初始化成功
' m4 m$ ^" A0 R# {& u

- l, N: t( f. k0 }/ R6 j2应用加载
/ E; u7 O- p8 }; N- o; s2.1.应用环境配置
! B, n) _8 M! a: `" {4 K在初始化完ddr后,接下来就是让应用程序跑在ddr上,这里我们选用MYD-YF13X-20230601\STM32CubeMP13-1.0.0\Projects\STM32MP135C-DK\Templates\BSP_BasicTemplates路径下的工程应用:
6 R3 `9 f7 w1 o, C' u5 [/ }# f根据1.1中的方法导入工程,看到工程成功导入之后,右键点击工程文件名,然后点击properties:" |9 R3 I5 m' ~/ O+ g3 V, x

右键点击工程文件名

右键点击工程文件名
在执行以上操作后弹出Enter Value后添加USE_DDR字符并保存:: V' h$ c  ?  Z4 S* |" P; I* Y& ^% r

添加USE_DDR字符并保存

添加USE_DDR字符并保存
继续右键点击工程文件名,然后点击properties:1 q' G* ^, \4 x" n! }

然后点击properties

然后点击properties
按照以上步骤打开STM32CubeMP13-1.0.0\Projects\STM32MP135C-DK\Templates\BSP_BasicTemplates\STM32CubeIDE\MP13_BSP_BasicTemplates路径下的stm32mp13xx_a7_sysram.ld文件:6 Q$ W, W2 ^# T4 _0 j

按照以上步骤打开

按照以上步骤打开
将REGION_ALIAS("RAM", DDR_BASE);部分的注释删除,再把REGION_ALIAS("RAM", SYSRAM_BASE)给注释掉,保存并选中:$ s4 Z; \4 ]: T

REGION_ALIAS

REGION_ALIAS
' H  ^! w8 y2 z! n# J) H

6 r1 v& J" L+ `& J2.2.调试应用
, H6 Z5 F; t7 t将以上环境配置完成之后,在应用调试阶段也需要进行一个配置,打开工程的调试设置界面,点击startup,将monitor reset删除,保存并调试:
) E$ [0 V/ X% h6 K- ]

调试应用

调试应用
将开发板接上串口,全速运行,串口会打印Hello World - USE_STM32MP135 BOARD,至此应用调试成功。
" v7 I+ C2 B/ c7 z

将开发板接上串口

将开发板接上串口

5 p( ^/ I' J' Y8 r8 X' V# C

" ^1 N; J9 d' E' N6 h& [4 \( W3创建应用. }) t: q% }( K6 S" Z* s; Q! E  r
3.1.适配硬件0 r; I$ M  q7 g  G6 \) `. O$ I, j
以米尔MYD-YF13x开发板上的心跳灯为例,首先要确定心跳灯用到的GPIO口。查看硬件原理图可以看到心跳灯连接的是SPI5_MOSI:
3 f+ J1 k) K  \! F0 L1 V% P

适配硬件

适配硬件
通过查看米尔的Pin List可知道SPI5_MOSI对应的引脚是PH12,那么接下来就开始创建工程来配置心跳灯的闪烁。
6 }, t) O  b: o* z& m# n3.2.工程创建
% s+ i- Q' G3 d& T% O, S5 @米尔创建的工程位于STM32CubeMP13-1.0.0\Projects\STM32MP135C-DK\Examples\GPIO\GPIO_EXTI路径下,根据1.1中的方法导入工程,如下:
5 h8 b1 {( c* W2 W

米尔创建的工程位于STM32CubeMP13

米尔创建的工程位于STM32CubeMP13
开始对心跳灯进行配置,修改stm32mp13xx_disco.h里的心跳灯引脚配置:4 a1 G' t& W4 n5 w( u

开始对心跳灯进行配置

开始对心跳灯进行配置
修改完后回到main.c文件里在while函数中添加心跳灯的代码:+ i% D% w3 n+ {( X

修改完后回到main.c文件

修改完后回到main.c文件
编译并调试后,让程序全速运行,可以看到开发板上的蓝灯闪烁:
8 S3 P. S9 F1 d+ g$ z8 B7 `

编译并调试后

编译并调试后
至此创建的工程调试成功。
) p4 B! ~/ i& |9 t0 s+ z/ m

至此创建的工程调试成功

至此创建的工程调试成功
  w6 ^. j: i- W, q3 b% A/ H& f# w
赞 收藏 评论0 发布时间:2024-4-22 15:59

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版