米尔基于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

推荐阅读最新更新时间:2024-11-07 14:49

STM32 UART(接收 ,发送数据)
UART接收发送数据: 平台:STM32F401 discovery版 此代码用的UART6,TX,RX对应的PIN脚是PC6,PC7 如图: 代码如下: 步骤一:初始化串口的GPIO,USART,并且配置上UART的RX中断 void USART6_Config(void) { USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; /* Enable GPIO clock */ RCC_AHB1Per
[单片机]
<font color='red'>STM32</font> UART(接收 ,发送数据)
再造STM32---第七部分:初识 STM32 固件库
本章参考资料:《STM32F4xx 参考手册》、《STM32F4xx 规格书》、《Cortex-M3 权威指南》 , STM32 标准库帮助文档:《stm32f4xx_dsp_stdperiph_lib_um.chm》。在上一章中,我们构建了几个控制 GPIO 外设的函数,算是实现了函数库的雏形,但GPIO 还有很多功能函数我们没有实现,而且 STM32 芯片不仅仅只有 GPIO 这一个外设。 如果我们想要亲自完成这个函数库,工作量是非常巨大的。 ST 公司提供的标准软件库,包含了 STM32 芯片所有寄存器的控制操作,我们直接学习如何使用 ST 标准库,会极大地方便控制 STM32 芯片。 7.1 CMSIS
[单片机]
再造STM32---第七部分:初识 <font color='red'>STM32</font> 固件库
基于stm32cubemx对fatfs文件系统进行移植
今天要给大家分享的是使用FatFs这个库来读写SD卡上面的文件。工程的初始化函数和FatFs都是通过STM32CubeMX配置生成的,不需要我们手动添加库。 今天分享的内容和我的上一篇帖子 SDIO读取SD卡的扇区 有关,最好掌握了SDIO读取SD卡扇区的基础之后再来看这一篇帖子。 写在前面的话 上一次发表了关于SDIO读取SD卡的一篇开发分享的帖子,今天呢就更进一步使用了FatFs文件系统。同样我们完全使用ST公司提供的STM32CubeMX软件和HAL库来进行开发。如果喜欢我的帖子请多多回复我会努力更新的。 我使用的工具 开发平台:正点原子探索者STM32F407开发板 硬件:使用了NUCLEO-F446RE开发板的ST-Li
[单片机]
STM32采集DHT11温湿度传感器的信号采集
首先的介绍下DHT11这款温湿度传感器。 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。DHT11的供电电压为 3-5.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。 DHT11温湿度传感器的引脚定义如下: Pin 名称 注释
[单片机]
<font color='red'>STM32</font>采集DHT11温湿度传感器的信号采集
STM32架构受肯定 意法半导体稳居市场龙头
自从苹果电脑与宏达电不约而同于2008年推出划时代的新一代智慧型手机后,不仅引爆了智慧型手机与平板电脑的高度成长,更让行动装置成为消费市场最受欢迎的设备。而在市面上众多架构中,ARM架构处理器由于具备省电、运算速度快,所以自然成为各家厂商推出行动产品的首选。 随着平板电脑、智慧型手机快速普及,具备省电特性的ARM架构处理器,已经成为全球销售量成长速度最快的处理器。根据市场研究机构的调查报告指出,ARM架构处理器从2007年的13.6%,大幅成长到2010年的23.5%,其中以意法半导体STM32晶片为核心的Cortex-M系列,在ARM平台的市场占有率高达45%以上,而且还在持续增加中。 意法半导体产品行销经理杨正
[嵌入式]
STM32内部硬核的认识
  STM32内部含有硬核,对于一些协议(例如:UART,SPI,IIC,CRC等)我们只要调用硬核就可以了,同时我们也可以自己写通信协议。   这些硬核最终肯定是要有引脚输出的,这就是为什么STM32的引脚有复用功能的原因。   以SPI通信协议硬核为例,其硬核连接的引脚是PA4,PA5,PA6,PA7,那么我们如果使用内部硬核就必须使用这几个引脚作为通信引脚   也可以自己编写SPI通信协议,此时的引脚就可以随意定义了。   通常一个引脚有好几种复用功能,在使用硬核时需要我们设置好引脚的寄存器,同时又不影响寄存器其他的状态。
[单片机]
瑞萨电子MCU和MPU产品线将支持Microsoft Visual Studio Code
客户现可以在VS Code中设计和调试瑞萨嵌入式处理器的软件,与瑞萨自有e2 Studio IDE相辅相成 2023 年 8 月 1 日,中国北京讯 - 全球半导体解决方案供应商瑞萨电子今日宣布其客户现可以使用Microsoft® Visual Studio Code(VS Code)开发瑞萨全系列微控制器(MCU)和微处理器(MPU) 。瑞萨已为其所有嵌入式处理器开发了工具扩展,并将其发布在Microsoft VS Code网站上,使习惯于使用这款流行的集成开发环境(IDE)和代码编辑器的大量设计师能够在他们熟悉的开发环境中工作。 VS Code IDE简化并加速了跨多种平台和操作系统的代码编辑。 通过提供对VS
[单片机]
瑞萨电子MCU和<font color='red'>MPU</font>产品线将支持Microsoft Visual Studio Code
1、STM32学习笔记——系统时钟初始化函数
STM32有三种不同的时钟源可被用来驱动系统时钟(SYSCLK): 1:HSI振荡器时钟(内部时钟) 2:HSE振荡器时钟 (外部时钟,即晶振所提供) 3:PLL时钟(锁相环时钟) 这些设备有以下2种二级时钟源: (1)40kHz低速内部RC,可以用于驱动独立看门狗和通过程序选择驱动RTC。RTC用于从停机/待机模式下自动唤醒系统。 (2)32.768kHz低速外部晶体也可用来通过程序选择驱动RTC(RTCCLK)。 当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。 1:常用配置如下 使用HSE作为PLL的输入源,将PLL的输出配置为72MHZ,然后将PLL作为系统时钟,最后将其他时钟配置为
[单片机]
1、<font color='red'>STM32</font>学习笔记——系统时钟初始化函数
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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