[APM32F1] 无法识别J-Link、无法烧录、烧录后无法运行的应对措施总结

[复制链接]
 楼主| zjh20070904 发表于 2022-5-28 10:43 | 显示全部楼层 |阅读模式
#技术资源#
在使用MCU的过程中,在开发环境正常已正常搭建(在KeilJ-Link驱动、packet包都已正确按照的情况下)、且可以正常烧录代码、正常运行程序的情况下,由于调整硬件电路、或者调整代码,在使用过程中遇到了无法识别J-Link、能识别但是无法烧录,或者烧录其它的简单代码可以运行,烧录自己编写的代码无法正常运行,以下总结了可能的异常情况及处理方法。
都是些基础的情况,然而实际应用中,会遇到各种各样的奇葩问题,光以下几点还远远不够。

1 自己的板子无法识别J-Link,用其它的板子可以识别J-Link1.1 检查MCU最小系统是否正常
  
具体排查问题点
  
具体方案
VDDA电压、VDD电压是否正常
如果电压是3.3V,可以使用万用表测量到3.32V
常见的电容是否连接上
对照最小系统电路,常见的稳压电容、滤除高频噪声信号的电容是否按推荐电路设计
复位电路
复位引脚电压是否为高电平、复位电路是否是按照手册常规电路
Boot电路
Boot0引脚连接GND(虽然不会影响识别J-Link,也一起附加检查)
时钟电路
HSE时钟电路是否按照参考电路设计(如果有使用的话,也附加一起检查)
JTAG电路
JATG电路是否按照推荐的设计


1.2 检查J-Link的复位引脚和MCUNRST引脚是否正常连接
keil中点击识别MCU、或者烧录的时候,JTAG会产生一个复位信号,如果一上电就立刻运行低功耗代码,或者一上电就立刻运行把调试引脚都配置为GPIO模式的代码,该复位信号复位MCU,在程序运行前识别J-Link
如果该JTAG的复位信号未连接MCU的复位信号,又是一上电就运行上述提到的代码,可手工按键复位,然后立刻擦除Flash中的代码。擦除MCU Flash后,可识别J-Link

2 能识别J-Link但是无法烧录
  
具体排查问题点
  
具体方案
因为pack冲突,会显示无法下载
选择MCU对应的型号、对应的Flash烧录文件烧录
Flash读写保护,无法下载
a 可通过J-Flash的解除写保护
  
b 调整Boot引脚,从系统存储区启动,连接ISP软件,擦除选项字节中的写保护
  
c 编写“擦除修改选项中的写保护”代码,将代码烧录至SRAM运行(比较麻烦,建议使用上述2中)



3 能烧录,但是烧录后无法正常运行
  
具体排查问题点
  
具体方案
Flash等待周期异常
1)超频情况下
  
例如,超频到120MHz时,需要配置4-5Flash的等待周期
  
2)降频情况下
  
例如频率降低到48MHz时,先进行时钟复位,Flash等待周期需要重新配置为1,而实际代码忘记配置。
数组越界访问
例如,明明定义了10个成员变量的数组,在读写时超过10个,此时会进入HardFault_Handler
栈设置的太小
例如:调用的函数中定义了大的数组,但这个数组的范围大于栈的大小,程序在运行过程中可能会栈异常,进入HardFault_Handler
  
可在startup_apm32f10x_hd.s文件中,结合MCUSRAM大小、全局变量和静态变量的占用空间、程序中定义的局部变量代销调大Stack_Size




Fanexs168 发表于 2022-5-30 15:02 | 显示全部楼层
Mark一下~以后直接借鉴了
内政奇才 发表于 2022-6-9 11:00 来自手机 | 显示全部楼层
收藏了,总感觉用得着
地球十强666 发表于 2022-6-12 22:32 | 显示全部楼层
感谢感谢
yangxiaor520 发表于 2022-6-13 19:11 来自手机 | 显示全部楼层
多谢分享经验,学习了。
xiaoyaodz 发表于 2022-6-20 15:24 | 显示全部楼层
这个是芯片的原因吗?
 楼主| zjh20070904 发表于 2022-6-24 15:31 | 显示全部楼层
xiaoyaodz 发表于 2022-6-20 15:24
这个是芯片的原因吗?

不是
adolphcocker 发表于 2022-7-4 16:27 | 显示全部楼层
有什么问题吗?   
selongli 发表于 2022-7-5 15:50 | 显示全部楼层
这个不是支持吗   
qiufengsd 发表于 2022-7-5 16:30 | 显示全部楼层
以后用的到的。  
xiaoyaozt 发表于 2022-7-5 17:11 | 显示全部楼层
为什么无法烧录程序嗯   
sheflynn 发表于 2022-7-5 17:48 | 显示全部楼层
无法识别J-Link?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:极海半导体
简介:珠海极海半导体有限公司是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。

29

主题

68

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部