STM新闻官 发表于 2024-4-23 18:25

快速上手STM32MP13裸跑应用程序

本帖最后由 STM新闻官 于 2024-4-23 18:27 编辑

很多嵌入式应用中,既需要Arm Cortex-A 核的高主频高算力,又需要裸跑带来的实时性,如PLC、运动控制器、伺服驱动、音频处理器等。如何解决这些系统应用的硬实时需求?答案是在Arm Cortex-A核MPU上裸跑应用程序。因为,不是高性能MCU用不了,而是STM32MP13更有性价比。如何快速上手STM32MP13裸跑应用程序,像MCU一样开发调试您的代码?观看下方视频




STM32MP13 Bare Metal 开发包STM32MP13 Bare Metal 开发包包含两部分:

STM32CubeMP13 PackageSTM32CubeMP13 开发包运行在Arm® Cortex®-A7 处理器上,由以下三部分组成:
[*]Level 0:驱动程序,包含HAL,LL,BSP
[*]Level 1:中间件,包含Eclipse ThreadX(原AzureRTOS),USB Host & Device库
[*]Level 2:板级示例程序
除此之外,还包括两个通用组件CMSIS和实用工具。https://mmbiz.qpic.cn/mmbiz_png/3Cvt7bnId9nShdnIXEWQK4dkNDXFlGOpfuKznO58bibicopicHunPFicNMvg1H1dscjCw9GPrReZfLtyk31GOaBa4w/640?wx_fmt=png&from=appmsg

▲ 图示:源码目录结构

已支持的HAL drivers
[*]ADC,BSEC,CRC,CRYP (including SAES),DCMIPP,DDR,DFSDM,DMA,DTS,ETH,ETZPC,EXTI,FDCAN,FMC_NAND,GPIO,HASH,I2C,I2S,IWDG,LPTIM,LTDC,MCE,MDMA,PKA,PWR,XSPI (QSPI replaced with XSPI),RCC,RNG,RTC (including TAMP),SAI,SDMMC (including EMMC),SMARTCARD,SPDIFRX,SPI,TIM,UART,USART,USB
已支持的 LL drivers
[*]ADC,DMA/DMAMUX,EXTI,ETZPC,GPIO,I2C,LPTIM, MDMA,PWR,RCC & BUS,RTC,SPI,TIM,USART
BSP与BSP组件
[*]基于HAL封装了更高一级的API,为LED、按钮、相机、LCD、SD卡和COM端口提供API,包含了以下一些外围器件的驱动:GC2145, LAN8742, MCP23x17, RK043FN48H, STMIPID02
中间件程序
[*]包含一系列支持某种服务的库文件及接口文件,已支持:Eclipse ThreadX(原AzureRTOS),STM32_USB_Device_Library,STM32_USB_Host_Library
项目工程
[*]Examples:基于HAL接口的简单示例,没有中间件功能。
[*]Applications:较完整的工程应用实例,包含中间件功能 。
[*]External_Loader: 烧录镜像及从外部存储器启动的应用示例。
Template: 板级工程应用框架。

实用工具
[*]Imageheader:用于添加stm32头,支持存储设备启动。
[*]Fonts:提供了一组用于显示的标准字体,包括font8,font12,font16,font20,font24
请访问:STM32MP13裸跑实操文档

好消息:IAR 9.50可以支持MP13的裸跑开发!


STM新闻官 发表于 2024-4-23 18:28


阅读原文

查看更多

我想看大海 发表于 2024-4-28 16:15

我就喜欢裸跑,效率高

tpgf 发表于 2025-3-4 11:38

在调试过程中,可以监视内存的变化情况,查看变量的值是否正确存储和修改。这对于排查内存相关的问题非常有帮助

heimaojingzhang 发表于 2025-3-5 22:11

STM32MP13上电后,首先执行的是引导加载程序

keaibukelian 发表于 2025-3-6 19:07

针对不同的开发环境和芯片架构,需要选择合适的编译器。对于STM32MP13,通常使用ARM Cortex-A系列的编译器

paotangsan 发表于 2025-3-6 20:56

由于没有操作系统的支持,我们就需要直接操作STM32MP13的寄存器来控制硬件设备

renzheshengui 发表于 2025-3-6 22:41

虽然STM32MP13具有较大的内存空间,但在裸跑应用中,需要自己管理内存的分配和释放

wowu 发表于 2025-3-7 18:29

利用调试工具设置断点,可以在程序执行到特定位置时暂停执行,方便开发者查看寄存器的值、内存的内容以及程序的执行流程
页: [1]
查看完整版本: 快速上手STM32MP13裸跑应用程序