点击上方蓝色字关注我们!
这是前段时间遇到的,给一个客户小批量做的一批板子,在给单片机烧录程序的时候,忽然出现了问题。
当时使用keil MDK直接烧录,ST-LINK连接,keil上显示可以连接到目标单片机:

但是烧录的时候,总是烧录不成功,提示超时:

芯片是在固定的供应商买的,一般不会出现假货的问题。然后我换了一个工具:STM32 ST-LINK Utility

使用该工具直接连接,提示如下信息:

提示读取异常,关键是后面那一行:
Disable Read Out Protection and retry.
基本确定问题,是芯片开启了写保护。但是芯片出厂的时候默认是不会开启写保护,出现这种情况,我第一反应:是不是拆机芯片?
然后联系了卖家,提供批次号后查询,给出如下回复:

好吧,问题找到了:供应商帮忙烧录程序后,开启了读保护,防止抄板。
接下来,就是要解除读保护。还好STM32 ST-LINK Utility这个工具可以修改选项字:

点击后显示如下:

果然,Read Out Protection那里显示:Level 1。一般出厂芯片应该是:Level 0。手动改成:Level 0,然后点击下面的:Apply。等待几秒,如下:

选项字修改成功,芯片内部之前烧好的程序也全都被擦除,变成了FFFFFFFF。可以正常使用了。
那么接下来,,,,该找卖家要点补偿了~~~