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

本文主要是介绍MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。

STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的场景。米尔的STM32MP135开发板提供基于STM32Cube的Bare metal裸机开发的软件,能够进一步加强实时性能支持以满足用户实现硬实时应用的需求。这一点尤其对习惯于使用MCU开发的用户来说非常友好,可以让开发者在使用MPU强大性能的同时获得类似MCU的开发体验。米尔提供了支持裸机开发环境,接下来就让我们介绍如何在米尔的STM32MP135开发板上进行裸机开发。

1.环境搭建

1.1.获取源码

下载米尔提供的04_Sources/STM32CubeMP13-1.0.0源码包,并使用 STM32CubeIDE导入STM32Cube_FW_MP13_V1.0.0ProjectsSTM32MP135C-DKExamplesDDRDDR_Init文件,点击File->Import->Existing Projects into Workspace。

1.2.编译源码

成功导入工程后进行编译,点击🔨进行编译,当下方出现0 errors, 0 warnings表示编译成功。

1.3.开发板接线

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

1.4.调试工程

  • 在2.3中编译完后,接下来进行调试的操作,点击调试,如图:

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

2.应用加载

2.1.应用环境配置

在初始化完ddr后,接下来就是让应用程序跑在ddr上,这里我们选用MYD-YF13X-20230601STM32CubeMP13-1.0.0ProjectsSTM32MP135C-DKTemplatesBSP_BasicTemplates路径下的工程应用:

  • 根据1.1中的方法导入工程,看到工程成功导入之后,右键点击工程文件名,然后点击properties:

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

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

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

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

2.2.调试应用

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

将开发板接上串口,全速运行,串口会打印Hello World - USE_STM32MP135 BOARD,至此应用调试成功。

3.创建应用

3.1.适配硬件

以米尔MYD-YF13x开发板上的心跳灯为例,首先要确定心跳灯用到的GPIO口。查看硬件原理图可以看到心跳灯连接的是SPI5_MOSI:

通过查看米尔的Pin List可知道SPI5_MOSI对应的引脚是PH12,那么接下来就开始创建工程来配置心跳灯的闪烁。

3.2.工程创建

米尔创建的工程位于STM32CubeMP13-1.0.0ProjectsSTM32MP135C-DKExamplesGPIOGPIO_EXTI路径下,根据1.1中的方法导入工程,如下:

开始对心跳灯进行配置,修改stm32mp13xx_disco.h里的心跳灯引脚配置:

修改完后回到main.c文件里在while函数中添加心跳灯的代码:

编译并调试后,让程序全速运行,可以看到开发板上的蓝灯闪烁:

至此创建的工程调试成功。


产品介绍

米尔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等场景。

这篇关于MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859718

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo