Chinaunix首页 | 论坛 | 博客
  • 博客访问: 64654
  • 博文数量: 16
  • 博客积分: 410
  • 博客等级: 下士
  • 技术积分: 154
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-01 21:38
文章分类

全部博文(16)

文章存档

2013年(6)

2010年(1)

2009年(9)

我的朋友

分类: LINUX

2013-10-16 20:20:26


原文地址:http://blog.csdn.net/lxc1014/article/details/8214057
这几天在使用STM32F050c6d的MCU进行移植开发,只有最新的版本才对这颗MCU支持,所以被迫更新到了最新的版本。MDK4.6跟Jlin4.56d的下载地址在我的资源里已经共享。安装完以后提示更新,更新之后被告知,Jlink为Clone。

       解决办法如下:

1、重新烧写固件到Jlink,将原来V8.bin固件用Winhex打开,并找到偏移地址为0xff00为首地址4bytes修改为其他值,只要不为原来的11111117 或 805306163即可,因为更新后的固件对这两个固件SN进行了强制校验,修改为其他值即可完美解决问题,同时将0xff30后面的GDBFull对应改成GDBFULL,对应ASCII码为47 44 42 46 55 4C 4C,目的是跳过GDBFull检查。吐舌头

1.1 另外一种灵活的修改SN的方法:将0xff00为起始地址的4Bytes修改为0xffffffff,同时将0xff30后面的GDBFull对应改成GDBFULL,对应ASCII码为47 44 42 46 55 4C 4C,目的是跳过GDBFull检查,保存修改好的固件文件。更新固件后,打开Commander,不理会更新,在Jlink命令后面输入

      exec setsn = xxxxxxxx,所输入的sn为16进制,否则更新升级时会出现错误。 建议定义成你更新的时间,如20121121,这样就能追溯掉固件上次的时间。

2、此时安装了Segger4.65d的版本,打开JLink Commander,按要求提示更新,更新完之后即可正常使用最新的版本了。    

        PS:CM0加入读保护后,Segger的Unsecured Chip功能不能正常使用了,还未找到办法。跟ST的FAE联系后,建议使用ST Link的STVP来对Option Byte进行擦除,对RDP进行擦除。

更新固件之后,实测发现更容易掉固件了,之前的固件在同样的硬件平台使用半年都不掉一次,更新之后,平均估计半个月就会掉。还没找到问题所在,这样推理的话,只是跟固件相关。抑或是新的固件对硬件操作上有所更改所致?


     注意:同时修改GDBFull为GDBFULL或其他字符,根据目前实测,一个月不掉固件,所以修改的地方除了SN,同时应当修改GDBFull字符。解决之前只修改SN后,常掉固件的问题。

阅读(2402) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~