[STM32MP1]

MCU如何过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记

[复制链接]
904|21
手机看帖
扫描二维码
随时随地手机跟帖
myir米尔|  楼主 | 2024-3-29 18:39 | 显示全部楼层 |阅读模式
以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。
STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的场景。米尔的STM32MP135开发板提供基于STM32Cube的Bare metal裸机开发的软件,能够进一步加强实时性能支持以满足用户实现硬实时应用的需求。这一点尤其对习惯于使用MCU开发的用户来说非常友好,可以让开发者在使用MPU强大性能的同时获得类似MCU的开发体验。米尔提供了支持裸机开发环境,接下来就让我们介绍如何在米尔的STM32MP135开发板上进行裸机开发。
24.png
1.环境搭建
1.1.获取源码
下载米尔提供的04_Sources/STM32CubeMP13-1.0.0源码包,并使用 STM32CubeIDE导入STM32Cube_FW_MP13_V1.0.0ProjectsSTM32MP135C-DKExamplesDDRDDR_Init文件,点击File->Import->Existing Projects into Workspace。
3.png
4.png
1.2.编译源码
成功导入工程后进行编译,点击进行编译,当下方出现0 errors, 0 warnings表示编译成功。
6.png

1.3.开发板接线
当工程源码编译完后,开发板需要连接ST-Link进行调试,并且将拨码开关拨到工程模式1-4:1000,用到的接口是J7,由于出厂时没有将引脚焊接,需要用户自行焊接,接线方式如下图:
7.png
1.4.调试工程
  • 在2.3中编译完后,接下来进行调试的操作,点击调试,如图:

9.png
  • 进入到界面之后点击全速运行,看到开发板的蓝灯在闪烁说明ddr初始化成功:

10.png
2.应用加载
2.1.应用环境配置
在初始化完ddr后,接下来就是让应用程序跑在ddr上,这里我们选用MYD-YF13X-20230601STM32CubeMP13-1.0.0ProjectsSTM32MP135C-DKTemplatesBSP_BasicTemplates路径下的工程应用:
  • 根据1.1中的方法导入工程,看到工程成功导入之后,右键点击工程文件名,然后点击properties:

11.png
  • 在执行以上操作后弹出Enter Value后添加USE_DDR字符并保存:

12.png
  • 继续右键点击工程文件名,然后点击properties:

13.png
  • 按照以上步骤打开STM32CubeMP13-1.0.0ProjectsSTM32MP135C-DKTemplatesBSP_BasicTemplatesSTM32CubeIDEMP13_BSP_BasicTemplates路径下的stm32mp13xx_a7_sysram.ld文件:

14.png

  • 将REGION_ALIAS("RAM", DDR_BASE);部分的注释删除,再把REGION_ALIAS("RAM", SYSRAM_BASE)给注释掉,保存并选中:

15.png
2.2.调试应用
将以上环境配置完成之后,在应用调试阶段也需要进行一个配置,打开工程的调试设置界面,点击startup,将monitor reset删除,保存并调试:
16.png

将开发板接上串口,全速运行,串口会打印Hello World - USE_STM32MP135 BOARD,至此应用调试成功。
17.png
3.创建应用
3.1.适配硬件
以米尔MYD-YF13x开发板上的心跳灯为例,首先要确定心跳灯用到的GPIO口。查看硬件原理图可以看到心跳灯连接的是SPI5_MOSI:
18.png
通过查看米尔的Pin List可知道SPI5_MOSI对应的引脚是PH12,那么接下来就开始创建工程来配置心跳灯的闪烁。
3.2.工程创建
米尔创建的工程位于STM32CubeMP13-1.0.0ProjectsSTM32MP135C-DKExamplesGPIOGPIO_EXTI路径下,根据1.1中的方法导入工程,如下:
19.png
开始对心跳灯进行配置,修改stm32mp13xx_disco.h里的心跳灯引脚配置:
20.png
修改完后回到main.c文件里在while函数中添加心跳灯的代码:
21.png
编译并调试后,让程序全速运行,可以看到开发板上的蓝灯闪烁:
22.png
至此创建的工程调试成功。
23.png

产品介绍
米尔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等场景。

使用特权

评论回复
评论
forgot 2024-4-17 08:58 回复TA
可以跑linux的STM32 
个百zz分点个| | 2024-3-30 11:30 | 显示全部楼层
Microchip的STM32MP135开发板提供了丰富的外设和接口,适用于各种应用场景

使用特权

评论回复
发给她更好fh| | 2024-3-30 11:50 | 显示全部楼层
本帖最后由 发给她更好fh 于 2024-3-30 11:51 编辑

感谢楼主的细心整理,让我我对这个问题有了更深入的了解

使用特权

评论回复
WoodData| | 2024-3-30 17:30 | 显示全部楼层
感谢分享

使用特权

评论回复
尽快回复过| | 2024-3-30 21:15 | 显示全部楼层
感谢楼主的分享,让我对这个领域有了更清晰的认识。

使用特权

评论回复
zeshoufx| | 2024-4-1 15:02 | 显示全部楼层
个百zz分点个 发表于 2024-3-30 11:30
Microchip的STM32MP135开发板提供了丰富的外设和接口,适用于各种应用场景

Microchip的STM32MP135??

使用特权

评论回复
loutin| | 2024-4-5 21:34 | 显示全部楼层
STM32MP135开发板上进行裸机开发

使用特权

评论回复
tabmone| | 2024-4-6 11:54 | 显示全部楼层
ST也提供了关于裸机开发的专门培训视频,其中详细介绍了裸机开发调试的方法以及如何将程序制作成可加载的SD卡启动镜像。

使用特权

评论回复
jackcat| | 2024-4-8 20:16 | 显示全部楼层
MCU 通常集成了内存和外围设备,适合于嵌入式系统,其处理能力有限。
MPU 通常用于更为复杂的应用,具有更高的处理能力和性能,但可能需要外接内存。

使用特权

评论回复
mmbs| | 2024-4-9 10:51 | 显示全部楼层
STM32MP135是意法半导体(ST)推出的STM32MP2x系列的一部分,它结合了Cortex-A和Cortex-M核心,提供了更高的处理能力和复杂的操作系统支持

使用特权

评论回复
rosemoore| | 2024-4-9 13:44 | 显示全部楼层
在Cortex-A7核心中,可以使用Linux操作系统和应用程序来实现MPU的功能。在Cortex-M4核心中,可以使用裸机编程的方式来实现MPU的功能。

使用特权

评论回复
beacherblack| | 2024-4-9 19:04 | 显示全部楼层
在开始裸机开发之前,需要对MPU进行初始化和配置。MPU用于保护内存区域,防止未经授权的访问。

使用特权

评论回复
gygp| | 2024-4-10 14:11 | 显示全部楼层
STM32MP135是一款基于ARM Cortex-M4和Cortex-A7双核处理器的开发板。Cortex-M4主要用于实时操作和中断处理,而Cortex-A7则负责运行操作系统和应用程序。在裸机开发中,我们需要关注这两个核心之间的通信和资源共享。

使用特权

评论回复
belindagraham| | 2024-4-12 01:24 | 显示全部楼层
配置MPU异常向量,确保当发生MPU异常时,处理器能够正确响应。

使用特权

评论回复
alvpeg| | 2024-4-12 12:07 | 显示全部楼层
基于STM32MP135的开发板是一个使用STMicroelectronics的STM32MP135芯片的评估板。STM32MP135是一款基于ARM Cortex-M7和Cortex-M4内核的双核微控制器,它具有丰富的外设接口和较高的处理能力。

使用特权

评论回复
gygp| | 2024-4-12 22:54 | 显示全部楼层
STM32MP135芯片。该芯片集成了一个ARM Cortex-A7核心和一个ARM Cortex-M4核心,可以支持MPU功能。

使用特权

评论回复
claretttt| | 2024-4-15 13:27 | 显示全部楼层
由于MPU相比MCU有更多的资源,代码优化变得更加重要。

使用特权

评论回复
fengm| | 2024-4-16 23:02 | 显示全部楼层
阅读开发板的使用手册和STM32MP135的数据手册,了解硬件细节。

使用特权

评论回复
huquanz711| | 2024-4-17 08:09 | 显示全部楼层
ST的MPU相对于目前主流的处理器性能还是弱了点

使用特权

评论回复
chenci2013| | 2024-4-17 13:19 | 显示全部楼层
基于米尔基于STM32MP135开发板的裸机开发应用笔记,帮助开发者从MCU过渡到MPU的开发

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

29

帖子

2

粉丝