导读:目前正在解读《STM32调试过程中读保护写保护造成的无法擦写芯片问题》的相关信息,《STM32调试过程中读保护写保护造成的无法擦写芯片问题》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《STM32调试过程中读保护写保护造成的无法擦写芯片问题》的详细说明。
简介:STM32调试过程中,读保护,写保护造成的无法擦写芯片问题的解决办法和相关讨论。

问题描述:

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

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

binglin:

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

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

菜单:Options->CPU页。

STM32调试过程中读保护写保护造成的无法擦写芯片问题

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

linew:

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

Jlink出错

STM32调试过程中读保护写保护造成的无法擦写芯片问题

- 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

binglin:

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

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

linew:

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

binglin:

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

linew:

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

binglin:

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

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

linew:

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

在RAM中运行

int main(void)

{

RCC_DeInit();

FLASH_Unlock();

FLASH_ReadOutProtection(DISABLE);

}

问题解决了。

linew:

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

ID加密 或加密算法怎样

binglin:

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

int main(void)

{

RCC_DeInit();

FLASH_Unlock();

FLASH_ReadOutProtection(DISABLE);

}

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

binglin:

“请问binglin stm32最有效的加密或保护方法是哪种,读保护算不算呢ID加密 或加密算法怎样”读保护算就是加密了。

wqb202:

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

binglin:

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

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

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

提醒:《STM32调试过程中读保护写保护造成的无法擦写芯片问题》最后刷新时间 2024-03-14 00:57:23,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《STM32调试过程中读保护写保护造成的无法擦写芯片问题》该内容的真实性请自行鉴别。