STM32 外部Nor Flash烧写算法

什么是Flash烧写算法

Flash编程算法是一种用于擦除应用程序或将应用程序下载到微控制器Flash的程序代码。MDK本身支持的器件都自带下载算法,存放在MDK各种器件的软件包里面,以STM32U5为例,算法存放在\Keil Packs\Keil\STM32U5xx_DFP\2.1.0\CMSIS\Flash(软件包版本不同,数值 2.1.0 不同),开发板上通过MCU外设扩展的存储器件,编程算法需要我们自己生成。
MDK中编程算法的核心是通过MDK创建一批与地址信息无关的函数,函数实现的功能主要有初始化、擦除、编程、读取、校验等(注意:烧写算法源码中,禁止所有中断使用),在 MDK 调试下载阶段,会将算法文件加载到芯片的内部 RAM 里面(加载地址可以通过 MDK 设置), MDK通过与这个算法文件的交互, 实现程序下载以及 调试阶段数据读取等操作。

Flash下载步骤

在进入下一个Flash下载步骤之前,必须完成所有这些步骤。例如,在编写第一个Flash页面之前,首先要擦除所有相关扇区。多个步骤中需要的Flash算法在接下来的每一步中都要再次下载。

  1. 连接调试器:建立调试器连接。
  2. 加载AXF文件:在调试驱动程序中加载和缓存AXF文件中的代码(在主机PC端)。如果需要,可以在Flash
  3. 下载之前加载和合并多个AXF文件。
  4. 擦除:擦除整个芯片或即将被新编程的扇区。
  5. 程序:由加载的AXF文件和Flash下载设置对话框覆盖的程序页面。
  6. 验证:验证所编程的区域是否包含预期的代码。
  7. 关闭Flash下载:完成Flash下载,关闭核心调试。
  8. 重置和运行应用程序:执行HW复位,即通过设备的外部复位引脚复位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cat_milk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值