ST芯片烧录失败的原因分析及对策

ST芯片烧录失败的原因分析及对策

 

1.SWIM管脚被占用所致的烧录失败:

对于没有RST管脚的芯片,如stm8s001j3m3,一旦在应用中使用了SWIM管脚作为输出或者有中断服务,如果不在写程序时注意在上电时留出SWIM通讯建立时间,或者基于引脚电平检测中断进入SWIM通讯流程,可能在单次烧录之后再也无法下载程序,变成OTP。原因为SWIM协议需要进行通讯握手,然后才能传输数据到芯片内,这在J3M3的数据手册DS12129 Rev 3,14页Recommendation for the device's programming章节内有说明。

 

硬锁定:硬件钳位所致无法烧录:一旦芯片管脚被外围电路限制,无法进入高电平或低电平状态,或者上下方波边缘因电容畸变,则无法进行通讯握手,因此无法进入烧录状态,芯片在安装到板子上以后,无法进行烧录。

 

软锁定:软件设置所致无法烧录:当SWIM脚被设置为输出或者程序内存在中断服务程序时,SWIM通讯无法建立或被中断打断,难以进入烧录状态。表现为芯片烧录一次程序后,再也无法烧录成功,芯片表现为OTP症状。

 

硬锁定解决办法:

 

对于SWIM脚,尽量避免用于其它非烧录功能,如迫不得已,应通过跳线器或零欧姆电阻连接管脚与外周电路,在烧程序时断开管脚与外围电路的连接,烧录完成之后再接通。

 

软锁定解决办法:

  1. 在程序最开始进入等待模式5秒,不进行任何关于管脚输入输出方向的寄存器设置操作。留给烧录动作通讯完成时间。在烧录过程中,必须注意,上电5秒内就得启动软件进行烧录,否则错过之后就得重新上电进行烧录。

 

2.开机过程在程序中对特定管脚进行电平检测,当检测到特征电平时,进入烧录模式。等待SWIM通讯过程完成。如果检测管脚不满足条件,则进入正常运行模式。

 

void Delay(uint32_t nCount)
{
  while(nCount !=0)
  {
    nCount--;
  }

 

/*文件main.c实现示意*/

 

Main()

{

Delay(0x4E200);  //延时5秒,允许烧录窗口,过时必须重新上电趁机烧录。

 

chip_config();  /*寄存器初始化,包括时钟频率设置,看门狗中断,管脚属性等等*/

app_Init();  /*应用初始化*/

While(1)

{

app_cycle();  /*应用实现*/

}

 

}

  1. 烧录时,必须使用3.3V电压供电,如果使用5V作为烧写接口的VDD,可能会出现烧录失败现象。

 

  1. 烧录失败的原因之一,为不合格的杜邦线,线芯过少过细造成线阻压降过大,导致烧录失败。

 

  • 烧录失败的另一种可能,为电脑USB口供电能力不足,此时需要更换具有较大电流驱动能力的USB口作为接入口,建议使用机箱后部主板直接引出的USB口。如果仍然电流不足,可以并联另一路USB口的VDD与GND,联合给芯片供电。

 

7.有时提示没有发现连接的设备,此时需要从USB口拔出STLINK,然后重新插入进行连接,再烧录或可成功。

本文得到了赛耐比光电(www.snappy.cn)蔡工(cailijunzj)的指导。

BTW. 欢迎加入嵌入式系统信息交流群,每日分享技术与文化杂文5~50篇不等口味轻重不一,欲加入者请加微信号 conepoint 发 “围观”两字。

 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Etcher U盘烧录失败原因可能有多种可能性。根据引用中的问题解决方案和引用中的解决方案,以下是一些可能的原因: 1. 文件损坏:如果烧录的镜像文件损坏或不完整,Etcher可能无法正确地将其写入U盘。这可能发生在下载镜像文件时出现网络问题或文件传输错误的情况下。 2. U盘问题:U盘本身可能存在问题,如坏道或物理损坏。这可能导致Etcher无法正确地将数据写入U盘。 3. U盘格式问题:U盘的文件系统格式可能与Etcher不兼容。某些文件系统格式,如exFAT,可能会导致Etcher出现问题。 4. 系统权限问题:在某些情况下,Etcher可能需要管理员权限才能正确地访问和写入U盘。如果没有足够的权限,烧录过程可能会失败。 5. Etcher版本问题:某些旧版本的Etcher可能存在bug或问题,导致烧录失败。确保使用最新版本的Etcher可能有助于解决这个问题。 综上所述,Etcher U盘烧录失败原因可能是文件损坏、U盘问题、U盘格式问题、系统权限问题或Etcher版本问题。根据具体情况,可以采取相应的解决方案来解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [#Jetson-NX踩坑记--Etcher Flash Failed 烧录失败的解决办法](https://blog.csdn.net/qq_43519779/article/details/120488715)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [修复烧录u盘方法.pdf](https://download.csdn.net/download/yb980413/12729635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值