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

发布者:EE小广播最新更新时间:2024-03-28 来源: EEWORLD关键字:STM32  米尔  MPU  STM32MP1 手机看文章 扫描二维码
随时随地手机看文章

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


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



米尔基于STM32MP135核心板及开发板

环境搭建

获取源码

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

编译源码

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

开发板接线

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

调试工程

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

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

应用加载

应用环境配置

在初始化完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)给注释掉,保存并选中:

调试应用

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



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





创建应用

适配硬件

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



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

工程创建

米尔创建的工程位于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等场景



关键字:STM32  米尔  MPU  STM32MP1 引用地址:米尔基于STM32MP135开发板裸机开发应用笔记,MCU友好过渡MPU

上一篇:BeagleBoard宣布推出采用TI 4 TOPS算力SoC的开源硬件BeagleY-AI
下一篇:SolidRun推出Hailo-15的SOM

推荐阅读最新更新时间:2026-03-22 12:04

2023 STM32全国巡展,米尔限量发STM32MP135开发板优惠券
2023年9月12日至10月27日,以“STM32,不止于芯”为主题的第十六届STM32全国巡回研讨会将走进11个城市,本届研讨会为全天会议,我们将围绕STM32最新产品开展技术演讲和方案演示。 本次STM32全国研讨会,米尔电子将现场展出STM32相关的最新产品技术和应用演示,为工程师们提供共话交流共同探索开放式平台,届时,米尔电子的技术工程师将与各位嘉宾面对面深入交流。感兴趣的客户和朋友欢迎莅临参观了解! 米尔电子的明星产品将精彩亮相 米尔MYC-YF13X 核心板及开发板 基于STM32MP1系列MPU,STM32MP135高性价比入门级MPU设计平台,完整的安全生态系统让MCU开发者友好地过渡到MPU平
[单片机]
2023 <font color='red'>STM32</font>全国巡展,<font color='red'>米尔</font>限量发<font color='red'>STM32MP135</font>开发板优惠券
STM32嵌入式开发,米尔STM32MP135核心板助力充电桩发展
随着电动车的普及和环保意识的增强, 充电桩作为电动车充电设备的重要一环,充电桩行业正迅速发展,消费市场的大量应用也造就市场的需求量不断增长 。因此,产品的功能、可靠性、安全性等要求也变得尤为重要,而采用传统单片机产品并不能满足充电桩的智能控制等需求,本文详细介绍基于米尔STM32MP135核心板的充电桩应用方案。 图1:充电方案图 采用STM32MP135系列微处理器进行电动汽车的智能嵌入式充电桩设计,并通过“指挥”8位和16位微控制器实现复杂功能的智能控制。在智能充电桩的应用里,具备高性价比、低功耗、高可靠性的STM32MP135优势有以下几个方面: 跑Linux系统,实时处理数据和任务 充电桩通常由一个
[单片机]
<font color='red'>STM32</font>嵌入式开发,<font color='red'>米尔</font><font color='red'>STM32MP135</font>核心板助力充电桩发展
I2C、IIC通讯(填坑作,MPU6050数据读取,STM32主控,附源码)
上图的VCC 接 3.3V,GND接地,SCL和SDA分别接上单片机引脚,并加上上拉电阻,AD0接地。 代码链接:https://pan.baidu.com/s/1AvuMYvgX8Xy8g81S0Ay5Yg 提取码:sce0 初始化单片机引脚,并置1 程序里引脚的变化顺序还有延时的位置一定不要错。 IIC起始信号;SDA置零,等待,SCL置零 写入一次数据,IIC每次写入的数据长度都是8Bit,写入顺序是从最高位写到最低位。 SCL置0,SDA存放数据的最高位,数据左移1位,等待,SCL置1,数据起效,等待。 右移7位:1000 0000会变成0000 0001。(0X80 0X01) 左移1位:1101 000
[单片机]
基于STM32 HAL库的平衡循迹小车技术详解:串级PID控制、MPU移植及电赛应用
1.硬件设计(仅限参考) 先是原理图如下 主要模块:灰度,电源,mpu(陀螺仪),oled,tb6612,含有编码器的电机 2.mpu模块的使用和移植 想要使平衡车保持平衡,mpu是最重要的模块,大家可以参考这个博主写的 http://t.csdnimg.cn/ITLI3 如果大家没有时间或者移植失败,也可以直接移植我代码之中的mpu模块: 链接: https://pan.baidu.com/s/1-9Vstj5v0Wgqkm1AFrCt_w?pwd=k8g8 提取码: k8g8 3.代码的主要逻辑 1.通过mpu获得pitch,roll,yaw的值来进行处理 2.获得编码器的数值3.通过处理之后的数据
[单片机]
基于<font color='red'>STM32</font> HAL库的平衡循迹小车技术详解:串级PID控制、<font color='red'>MPU</font>移植及电赛应用
STM32 HAL SPI读取MPU6500的设备ID异常
1、问题背景 近前,使用STM32F4 HAL库的SPI读取MPU6500出现异常。 现象:读取ID失败,返回0,以为硬件焊接问题,各种排查,最后为了示波器测试方便,把读取ID的函数放到While(1)里,反复的读然后抓波形,奇迹出现了,第一次读取出现错误,后面的都返回了正常的ID号。既然问题已经清楚,能够反复重现,那么排查起来也就容易多了,为了找到这个问题,花费了1天的时间,搞得都毛了,真是服了自己,之前想过反复读抓波形,但是不想改代码,每次都点击复位然后再抓波形,竟然完美的错过了后面的正常数据。 硬件连接如下: /**SPI1 GPIO Configuration PA15 ------ SPI1_N
[单片机]
<font color='red'>STM32</font> HAL SPI读取<font color='red'>MPU</font>6500的设备ID异常
STM32实现MPU6050原始数据的读取
最近项目组在做自主导航的小车,需要读取底盘的姿态,所以准备往上面加mpu6050,于是整理了这样的文档供以后学习,程序是在正点原子的库上更改的。 1.了解MPU6050 MPU-60x0 是全球首例 9 轴运动处理传感器。它集成了 3 轴MEMS陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP(Digital Motion Processor)。 MPU-60x0 对陀螺仪和加速度计分别用了三个 16 位的 ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为 ±250,±500,±1000,±2000°/秒(dps),加速度计可测范围
[单片机]
STM32入门学习笔记之MPU6050传感器解析实验2
(2) 陀螺仪配置寄存器 (地址:0x1B) 7 6 5 4 3 2 1 0 XG_ST YG_ST ZG_ST FS_SEL - - - Bit 7:陀螺仪X轴自检 0:禁用 1:启用 Bit 6:陀螺仪Y轴自检 0:禁用 1:启用 Bit 5:陀螺仪Z轴自检 0:禁用 1:启用 Bit 4~Bit 3:陀螺仪满量程 0:±250°/s 1:±500°/s 2:±1000°/s 3:±2000°/s (3) 加速度传感器配置寄存器 (地址:0x1C) 7 6 5 4 3 2 1 0 XA_ST YA_ST ZA_ST AFS_SEL - - - Bit 7:加速度计X轴自检 0:禁用 1:启用 B
[单片机]
STM32获取MPU6050数据
参考视频:https://www.bilibili.com/video/BV1Fy4y1t7me https://www.bilibili.com/video/BV1kx411k7JT?p=63 效果图: 接线: SDA–PB11 SCL–PB10 MPU6050模块的介绍: MPU6050内部整合了三轴MEMS陀螺仪、三轴MEMS加速度计以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),而且还可以连接一个第三方数字传感器(如磁力计),这样的话,就可以通过IIC接口输出一个9轴信号(链接第三方数字传感器才可以输出九轴信号,否则只有六轴信号)。更加方便的是,有了DMP,可以结合In
[单片机]
<font color='red'>STM32</font>获取<font color='red'>MPU</font>6050数据
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved