nRF51822:Keil下载程序报错(Erro;Flash Download failed - "Cortex-M0")

问题描述

今天在用keil软件下载程序时遇到这个问题。

比较奇怪的是我下载之前的其他工程都没有问题,可以正常,重新开的以前的另一个样例工程下载测试就出现了这个问题。

 

原因分析与解决办法

1.找攻略

在查看了J-Link配置没问题之后,在网上查找解决办法

查到 Error:Flash Download Failed-"Cortex-M0" 这篇博客跟我遇到的同样的问题

但是博客中说的文件我配置中是存在的。

2.仔细检查 Options Target 配置 

仔细对比检查可以正常下载和不能正常下载工程的配置情况。没有什么不同。

3.思考

仔细思考了一下,我现在用到样例工程只是一个简单的关于外设的工程,没有涉及到蓝牙服务程序,主要是此时的ROM地址设置是从0x0开始的,如下图所示。

可是之前用到的工程都是有蓝牙程序,所以会先烧写softdevice.hex 服务文件,因为此时的地址设置为

因此在烧写过蓝牙协议文件的板子上再烧写普通文件之前,应该先用 nRFgo Studio 将设备上的程序全部擦除

不然就会烧不进程序,因为从0X0程序开始的地址已经有程序了,擦除之后重新烧写程序,烧写成功。

(太久没用nRF51822我竟然把这个给忘了,果然还是写下来比较好)

同理:在烧写需要用到蓝牙服务协议的程序时,一定要记得先烧写蓝牙服务程序,已经修改待烧写程序的烧写起始地址。


Tip

  1. 报这个错可能是因为下载配置的问题,仔细检查配置吧!!!
  2. 也可能是板子上存在蓝牙协议服务程序导致烧写不进。
  3. 在烧写需要用到蓝牙服务程序前一定得注意:(不然程序烧写进板子会达不到效果,或者单步调试程序的时候可能会报错:**JLink Warning: Mis-aligned memory read: Address: 0x00000000, NumBytes: 60, Alignment: 2 (Halfword-aligned))

    (1)ROM区的开始地址的配置

(2)蓝牙栈协议文件的提前烧写

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微芯供氧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值