STM32L DATA_EEPROM写不进数据,应该是FLASH LOADER引起的

[复制链接]
5447|4
 楼主| sskss1234 发表于 2015-1-20 11:45 | 显示全部楼层 |阅读模式
@香水城 @grant_jx @mmuuss586 @icecut
问题:STM32L151CB使用FLASH LOADER进行ENABLE READ PROTECTION后,原来可写DATA_EEPROM的操作,现在无法写入新的数据。
出现此问题后使用FLASH LOADER进行DISABLE READ PROTECTION后仍然无法写DATA_EEPROM,并使用FLASH LOADER V2.5.0和V2.7.0两个版本测试都无济于事,下图为测试代码及注释,三次结果都一样,写DATA_EEPROM前读出来的数据是0X4B,使用函数DATA_EEPROM_FastProgramByte(EEPROM_SENSOR_CONFIG_TIME_ADDR, 14);准备写入新的数据14,函数返回的值是3,3在stm32l1xx_flash.h定义为FLASH_ERROR_PROGRAM,然后再次读出来的数据仍是0X4B,显然没有写进去。不知是何原因,按理说使用FLASH LOADER进行ENABLE READ PROTECTION后,再使用FLASH LOADER进行DISABLE READ PROTECTION后,对芯片相应保护也就去除了。
说明:此测试代码在未使用FLASH LOADER进行ENABLE READ PROTECTION操作的样品上,写数据一切正常。本来是准备2个样品给客户,一切准备好了,担心软件被盗,因此,想试下读保护功能,那知使用此功能后,就还原不了。不知道FLASH LOADER是不有什么BUG。
现在客户在催样品,我使用FLASH LOADER进行了各种操作,都无法解决,请版主和高手赐教。
F2.png F3.png F1.png
mmuuss586 发表于 2015-1-20 12:25 | 显示全部楼层

那就想办法先整片删除数据;
实在不行就只能先换芯片了;
先完成客户的样品再说吧;
 楼主| sskss1234 发表于 2015-1-20 13:07 | 显示全部楼层
谢谢你的建议。
已经使用FLASH LOADER进行整片擦除,然后再重新下载程序,还是一样,感觉保护相关配置无法使用FLASH LOADER删除掉。
样品已经密封了,换芯片很难,而且可能造成样品损坏。所以比较着急。
icecut 发表于 2015-1-20 15:10 | 显示全部楼层
先关闭保护,然后再擦除,然后再执行一次关闭保护呢?
grant_jx 发表于 2015-1-22 17:56 | 显示全部楼层
印象中Flash  loader烧录的时候,optionbyte是在烧录完成Flash后操作的,并且Flash loader未提供单独烧写Optionbyte的选项操作。

能否确定READ PROTECTION真的被禁止?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部