开发小伙伴们,在技术开发的征程中,掌握各类工具和编程技巧是通关的“秘籍”。今天,咱们就一起深入YS生态工具里超实用的YS32系列FLASH编程世界,开启
高效开发之旅!

FLASH基础信息速览
读操作
CPU 能通过读指令直接从 Flash 读取数据,操作便捷高效。
擦除操作
Flash 存储器支持 page Erase、Sector 和 Mass Erase 等多种擦除方式,但擦除前要确保未被写保护,否则无法擦除。
编程操作
以 32bit word 为单位对整个 page 进行 Program 操作,编程前需保证目标区域已擦除,否则会出错。
[ Option byte 的特殊使命 ]
Flash 存储器设有 Option byte 特殊配置区域,用于存放芯片或用户针对应用对硬件的配置,主要有:
写保护配置
设置 Flash 存储区写保护,防止意外擦除或编程,保障数据安全。
读保护配置
保护 Flash 内容不被非法读取,维护数据隐私。
硬件特性配置
可设置复位引脚功能、看门狗控制等,让硬件特性适配应用需求。
FLASH操作流程大揭秘
[ 流程讲解 ]
对Flash进行编程,需遵循一套严谨的流程(附流程图),下面简单介绍:

1. 解锁Flash——开启编程前提
进行擦除或编程操作前,要先解锁Flash。使用FLASH_Unlock()函数,向FLASH_KEYR寄存器写入KEY1 = 0x4567 0123,KEY2 = 0xCDEF 89AB,完成Flash解锁。

2. 擦除操作——清空操作区域
Flash存储器进行编程操作前,目标区域应处于已擦除状态。使用FLASH_ErasePage函数进行擦除操作,为后续编程做准备。

3. 编程操作——写入目标数据
擦除完成后,使用FLASH_ProgramPage函数以字(32位)为单位向Flash写入数据。

Flash编程示例——实战操作[ Option寄存器操作流程精讲 ]
配置Option寄存器需按一定流程进行:解锁Flash→解锁Option→配置→启动→锁定。

1. 解锁Flash和Option寄存器——必要解锁步骤
对Option寄存器进行修改前,要依次解锁主Flash控制寄存器和Option寄存器。

使用FLASH_Unlock( )函数解锁Flash控制寄存器。
使用FLASH_OB_Unlock函数解锁Option寄存器,向FLASH_OPTKEYR寄存器写入OPTKEY1 = 0x08192A3B,OPTKEY2 = 0x4C5D6E7F完成解锁。

2. 配置Option寄存器——按需设置参数
解锁后,根据实际需求配置Option寄存器的各项参数。

3. 应用Option配置——使配置生效
配置完成后,执行FLASH_OB_Launch函数启动Option字节加载,系统将自动复位,新的Option寄存器配置在复位后生效。复位后,FLASH_CR寄存器中与Option byte
相关的位被写保护。

好啦,今天对YS生态工具里YS32系列FLASH编程的介绍就到这里。我们了解了FLASH存储器的特点、基本操作,还有Option寄存器的配置方法。掌握了这些,大家
在实际开发中就能更加得心应手。要是在操作过程中遇到问题,不妨多回顾下这些要点,相信它们能帮你解决不少麻烦。期待大家在项目中取得辉煌的成果!

