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

来源:百度文库 编辑:中财网 时间:2024/04/29 12:20:59

[STM32] STM32调试过程中,读保护,写保护造成的无法擦写芯片问题的解决办法和相关讨论 [复制链接]

  • 发短消息
  • 加为好友
admin 当前在线
最后登录
2011-4-20 
布袋
0  
铜板
125  
注册时间
2010-1-8 
阅读权限
200 
精华
积分
帖子
92 

荣誉指导员

1# admin 分享到人人发表于 2010-12-2 23:09 |只看该作者 |倒序浏览 |打印 .pcb{margin-right:0}

调试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,这些操作是否全部执行由你的配置决定。


收藏0 分享0 0 0 转播到腾讯微博 分享到QQ空间 回复 引用

举报 返回顶部

  • 发短消息
  • 加为好友
admin 当前在线
最后登录
2011-4-20 
布袋
0  
铜板
125  
注册时间
2010-1-8 
阅读权限
200 
精华
积分
帖子
92 

荣誉指导员

2# admin 发表于 2010-12-2 23:13 |只看该作者 STM32对内部Flash的内容有专门的保护措施
转自:21ic   作者:香水城

所有STM32的芯片都提供对Flash的保护,防止对Flash的非法访问——写保护和读保护。

读保护是作用于整个Flash存储区,一旦设置了Flash的读保护,内置的Flash存储区只能通过程序的正常执行才能读出,而不能通过下述任何一种方式读出:
  通过调试器(JTAG或SWD)
  从RAM中启动并执行的程序

写保护是以四页(1KB/页)Flash存储区为单位提供保护,对被保护的页实施编程或擦除操作将不被执行,同时产生操作错误标志。

以下是一个简单的小结:
读保护  写保护  Flash的操作功能
有效   有效   CPU只能读;禁止调试和非法访问
有效   无效   CPU可以读写;禁止调试和非法访问;页0~3为写保护
无效   有效   CPU可读;允许调试和非法访问
无效   无效   CPU可以读写;允许调试和非法访问





点评回复 引用

举报 返回顶部

  • 发短消息
  • 加为好友
admin 当前在线
最后登录
2011-4-20 
布袋
0  
铜板
125  
注册时间
2010-1-8 
阅读权限
200 
精华
积分
帖子
92 

荣誉指导员

3# admin 发表于 2010-12-3 09:10 |只看该作者 下面的则是我的经历:我昨天晚上突然就发现芯片被读保护了,我没有设对应的选项啊,不知怎么回事.今天搞定之后发现还是时不时的会自己变成读保护,郁闷中.
我板子的症状:
1. 无法有Keil上的jlink方式下载,无法擦除.
2. 使用官方的flash loader demo:第一步连接之后,出现红字,提示:the target is read protected. Please click "remove protection" to remove the protectiion. WARNING:when you click "Remove protection" the flash will be mass erased and all data will be lost.
然后是remove protection按钮.点击这个按钮:This command is not supported by the target.

解决办法:(我是看了多篇文章才知道原来Jlink arm有一个unsecure chip的命令的.)
1. 在一个类似于D:\Program Files\SEGGER\JLinkARM_V404a的目录下找到JFlashARM.exe.点击它.
2. options->project settings->production 勾选secure chip.这一项的作用是让你的另一个菜单项可以使用secure chip 和unsecure chip命令.
如图:


3. Target->connect.这里要先连接板子才可以进行unsecure chip 操作.连接的时候我一开始连接不上,很郁闷.但是不小心把启动方的跳线冒弄掉了,却发现可以了.也就是说,我是在从片bootloader的启动方式下(即使用串口的那种方式)连接上的.连接上之后.targer->unsecure chip.提示成功.
4.正常用Keil里的下载方式就可以下载了.

问题:
1.我现可以下载了,但是用串口方式依然提示读保护状态.而且无法去掉,即串口方式没有改变.
2.我用串口启动方式连接的jlink,这种方式可以连接jlink可以对芯片进行操作吗?以前记得是不能的.以前都是接上跳线冒才下载程序的.而我确定的确是可以用了,因为我现在安上跳线冒下载程序也能过了.
如果谁能回答我的问题,欢迎讨论一下.

我的U盘在使用过程中被写保护了,怎么去保护啊?急! U盘拷贝过程中突然提示写保护 请问何故? 怎样在SQL Server 2005中调试存储过程? 我在C++调试过程中出现的问题..紧急. 电脑使用过程中出现”超频保护中”? 履行劳动合同过程中造成他人损伤员工责任?法律依据 BIOS升级过程中突然断电造成升级失败怎么办? 就今天,电脑总出说什么虚拟内存最小直太低,需要调试.在调试过程中应用程序中断什么意思 离婚过程中怎样保护妇女的权益 U盘中内容无法删除 提示写保护 U盘没有保护功能 有病毒了 卡巴斯基杀不掉 怎么办啊 怎么给文件写保护 和取消保护 Debug调试过程怎样的啊? 不锈钢板做出管后,要焊接过程中出现了针孔,是什么原因的确良?造成的 印刷品覆膜后,冲压或凹凸过程中产生起膜现象,怎样造成,或如何解决 eMule为何在使用过程中会造成死机?不开启软件一切正常... 请问在见义勇为过程中造成的身体伤害和财产损失该有谁来补偿? 在喝茶的过程中要避免吃什么,不会对身体造成伤害? 在成长过程中造成的心理阴影是不是一生都去不了了?! 显示器信号线接触不好会造成电脑使用过程中重新启动吗 弟弟由于成长过程中受哥哥保护疼爱,缺少责任心和人生信仰,怎么办? 如何分析在合同订立过程中债权人利益的保护? 怎样能让老师在教学过程中保护自己的嗓子? 装修过程中出现意外,我该如何保护自身权益? 原始生命形成过程中,保护原始生命不受紫外线伤害主要靠( )