首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > 关于STM32的IAP总结

关于STM32的IAP总结

资料介绍
IAP介绍,使用,开发
关于 STM32 的 IAP 总结

最近有项目要用到 IAP 的功能,于是调试了下 STM32 的 IAP,可能因为个人水平的原因吧,也颇
费了一般周折
现在返回头来想,其实还是蛮简单的.
整个过程按照如下步骤:

1. 解锁
2. 判断是否保护,有保护的话要先关闭保护
3. 擦除
4. 编程
5. 复位进入应用程序区

关于解锁:看资料的时候说的神乎其神,有个读/编程控制器叫”FPEC
有几个寄存器, 专门负责 Flash 的, 对这几个寄存器以一定得顺序访问并设置即可成功解锁
Flash,至于怎么访问,谁先谁后,数据手册上写的头晕,直接来个快刀斩乱麻 Flash_UnLock()函
数封装了这一系列的操作,有一点要注意,如果你是自己操作寄存器的话,如果操作的方法或
者顺序不对都会造成 Flash 的锁定,之后的所有操作都会返回一个错误,直到下次启动后才能
正常操作

关于保护,为了保护用户数据不被无意修改或者恶意读取,STM32 提供了对芯片 FLASH 的
写读等一系列的保护,加密方式是按照每 4 页为一个单位,也就是说,如果你想加密的话,你至
少要加密 4 页,也就至少 4K 的空间,至于高密的 STM32 是否就是 8K 了?这个我没仔细去看!还
待以后仔细查看?

关于擦除,擦除也是很简单,但是只能一页一页的擦除,ST 公司也提供了一个函数,至于这
个函数后面的输入地址参数,经过试验发现只要这个地址落在这个页里,就是擦除这个页,不
知道这样理解对不对,还需要验证???
FLASHStatus=FLASH_ErasePage(Address);

关于编程,STM32 编程一次只能以半字(16 位)的方式编程,库提供了两个函数
FLASH_Status F
标签:IAP开发
关于STM32的IAP总结
本地下载
该用户资料分享

评论