21ic电子技术开发论坛 单片机与嵌入式系统 ST MCU 我在IAP程序中添加如下代码,结果现在MCU无法再编程了
发新帖我要提问
返回列表
打印
[STM8]

我在IAP程序中添加如下代码,结果现在MCU无法再编程了

[复制链接]
4079|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我在IAP程序中添加如下代码,结果现在MCU无法再编程了
FLASH_Unlock(FLASH_MEMTYPE_DATA);
  FLASH_CR2 |= FLASH_CR2_OPT;
  FLASH_NCR2 &= (u8)(~FLASH_NCR2_NOPT);
  FLASH_ProgramByte(OPTION_BYTE_START_PHYSICAL_ADDRESS+1,0x06);
  FLASH_Lock(FLASH_MEMTYPE_DATA);
请高手指点,提示如下错误
沙发
starlite_jason|  楼主 | 2010-10-22 11:52 | 只看该作者
顺便问一下STM8 OPTION BYTES的具体寄存器定义

使用特权

评论回复
板凳
香水城| | 2010-10-22 12:35 | 只看该作者
1)请用STVP解锁
2)STM8 OPTION BYTES的具体寄存器定义,请看STM8数据手册。

使用特权

评论回复
地板
starlite_jason|  楼主 | 2010-10-22 13:32 | 只看该作者
重新写入OPTION BYTES可以成功,但是还是无法编程,提示如下:
> Programming  OPTION BYTE area...
< OPTION BYTE programming completed.
> Verifying OPTION BYTE area...
< OPTION BYTE successfully verified.
> Programming  PROGRAM MEMORY area...
Error : Error on Option Bytes (complementary bytes). Reprogram Option Bytes of device
Error : < PROGRAM MEMORY programming failed.
Error : < Operation aborted.

使用特权

评论回复
5
starlite_jason|  楼主 | 2010-10-22 13:40 | 只看该作者
是不是可以在程序启动的时候检查OPTION BYTES,如果设置不正确,程序自己更改

使用特权

评论回复
6
starlite_jason|  楼主 | 2010-10-22 17:55 | 只看该作者
有谁这样做过吗

使用特权

评论回复
7
sinadz| | 2010-10-22 18:33 | 只看该作者
没这样做过

使用特权

评论回复
8
jgphu| | 2010-10-22 18:43 | 只看该作者
FLASH_ProgramByte(OPTION_BYTE_START_PHYSICAL_ADDRESS+1,0x06);
这句有问题。你要是想修改OPTION。
你应该调用FLASH_ProgramOptionByte()这个函数,我以前就是这样做的。

你说的无法编程,我看提示也是和OPTION设置有关。和程序的内容没有关系。

使用特权

评论回复
9
dadodo| | 2010-10-23 00:10 | 只看该作者
OPTION_BYTE_START_PHYSICAL_ADDRESS+1是UBC位,设置了UBC当然不能再编程相应FLASH空间了。再编程前先擦除芯片吧。

使用特权

评论回复
10
starlite_jason|  楼主 | 2010-10-23 15:44 | 只看该作者
本帖最后由 starlite_jason 于 2010-10-23 16:03 编辑

现在就是无法擦除,用STLINK+STVP擦除选项始终灰的

使用特权

评论回复
11
汉之云| | 2010-10-23 19:05 | 只看该作者
用STVP,选optbytes页,使用默认值:00---00,直接按烧写键,不管warning提示,一路确定即可

使用特权

评论回复
12
starlite_jason|  楼主 | 2010-10-31 10:59 | 只看该作者
写不进去,估计芯片坏了
另外请问,程序启动的时候写入UBC进行保护可以吗

使用特权

评论回复
13
xxiao6130| | 2013-8-30 11:29 | 只看该作者
我也遇到你这种情况,呵呵,问题也解决了,不知楼主解决了没?

使用特权

评论回复
14
xxiao6130| | 2013-8-30 11:31 | 只看该作者
starlite_jason 发表于 2010-10-31 10:59
写不进去,估计芯片坏了
另外请问,程序启动的时候写入UBC进行保护可以吗 ...

像楼主这种情况芯片是没有坏的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

195

帖子

0

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