STM32F042 Flash疑问
最近遇到了一个奇怪的现象,本人用的STM32F042G4 ,Flash 是16K,也就是0x08000000-0x08003FFF,为什么对flash地址为0x08006000和0x08007000进行读写也可以?而且写进去和读出来的数据都一样,很正常。感觉这不合逻辑啊,应该进hardfault_handler才对啊。请教各位坛友这是什么情况?难道是芯片后门?楼主,你仿真的时候,查看一下FLASH的存储空间中是否有这些数据? 有的 本帖最后由 黑色裂变 于 2017-8-3 09:18 编辑
安 发表于 2017-8-2 17:15
楼主,你仿真的时候,查看一下FLASH的存储空间中是否有这些数据?
有的,我看手册好像有点明白了,STM32F03X,04X,05X系列的flash都到07FFF的,只是不同型号的芯片,代码区的范围不同,剩下的flash可以做eeprom的功能用,不知道是不是这个意思。
file:///C:\Users\Administrator.DESKTOP-53ALE1N\AppData\Roaming\Tencent\Users\1521079320\TIM\WinTemp\RichOle\06
很显然不是的,但是你知道同一个系列的芯片,有时候官方就把高容量的直接用在低容量了!!!!你知道芯片基本上都是从一个片子上面切割出来的,有的可能高位flash部分存在缺陷,然后就直接标记为低端芯片乐吧。。。至于为啥没有触发hardfault_handler,我也搞不明白,因为有时候我写程序溢出的时候,确实也会触发hardfault_handler!!!! eeprom是固定的空间,他和FLASH的操作方式也不太一样。具体这个还是得咨询一下技术支持吧。FLASH空间分布我也看过了,看的是没有什么问题。 MrJiu 发表于 2017-8-3 09:59
很显然不是的,但是你知道同一个系列的芯片,有时候官方就把高容量的直接用在低容量了!!!!你知道芯片基 ...
收到技术支持方面的回复了 安 发表于 2017-8-3 10:51
eeprom是固定的空间,他和FLASH的操作方式也不太一样。具体这个还是得咨询一下技术支持吧。FLASH空间分布我 ...
可能是这个原因
页:
[1]