STM32调试过程中,读保护,写保护造成的无法擦写芯片问题的解决办法和相关讨论 - STM...

2018-09-22

调试Flash读保护时,Jlink不能下载程序

发布: 2010-1-20 22:54 | 作者: linew | 来源: StmFans思蜕盟 OPELC 自由电子联盟

调试flash读保护时,点了jlink中Unsecure chip 后 能连接、能擦出芯片,但不能下载程序和读芯片,请问怎样解决···

binglin (2010-1-20 22:59:47)

J-Flase ARM里下载程序,芯片型号不对是写不进程序的。

检查芯片型号是否配置正确

菜单:Options->CPU页。

截图15.jpg

在配置CPU时,一定要在Device这项里配置CPU型号,不能在Core这项里配置。

linew (2010-1-20 23:46:31)

CPU型号已选对,具体情况是我下载了一个读保护的程序,接着点了jlink-》target-》Unsecure chip ,接着点了擦除芯片,之后就不能读出芯片和烧程序了,但依然可以connect 和 erase chip ; 点 Read back 和 program 时 出现弹出错误提示 PC=··· ,R0=···· R1=···(明天附上图片)

linew (2010-1-21 09:10:56)

Jlink出错

未命名.JPG

linew (2010-1-21 09:11:44)

- Connecting ...

- Connected successfully

- 128 sectors, 1 range, 0x8000000 - 0x803FFFF

- RAM tested O.K.

- ERROR: PC of target system has unexpected value after blank checking. (PC = 0xFFFFFFFE)!

---------------------------------------------------------------------- Registers -------------------------------------------------------------------------------------

PC   = FFFFFFFE

Current:        R0   = 0000B800,        R1   = 08000000,        R2   = 00008000,        R3   = 0000B800

R4   = 20000000,        R5   = 0000B7FC,        R6   = 000000FF,        R7   = 20000133

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

- ERROR: Failed to read back target memory

Disconnecting ...

- Disconnected

linew (2010-1-21 13:30:54)

binglin在吗

binglin (2010-1-21 14:06:46)

你这种现象我上个月也遇到过,当时也是用V4.08l的驱动。

你换更换J-LINK的驱动程序,不要用V4.08l版。

linew (2010-1-21 14:16:32)

一开始用4.08, 之后我用4.11也是出现同样情况

binglin (2010-1-21 17:12:17)

试试用4.04a版本的,这个版本坛子上的下载,你找一下。

linew (2010-1-22 11:24:42)

应该不行,我用ISP 读芯片,提示芯片已加密,无法读取信息;还有用ST 的Flash loader demo 串口提示芯片加了读保护,当点解除读保护,提示命令无效

binglin (2010-1-22 11:33:31)

配置读保护是可以清除的,我在写入到应用板时都配置的读保护,很多时候修改了程序后要更新程序(要解除读保护更新程序),经无数次实操圾明是没有问题的。

ISP也经常用,它在仿真器不能正常仿真目标板时,当用仿真器也无法解锁芯片时,,ISP是最后的也就是最可靠的解锁工具。

linew (2010-1-22 13:03:58)

问题已解决,可能是在jlink那里点了Unsecure chip,所以用ISP无法解锁了;

在RAM中运行

int main(void)

{

RCC_DeInit();

FLASH_Unlock();

FLASH_ReadOutProtection(DISABLE);

}

问题解决了。

参考链接:http://www.stmsky.com/bbs/viewth ... B%E4%B8%93%E8%B4%B4

linew (2010-1-22 13:07:11)

请问binglin stm32最有效的加密或保护方法是哪种,读保护算不算呢

ID加密 或加密算法怎样

binglin (2010-1-22 14:12:33)

QUOTE:

问题已解决,可能是在jlink那里点了Unsecure chip,所以用ISP无法解锁了;

在RAM中运行

int main(void)

{

RCC_DeInit();

FLASH_Unlock();

FLASH_ReadOutProtection(DISABLE);

}

问题解决了。

参考链接:htt ...

linew 发表于 2010-1-22 13:03

在JLINK里捃行了Unsecure chip,ISP同样可以解开的,其实  “FLASH_Unlock(); FLASH_ReadOutProtection(DISABLE); ”其实与ISP里面的解锁代码是一样的。

binglin (2010-1-22 14:15:28)

QUOTE:

请问binglin stm32最有效的加密或保护方法是哪种,读保护算不算呢

ID加密 或加密算法怎样

linew 发表于 2010-1-22 13:07

读保护算就是加密了。

wqb202 (2010-1-23 00:39:46)

有个问题想请教一下binglin ,如果用secure chip加密,断电重上电后,还可以重新用Jlink重新连接芯片吗?如果能那么是直接下载程序会清除读保护吗?还是在先UNsecure chip才能再下载!现在手上没有开发板,只有在调试项目的板子,没有引出COM口ISP,所以不敢试呀!

binglin (2010-1-23 13:37:53)

用secure chip加密,断电重上电后,Jlink当然可以重新连接芯片,如果不能又怎么还能够执行Unsecure chip呢?secure chip加密后,断电或不断电重启都是肯定可以重新连接的。

如果在secure chip加密要再次下载,则先连接芯片然后执行UNsecure chip才能再下载,我一般是执行UNsecure chip后直接按F7(自动模式)将程序写进去。

注:执行UNsecure chip,JLINK与目标板会自动断开,直接按F7(自动模式)执行时,JLINK会自动联接、擦除芯片、写入及校验以及执行secure chip,这些操作是否全部执行由你的配置决定。

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.pinlue.com/style/images/nopic.gif

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐