当前位置:   article > 正文

EFR32 xG1x的bootloader被擦除_simplicity studio 烧录会覆盖bootloader吗

simplicity studio 烧录会覆盖bootloader吗

问题描述:

用Simplicity Studio的调试功能下载程序到芯片,CPU不停在main入口处,而是直接跑飞。用Debug界面上的复位按钮把芯片复位,可以看到CPU停在地址0x0FE10000处,但是反汇编窗口显示该处全是0xFF。
如下图表,此处是bootloader。
在这里插入图片描述

用Simplicity Studio或Simplicity Commander是不会擦除这个区域的。但是如果用Segger J-Flash的整片擦除功能,那么就会把这个区域擦掉,如下消息所示:
Connecting …

  • Connecting via USB to J-Link device 0
  • Target interface speed: 2000 kHz (Auto)
  • VTarget = 2.997V
  • Executing init sequence …
    • Initialized successfully
  • Target interface speed: 2000 kHz (Auto)
  • J-Link found 1 JTAG device. Core ID: 0x2BA01477 (None)
  • Connected successfully
    Erasing chip …
  • 266 sectors, 4 ranges, 0x0 - 0x7FFFF, 0xFE00000 - 0xFE007FF, 0xFE04000 - 0xFE047FF, 0xFE10000 - 0xFE13FFF

解决方法:

(1) 用Segger J-Flash把Lock Bits(LB)page中的CLW0中的Bootloader enable位(Bit 1)写成0。(*(0x0FE041E8) = 0xFC)
(2) 用Segger J-Flash把正常芯片的bootloader读出来(0x0FE10000 - 0x0FE13FFF),存成HEX文件,然后烧写到故障芯片中。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/269969
推荐阅读
相关标签
  

闽ICP备14008679号