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是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版