尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

J-Flash下载问题

J-Flash下载问题 本文最值得关注的内容就是系统函数调用导致系统进入低功耗模式进而引起JLink下载失败。之后也就是介绍相关细节了没有兴趣的可以直接掠过。我在开发中遇到奇怪的下载问题Keil5下载程序正常JLink下载失败但Jlink可以读芯片存储内容可以擦除但写入过程总是报错“Timeout while Programming sectorcore does not stop... Program failed. Failed auto program target”。硬件问题一开始怀疑是硬件问题怀疑电路缺少元器件关键部分未焊接致使电源不稳定影响程序下载。后续只焊接芯片最小系统采用JTAG供电进行调试。硬件最大的问题就是PCB板下载接口标识不清晰下载接口需要一根一根对着原理图反复接线引起接线错误影响使用者心情。这个问题没有什么好关注的只希望大家拿到的电路板都标识清晰有专用的接线工具。在使用领慧公司样板的时候同事下载失败第二天一起看了下样板设计了防反接的JTAG下载接口但JLink监测不到芯片。看了领慧公司的使用说明文档才发现整个开发板没有连接任何跳线帽用万用表测量引脚电压才发现MCU供电失败按照使用说明安装跳线帽后就可以正常工作了。软件问题在介绍软件问题前本文先对JLink进行简单介绍。JLink软件默认安装位置为C:\Program Files\SEGGER\JLink\Devices。常用、外国大厂JLink默认集成它们公司的软件支持包。其它公司芯片需要手动安装设备支持包egArm Keil | FMSH FM33LE0XX_DFP。否则只能选择芯片内核进行操作例如Cortex-M0Cortex-M3RISCV等。安装设备支持包后就可以选中对应的芯片型号以下图为例安装支持包后用户就可以直接选择 FM33LE02x复旦微电子公司的MCU。芯片型号选择错误可能也可以连接上芯片可以擦除但是Flash、RAM区域配置不一样也会导致下载失败希望开发者不要犯这种低级错误。后面的才是重头戏主要说两种分别是没有开启JTAG下载引脚复用另一个就是芯片进入低功耗模式。void pmu_init(void) { FL_PMU_SetLowPowerMode(PMU, FL_PMU_POWER_MODE_ACTIVE_OR_LPACTIVE);//active or lpactive mode FL_PMU_SetLDOLowPowerMode(PMU, FL_PMU_LDO_LPM_ENABLE);//DISABLE);//ENABLE); //lp active mode }FL_PMU_SetLowPowerMode(PMU, FL_PMU_POWER_MODE_ACTIVE_OR_LPACTIVE)将芯片电源模式设置为“活动或低功耗活动模式”。FL_PMU_SetLDOLowPowerMode(..., FL_PMU_LDO_LPM_ENABLE)使能 LDO 低功耗模式。这两个配置同时生效时芯片会进入 LP Active低功耗活动模式。在此模式下JTAGSWD的SWCLK 、SWIO 被配置为数字功能加上拉或外部上拉。JTAG功能引脚被取消复用自然也就无法下载程序。最神奇的时Keil5居然可以下载要不是使用JLink试了下直接把带有低功耗配置的hex发给客户就丢人丢到公司外面了。也正是因为这个函数没有以代码形式、显式配置引脚取消引脚复用所以我一开始没注意到这点只能通过控制变量一点一点注释功能代码花了些时间才发现这个问题。以前用STM32CubeIDE的时候忘记配置JTAG引脚复用导致下载失败大家要引以为戒哦。
返回列表