完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1.看option bytes的时候,读保护字节为0xff时芯片为读保护。而option bytes是属于flash型存储介质,擦除后为全1.因此我在想,芯片出厂时,flash存储的内容应该都是全1的。那option bytes的读保护字节不就也是全1了嘛。这样一来,芯片在出厂的时候岂不就是读保护的? 2.每个选项字节都有一个反码字节与其对应,而这个反码字节时硬件自动计算出来的。这就保证了其正确性。“书中的一段话:每次系统复位后,选项字节装载器(OBL)读出信息块的数据,并保存在选项字节寄存器 (FLASH_OBR)中;每个选择位都在信息块中有它的反码位,在装载选择位时反码位用于验证 选择位是否正确,如果有任何的差别,将产生一个选项字节错误标志(OPTERR)。当发生选项 字节错误时,对应的选项字节被强置为0xFF。”。我想问的是怎么可能出现产生OPTERR的可能呢?难道是因为OBL将信息块的数据装载到flash_obr的时候有可能出错? |
|
相关推荐
1个回答
|
|
关于STM32的Option Bytes,我会逐步回答您的疑问:
1. 出厂时Option Bytes的读保护字节: 您提到了Option Bytes的读保护字节为0xFF时芯片为读保护,而擦除后的Flash存储介质为全1。确实,芯片出厂时,Flash存储的内容应该都是全1的。但是,Option Bytes的初始值并不是全1,而是根据制造商的设定。通常,制造商会设置一个默认的Option Bytes配置,以确保芯片在出厂时具有预期的行为。 例如,STM32的Option Bytes可能包含以下默认值: - 读保护字节:0xFF(读保护) - 写保护字节:0xFF(写保护) - 用户选项字节:0xFF(默认值) 这意味着出厂时,芯片的Option Bytes可能已经配置为具有读保护和写保护,以防止在生产过程中意外修改。 2. 选项字节和反码字节: 每个选项字节都有一个对应的反码字节,这是为了确保在编程过程中数据的正确性。当您修改Option Bytes时,需要同时修改选项字节和相应的反码字节。硬件会自动计算反码字节,以确保数据的正确性。 在系统复位后,选项字节装载器(OBL)会读取信息块的数据,并将其保存在选项字节寄存器(FLASH_OBR)中。每个选择位在信息块中都有对应的反码位。当您修改选择位时,需要同时修改相应的反码位。这样,硬件可以验证修改是否正确,从而确保Option Bytes的一致性和可靠性。 总之,出厂时Option Bytes的值是根据制造商的设定,而不是全1。同时,硬件会自动计算反码字节,以确保Option Bytes的正确性。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1685 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1588 浏览 1 评论
1013 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
706 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1631 浏览 2 评论
1893浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
679浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
538浏览 3评论
559浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
526浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-5 04:34 , Processed in 0.694550 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号