OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4572|回复: 7

关于STM32F4 FLASH选项字节

[复制链接]

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
发表于 2017-2-17 14:43:10 | 显示全部楼层 |阅读模式
1金钱
请教高手,STM32F4的flash选项字节区是不是没有由芯片使用者自由使用的字节?(STM32F1的flash选项字节区有2个字节由芯片使用者自由使用)。

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2017-2-11
在线时间
306 小时
发表于 2017-2-17 14:43:11 | 显示全部楼层
nashui_sx 发表于 2020-10-26 10:09
谢了,想知道f4有没有
Data0  字节4。数据字节0,由芯片使用者自由使用。  
Data1  字节6。数据字节1, ...

看手册,有的
回复

使用道具 举报

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
 楼主| 发表于 2017-2-21 09:01:07 | 显示全部楼层
没有人知道吗?
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-10-24 15:26:45 | 显示全部楼层
同问????
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-10-25 22:13:29 | 显示全部楼层
看相关文档了
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-10-25 22:35:16 | 显示全部楼层

文档好像没有,想求证下
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2017-2-11
在线时间
306 小时
发表于 2020-10-26 08:38:00 | 显示全部楼层
选项字节
     选项字节用于存储芯片使用者对芯片的配置信息。
目前,所有的STM32101xx、STM32102xx、STM32103xx、STM32105xx、STM32107xx产品,选项字节都是16字节。但是这16字节,每两个字节组成一个正反对,即,字节1是字节0的反码,字节3是字节2的反码,...,字节15是字节14的反码,所以,芯片使用者只要设置8个字节就行了,另外8个字节系统自动填充为反码。因此,有时候,也说STM32的选项字节是8个字节,但是占了16字节的空间。选项字节的8字节正码概述如下:  

RDP   字节0。读保护字节,存储对主存储块的读保护设置。  
USER  字节2。用户字节,配置看门狗、停机、待机。  
Data0  字节4。数据字节0,由芯片使用者自由使用。  
Data1  字节6。数据字节1,由芯片使用者自由使用。  
WRP0  字节8。写保护字节0,存储对主存储块的写保护设置。  
WRP1  字节10。写保护字节1,存储对主存储块的写保护设置。
WRP2  字节12。写保护字节2,存储对主存储块的写保护设置。  
WRP3  字节14。写保护字节3,存储对主存储块的写保护设置。  

选项字节写使能  
     在FLASH_CR中,有一个OPTWRE位,该位为0时,不允许进行选项字节操作(擦除、编程)。这称为选项字节写使能。只有该位为1时,才能进行选项字节操作。 该位不能软件置1,但可以软件清零。只有向FLASH_OPTKEYR依次写入KEY1和KEY2后,硬件会自动对该位置1,此时,才允许选项字节操作。这称为解锁(打开)选项字节写使能。该位为1后,可以由软件清零,关闭写使能。复位后,该位为0。错误操作不会永远关闭写使能,只要写入正确的键序列,则又可以打开写使能。写使能已打开时,再次打开,不会出错,并且依然是打开的。 很显然,进行选项字节操作前,先要解开闪存锁,然后打开选项字节写使能,之后,才能进行选项字节操作。  

选项字节擦除
     建议使用如下步骤对选项字节进行擦除:
1.检查FLASH_SR寄存器的BSY位,以确认没有其他正在进行的闪存操作。   
2.解锁FLASH_CR寄存器的OPTWRE位。即,打开写使能。
3.设置FLASH_CR寄存器的OPTER位为1。选择选项字节擦除操作。   
4.设置FLASH_CR寄存器的STRT位为1。
5.等待FLASH_SR寄存器的BSY位变为0,表示操作完成。
6.查询FLASH_SR寄存器的EOP位,EOP为1时,表示操作成功。
7.读出选项字节并验证数据。  
由于选项字节只有16字节,因此,擦除时是整个选项字节都被擦除了。

选项字节编程  
     建议使用如下步骤对选项字节进行编程:  
1.检查FLASH_SR寄存器的BSY位,以确认没有其他正在进行的编程操作。   
2.解锁FLASH_CR寄存器的OPTWRE位。即,打开写使能。   
3.设置FLASH_CR寄存器的OPTPG位为1。选择编程操作。   
4.写入要编程的半字到指定的地址。启动编程操作。  
5.等待FLASH_SR寄存器的BSY位变为0,表示操作完成。  
6.查询FLASH_SR寄存器的EOP位,EOP为1时,表示操作成功。  
7.读出写入的选项字节并验证数据。 对选项字节编程时,FPEC使用半字中的低字节并自动地计算出高字节(高字节为低字节的反码),并开始编程操作,这将保证选项字节和它的反码始终是正确的。
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-10-26 10:09:55 | 显示全部楼层
jiangyy 发表于 2020-10-26 08:38
选项字节
     选项字节用于存储芯片使用者对芯片的配置信息。
目前,所有的STM32101xx、STM32102xx、ST ...

谢了,想知道f4有没有
Data0  字节4。数据字节0,由芯片使用者自由使用。  
Data1  字节6。数据字节1,由芯片使用者自由使用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-29 17:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表