打印
[开发工具]

总结一下烧录失败的几种原因

[复制链接]
5480|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hexbei|  楼主 | 2024-2-23 16:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1、硬件方面问题
      a、众所周知,Vcap脚目的是为了保证内部主调压器的电压稳定,如果这个地方不接电容或者参数或位置过于随意,调试、烧录往往会有问题。所以在测试APM32F003&APM32F4系列的芯片,务必注意这些引脚接电容接地(一般都是2.2uf电容)。

      b、一般来讲,我们使用JTAG或者SWD模式下载程序时,就是下载到0x8000 0000里面。也就是主闪存存储器 (Flash)。所以我们要根据用户手册中,确保BOOT0引脚是低电平(一般是10k电阻接地)。
      c、剩下的就是外部因素了,由于J-link、DAP-link、ST-link的差异问题(你懂的),有时候会出现各种各样的问题,例如能烧这款芯片烧不了另外一款芯片、烧了一次导致芯片进入读保护等等。还有就是烧录接口不良等问题。


2、软件问题
      因为每个人对编程环境各有喜好,一般都是用keil、IAR作为开发平台,J-Flash作为辅助等等。我这里主要是讲我个人在使用keil5和J-Flash中遇到的一些问题。下面,我们来看一个例子,我在使用APM32F030K6T6的过程中,开发和测试都没有问题,但是实际到了生产的时候,由于是人工顶针式烧录,难免会有异常情况,然后我对烧录异常的芯片进行分析。

      a、首先我们使用keil5看是否能正常识别芯片,先检测一下keil5的配置,确保芯片驱动、j-link正常连接,版本号、SWD、成功识别芯片、下载算法正常。

      b、问题出现了,即使上面的因素都确定了,但是没有办法正常烧录。因为我现在用的是4pin烧录线,会不会是因为没有接reset脚的原因呢,有时候reset脚没有接确实会存在烧录异常问题。然后我使用了5pin烧录线,然后又换了新的杜邦线,确保烧录线没有问题,结果还是不行。
      c、我们换J-flask尝试一下,寻找对应芯片驱动、SWD驱动。
      d、连接成功后,我们擦除一下芯片,显示擦除成功。那么我们再尝试一下烧录代码,居然失败了,有点奇怪,为什么可以擦除但是不能烧录呢?
      e、然后我**一闪,有没有可能是因为人工用离线烧录器的问题(可能是因为人工问题,或者是离线烧录器的问题),导致了芯片进入了读写保护,从而导致无法二次烧录造成的烧录不良。然后我尝试用另外一款离线烧录器(晓北科技的XL_01)配置成选项字节烧录(即解除读写保护)。居然可以烧录,然后再使用keil烧录也没有问题了。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

21

帖子

2

粉丝