在软件复位时,会将FLASH中断向量表那部分清零

zhufu201   2009-8-17 23:31 楼主
                                 我在做写保护与解保护时,需要软件复位,但用KEIL在线调试时,会将FLASH中断向量表那部分数据清零,再运行时就到硬件fault中去了,请问下有没有遇到这种情况的?

回复评论 (6)

                                 请问下香版主知道吗?
点赞  2009-8-18 09:53
                                 什么芯片?从来没听说有这样的问题。
点赞  2009-8-18 17:20
                                 STM32的,RBT6
点赞  2009-8-19 09:31
Flash中的内容只能通过调试器的程序下载,或你自己的程序改变,除此之外没有其它途径。

任何复位都不可能使Flash内容变为0,所以楼主还是要检查自己的程序。
点赞  2009-8-19 10:30
现在的要求是读保护与写保护同时存在,解写保护时使用库函数擦写选择字节时,因为OB->RDP= RDP_Key;这句将读保护也解除,因此我将这句注释掉。
但解写保护时需要RESET,这时就出现前面所提到的问题。
不将OB->RDP= RDP_Key;注释则是好的。
但如何做到解写保护时,不将读保护解除呢?望赐教!!!
点赞  2009-8-19 11:10
解除写保护时,不可能同时把读保护解除。

因为解除写保护的过程是擦除写保护位,即把对应的写保护位从保护状态'0'变为非保护状态'1';擦除写保护位的同时也擦除了读保护位,即不管读保护位的内容是什么,读保护位都会变为0xFFFF,这恰恰是读保护状态;如果要想解除读保护状态,必须在读保护位中写入0xA5才行。
点赞  2009-8-19 11:18
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复