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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/294436.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【A-006】基于SSH的新闻发布系统(含论文)

【A-006】基于SSH的新闻发布系统(含论文) 开发环境: Jdk7(8)Tomcat7(8)MySQLIntelliJ IDEA(Eclipse) 数据库: MySQL 技术: SpringStruts2HiberanteJSPJquery 适用于: 课程设计,毕业设计&…

一键切换ip地址软件的功能和优势

随着网络技术的不断发展和普及,IP地址已经成为我们在互联网上活动的重要标识。然而,在某些特定情况下,我们可能需要频繁地切换IP地址,以满足不同的网络需求或保护个人隐私。一键切换IP地址的软件应运而生,为我们提供了…

Vue-05

v-model 应用于其他表单元素 常见的表单元素都可以用v-model绑定关联 → 快速获取或设置表单元素的值 它会根据控件类型自动选取正确的方法来更新元素 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name…

红杉资本:2024年关于AI的4大预测

四大预测 预测一&#xff1a;Copilot 将逐渐向 AI Agent 转变。 2024 年&#xff0c;AI 将从辅助人类的 Copilot 转变为真正能替代一些人类工作的Agent。AI 将更像是一个同事&#xff0c;而不仅仅是一个工具&#xff0c;这点在软件工程、客服等行业已经初步显现。 预测二&…

2024年04月在线IDE流行度最新排名

点击查看最新在线IDE流行度最新排名&#xff08;每月更新&#xff09; 2024年04月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多&#xff0c;人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…

喜讯!全视通获评“医用气体行业优秀装备制造企业”称号

春意盎然&#xff0c;“渝”您相见。3月28日&#xff0c;“2024中国医学装备大会暨展览会”在重庆隆重启幕&#xff0c;本次展览会是我国医学装备领域政府部门、相关专家、头部企业深度参与的综合性展会&#xff0c;是先进技术最权威的展示平台之一&#xff0c;是引领创新发展的…

【物联网】Qinghub opc-ua 连接协议

基础信息 组件名称 &#xff1a; opcua-connector 组件版本&#xff1a; 1.0.0 组件类型&#xff1a; 系统默认 状 态&#xff1a; 正式发布 组件描述&#xff1a;通过OPCUA连接网关&#xff0c;通过定时任务获取OPCUA相关的数据或通过执行指令控制设备相关参数。 配置文件&a…

如何通过针对iOS的动态分析技术绕过反调试机制

在这篇文章中&#xff0c;我们将跟大家介绍和分析一种针对iOS的新型安全研究技术&#xff0c;该技术能够让iOS应用程序的调试过程更加轻松&#xff0c;并解决那些可能会延缓我们步伐的阻碍。 如果你要对一个采用了反调试技术的iOS应用程序或二进制文件进行调试的话&#xff0c;…

正则表达式引擎库汇合

1.总览表格 一些正则表达式库的对比 index库名编程语言说明代码示例编译指令1Posix正则C语言是C标准库中用于编译POSIX风格的正则表达式库 posix-re.cgcc posix-re.c 2PCRE库C语言提供类似Perl语言的一个正则表达式引擎库。 一般系统上对应/usr/lib64/libpcre.so这个库文件&am…

MDO4104B-6泰克MDO4104B-6混合域示波器

181/2461/8938产品概述&#xff1a; 包含逻辑分析仪、频谱分析仪和协议分析仪的示波器 - 所有这些都同步实现集成视图。尽管您可以将泰克 MDO4000B 系列简单地用作混合信号示波器或频谱分析仪&#xff0c;但真正的威力来自于两者的集成。您有史以来第一次可以在一台仪器上看到…

接口自动化框架搭建(八):pytest+allure+jenkins接入

1&#xff0c;安装allure插件 2&#xff0c;创建jenkins项目 怎么确定路径&#xff0c;可以查看工作空间&#xff0c;jenkins默认根目录就是工作空间 配置执行用例的命令&#xff0c;可以现在pycharm上试一下&#xff0c;然后在jenkins中配置&#xff1a; 把启动java服务的代…

Flutter 开发学习笔记(0):环境配置

文章目录 前言开发需求环境配置运行出现问题我运行也是解决了很久的问题镜像源设置为清华的镜像源&#xff08;不知道有没有影响&#xff09;使用JDK17&#xff0c;测试过JDK21和JDK11都不行手动下载flutter 对应的gradle添加阿里云代理安卓编译下载 运行成功&#xff01; 前言…

双目测距项目 | 在Jetson-Nano平台上部署SGBM深度测距+YOLOv5目标检测算法

项目应用场景 面向在 Jetson Nano 平台上部署 SGBM 深度测距和基于 YOLOv5 的目标检测算法&#xff0c;实现双目测距的功能。 项目流程与效果&#xff1a; 项目细节 > 具体参见项目 README.md项目获取 https://download.csdn.net/download/weixin_42405819/89051043

【2024年5月备考新增】《2024高项论文精华版(3)考试技巧》

3 考试技巧 3.1 考试难度 考试难度上&#xff0c;越是常见的题目、越是被大家预测的题目&#xff0c;阅卷就会更严格。 越是大家猜测不到的&#xff0c;越是小众的题目&#xff0c;阅卷严格程度就会低。 3.2 技巧 1、记住软考论文的目的&#xff0c;不是为了证明你的格式严谨…

枚举---算法

1、定义 枚举算法&#xff1a;也称之为穷举算法&#xff0c;这种算法就是在解决问题的时候去使用所有的方式去解决这个问题&#xff0c;会通过推理去考虑事件发生的每一种可能&#xff0c;最后推导出结果。优点&#xff1a;简单粗暴&#xff0c;它暴力的枚举所有可能&#xff…

蓝桥杯刷题day13——乘飞机【算法赛】

一、问题描述 等待登机的你看着眼前有老有小长长的队伍十分无聊&#xff0c;你突然想要知道&#xff0c;是否存在两个年龄相仿的乘客。每个乘客的年龄用一个 0 到 36500 的整数表示&#xff0c;两个乘客的年龄相差 365 以内就认为是相仿的。 具体来说&#xff0c;你有一个长度…

数据结构——数组

数组定义&#xff1a; 在计算机科学中&#xff0c;数组是由一组元素&#xff08;值或变量&#xff09;组成的数据结构&#xff0c;每个元素有至少一个索引或键来标识。 因为数组内的元素是连续存储的&#xff0c;所以数组中元素的地址&#xff0c;可以通过其索引计算出来。 性…

问题2-前端json数组数据转换成csv文件

代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>将 JSON 数据导出为 CSV 文件</title> …

电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理

随着市场竞争的加剧和企业规模的扩大&#xff0c;招采管理逐渐成为企业核心竞争力的重要组成部分。为了提高招采工作的效率和质量&#xff0c;我们提出了一种基于电子化平台的解决方案。该方案旨在通过电子化招投标&#xff0c;使得招标采购的质量更高、速度更快&#xff0c;同…

SMILETrack——ByteTrack与外观特征的融合实现高效的多目标跟踪方法

概述 ByteTrack在多目标跟踪领域取得了显著成就&#xff0c;但依赖运动信息&#xff08;IoU&#xff09;进行关联的机制存在局限性。为了弥补这一不足&#xff0c;SMILETrack提出一种集成了外观特征的最先进的多目标跟踪&#xff08;SoTA&#xff09;模型。 在多目标跟踪的两大…