也就是STM32选项字中,可以被用户使用的两个字节:
位于:0x1FFFF804,0x1FFFF806.这个理论上用STM32的库函数FLASH_ProgramOptionByteData是可以写入的.但我试了,写入后,无论是读FLASH->OBR,还是直接从地址读,都读不出我之前写入的字~
ProgramOptionByteData函数我看了内容,已经包含了FLASH的解锁了,为什么还是写不入呢?奇怪啊奇怪~
这两个选项字,我是打算用来做软加密用的,密文就放这两个选项字里了.比放FLASH里要安全,因为如果选项字中设置了读保护(也就是加密了),那么要在保存当前FLASH内容下,改变这两个用户选项字,基本是不可能的了~因为选项字是一同刷除的,而读保护被刷,FLASH也就被刷了~ |
做了试验,使用ST-link utility,STM32F103VC芯片,在执行擦除OPTION BYTES之后,USER DATA的数据还是保持的。所以靠这2个字节放密钥=直接把密钥告诉PJ者。