JLINK烧写程序遇到的常见错误ERROR:RAM check failed @ADDRESS 0x20000000

参考文章https://blog.csdn.net/duan316/article/details/77160782

以前操作的单片机都是L15x系列的单片机,这次用了个stm32f103的板子,在用jlink对其进行程序的烧录的时候,出现了错误:

ERROR:RAM check failed @ADDRESS 0x20000000,其实原因就是:是1脚没有输入3.3V,

通过百度找到上面链接中的文章,发现真的是这个原因,我是电路板用电池供电,之前用ST-LINK在keil5上烧的时候,电源引脚悬空了,没有接,只接了CLK,DIO GND三个引脚,在keil下用st-link没有问题,现在改到用jlink下在,1引脚同样悬空了,结果下载中按F4 Erase chip就出现这样的错误,于是把电路板上的JTAG的supply接入jlink的1引脚后,擦除就没有问题了。

 

在解决完这个错误后,按F6进行Program & Verify的时候,又遇到了另个一错误:

ERROR: Program (0x0 - 0x7E5F) does not fit into selected flash sectors

查找原因,找到这个提问https://wenda.so.com/q/1466874348727266 的答案:

检查自己的配置,果然发现base address那里是0x6000000, 单片机型号选择的是STM32F103C8(allow opt bytes), 于是将单片机型号改成STM32F103C8 就可以了,这个型号的base address是0x8000000.

  

 

关于JTAG引脚的定义和说明,可以参考https://blog.csdn.net/duan316/article/details/77160782文章中的说明。

这是Jlink的引脚定义,这里1和 2都是VCC,但这两个是有区别的一个是输入一个是输出。,1是目标板的参考电压输入,2是输出,2输出的是3.3V,

我们用SWD模式连接时,需要的连接1、7、9、15(复位引脚好像不连接也可以)20(GND可随便找一个),在这样连接好以后,需要给1脚输入一个3.3V,这时我们可以通过在Jlink内部跳线,使得2脚输出一个3.3V,然后将1、2脚短接起来,这样1脚就可以有一个3.3V输入这样你就可以下载程序了。
————————————————
版权声明:本文为CSDN博主「IOT时代的OnePiece」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/duan316/article/details/77160782

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值