本帖最后由 aozima 于 2018-1-15 10:49 编辑
之前用STM32,如果不是要加密和配置之类的,默认的option byte就可以。
最近帮朋友看一个板子,做IAP时FLASH相关的函数第一次使用报OPT参数错误。
用J-FLASH读一下option byte,发现里面是全0的。
这芯片执行过解锁,不知道是不是解锁后造成了配置字错误。
然后写了一份正确的且不加密的,用J-FLASH写入也没问题。
但直接修改配置数据,启用RDP为1级,用J-FLASH写入不成功。且芯片锁掉了。用DFU模式才解锁掉。
解锁后配置字又坏掉了,只好再次写入正确且不加密的,然后程序可以正常运行。
尝试在程序中直接执行FLASH_OB相关的函数来加密芯片,结果一加密芯片又锁掉了,且程序不再运行。
因为锁掉了,所以也无法读出来到底变什么样了。
又尝试在程序中直接执行FLASH_OB相关的函数来配置其它选项,且不加密。
同时芯片被锁,且程序不再运行。
又测试直接用J-FLASH烧录正确的程序,然后程序可以正常运行。
然后在J-FLASH中执行加密芯片,之前芯片确实加密了,但程序无法运行。
最一第碰到这样奇葩的问题,搜了一圈都没有找到办法。
不知道有没有人碰到?
同时请手上刚好有在用的人,帮忙读一下L151RC/RD的配置字,看看是什么样的?
|