当前位置: 首页 > news >正文

stm32MP135裸机编程:使用USB/UART烧录程序到SD卡并从SD卡启动点亮一颗LED灯

0 参考资料

轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf
STM32CubeProgrammer v2.16.0
烧录需要的二进制文件

1 烧录到SD卡需要哪些文件

参考《轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序》,烧录需要的SD卡文件如下:
(1)已添加STM32 Header的FSBLA_Sdmmc目标文件
(2)已添加STM32 Header的CUBE EXAMPLE目标文件,MP13_BSP_BasicTemplates.stm32(即用户工程)
(3)Programmer flash layout文件FlashLayout_OpenBL_ExtLoaderSDMMC_SerialBoot.tsv
(4)STM32PRGFW_UTIL 镜像STM32PRGFW_UTIL_MP13xx_CP_Serial_Boot.stm32
(5)External_Loader镜像SD_Ext_Loader.bin
如下图所示:
在这里插入图片描述
其中,由我们修改或提供的是FSBLA文件、用户程序文件、Programmer flash layout文件,另外2个一般不需要修改。

2 使用USB/UART烧录程序到SD卡并从SD卡启动

2.1 将所需文件放到同一个文件夹

在这里插入图片描述
本例用到的文件如上。

2.2 修改Programmer flash layout文件

Programmer flash layout文件用来告诉STM32CubeProgrammer将二进制文件烧录到哪个地方、哪个位置、哪种操作等。有兴趣的可以去这个网站查看:STM32CubeProgrammer_flashlayout
本例修改后的内容如下:
在这里插入图片描述
烧录流程如下:
(1)STM32PRGFW_UTIL_MP13xx_CP_Serial_Boot.stm32被烧录到SYSRAM,偏移地址为0(这个实际上没什么作用)
(2)SD_Ext_Loader.bin被烧录到SYSRAM,偏移地址为0,作为SD卡下载程序和STM32CubeProgrammer进行交互把后面的FSBLA_Sdmmc1_A7_Signed.bin、GPIO_EXTI_A7.stm32烧写到SD卡指定扇区
(3)FSBLA_Sdmmc1_A7_Signed.bin这个是我们的用户程序引导程序,被烧写到SD卡的LBA128(第128扇区),前面已经被我们修改好了
(4)GPIO_EXTI_A7.stm32是用户程序,被烧写到LBA1280(第1280扇区),在DDR中运行。一定要注意,如果程序空间被定义在DDR则必须被拷贝到DDR中运行,否则将会无法运行。

2.3 使用STM32CubeProgrammer烧录

(1)将拨码开关选择到从USB/UART启动,按下复位键,使用USB或串口和STM32CubeProgrammer连接上:
在这里插入图片描述
(2)选择我们的Programmer flash layout文件,步骤如下:

在这里插入图片描述
在这里插入图片描述
添加进来后的样子:
在这里插入图片描述
(3)选择固件包文件夹,也就是存了我们需要烧进去的4个文件的文件夹:
在这里插入图片描述
(4)点击“Download”开始烧录
在这里插入图片描述

2.4 从SD卡启动

将拨码选择到从SD卡启动,复位,观察LED灯是否和预期一样以一秒为周期闪烁:

在这里插入图片描述

http://www.lryc.cn/news/369258.html

相关文章:

  • 【NoSQL数据库】Redis Cluster集群(含redis集群扩容脚本)
  • 重邮计算机网络803-(2)物理层
  • uniapp使用webview内嵌H5的注意事项
  • 现代 C++的高效并发编程模式
  • 汇编语言作业(五)
  • 收音机的原理笔记
  • 排序算法案例
  • 时间序列评价指标
  • Docker:安装 Orion-Visor 服务器运维的技术指南
  • HarmonyOS Next 系列之底部标签栏TabBar实现(三)
  • mac怎么录制屏幕?这2个方法你值得拥有
  • 爱德华三坐标软件ACdmis.AC-dmis密码注册机
  • 计算机网络 期末复习(谢希仁版本)第3章
  • 代码随想录——数组
  • 计算机网络7——网络安全4 防火墙和入侵检测
  • html+CSS+js部分基础运用20
  • ISO 19115-2:2019 附录C XML 模式实现
  • DevOps的原理及应用详解(一)
  • 【冲刺秋招,许愿offer】第 三 天(水一天)
  • 使用 C# 学习面向对象编程:第 6 部分
  • 分布式训练基础入门
  • AWS S3存储桶中如何下载文件
  • 「网络原理」三次握手四次挥手
  • 第二十四章 SOAP 错误处理 - 发生故障时添加 WS-Addressing 标头元素
  • CSS真题合集(一)
  • Golang | Leetcode Golang题解之第144题二叉树的前序遍历
  • 离奇问题:java通过poi读取excel单元格的小数时会出错
  • 前端框架是什么
  • Feign的动态代理如何配置
  • ReactRouter——路由配置、路由跳转、带参跳转、新route配置项