STMF103系列单片机无法调试和下载程序的原因及其解决

时间:2018/11月/15

经过实践中发现,使用stm32cubeMX 自动生成的代码,烧入单片机后第一次,断电重启后能够运行。

但是,再次对其进行操作的时候,发现无法进行调试,也无法对其下载程序。

怀疑是硬件问题,比如怀疑是硬件不稳定导致的。但是实际上原因并不是。

换了另外一块主芯片一样的不同设计的板子,依然发现了类似现象。

怀疑是软件问题。

经过同事指导,将boot0、boot1的跳线接到高电平,不从内部flash启动。

发现可以在IDE环境下(比如keil v5)对其进行下载程序。这一次下载的程序是开发板的商家提供的工程的示例代码。

下载成功后立即正常运行。以后的各种操作均正常。这说明,不能随便采用未经过验证的程序下载到单片机中,可能会引起单片机无法启动等问题。

这个问题在飞思卡尔的mpc5XXX系列单片机上没有遇到过。但是,在stm32的单片机上就遇到了这种让人感觉到困惑的问题。

所以,不能冒然采用不熟悉的工具。需要对单片机熟悉之后再尝试这种自动的东西。

或者,不太依赖,而是把自动化比较强的工具作为一个参考。

原文地址:https://www.cnblogs.com/praiseslow/p/9966842.html

时间: 2024-10-07 14:34:47

STMF103系列单片机无法调试和下载程序的原因及其解决的相关文章

VS调试_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));崩溃原因及解决方法

今天下午对面的老大调试遇到这个问题,大家一起讨论好久才解决这个问题 crt源代码都是可以看到的,为了了解清楚原因,十分有必要查看源码,源码一般在你的VS安装路径下VC\crt\src下. 点击重试,定位到崩溃源码地方dbgdel.c的第52行. 为了了解原因,我的测试代码是这样写的: int _tmain(int argc, _TCHAR* argv[]) { char* p = "123456789"; delete p; p = NULL; } _BLOCK_TYPE_IS_VAL

使用JVM管理工具jvisualvm,系统提示"无法检测到本地java应用程序"的原因和解决办法

我使用的JDK版本是1.6.0_37版本,操作系统是windows xp,今天想使用下%JAVA_HOME%/bin/目录下的一些管理工具,结果遇到麻烦了.使用JPS命令,无法列出本地运行的java虚拟机:使用jvisualvm,提示"无法检测到本地java应用程序". 这个问题的原因可以看下:http://docs.oracle.com/javase/1.5.0/docs/guide/management/faq.html#win1 大概原因有2种: 1.操作系统的临时文件目录所在的

Win7下双击U盘,”找不到应用程序”的原因与解决办法

1. 打开注册表,直接在WIN7下按WIN+R调出输入 regedit回车即可打 2. 直接展开如下的注册表项: HKEY_CURRENT_USER->Software->Microsoft->Windows->CurrentVersion->Explorer->MountPoints2 3, 删除MountPoints2 4. 最好到控制面板的硬件项那关闭WIN7下的设备"自动播放"功能

跟踪OceanLotus的新下载程序KerrDown

攻击的方法 两种方法将KerrDown下载器传递给目标.一个是使用带有恶意宏的Microsoft Office文档,另一个是包含带有DLL side-loading合法程序的RAR存档 .对于RAR存档文件,用于欺骗目标的文件名都是越南语 * DLL Side-Loading 程序可以指定在运行时加载的DLL https://attack.mitre.org/techniques/T1073/ 恶意文件 两个不同的base64 blob插入到单独的表中,并且字体大小已更改为1. 图 1:诱饵文件

灵动微MM32单片机下载程序报错说明

程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.程序即完成某一件事或者是某一项工作所进行的步骤.程序具有很强的次序性和条理性,是完成一项工作所通用的方式及步骤,必须由一定数量的先后顺序的行为或者工序组成,一步步的进行,直至完成目标.下面要介绍的是灵动微MM32 MCU下载程序报错说明. 实验设备: MM32f103 测试板,MM32 测试板, Jlink.ulink2 以及 keil 5.15.keil5.18 版本 实验现象: 复制一个 MM32f103 的软件工程文件到

如何使用串口来给STM32下载程序

前言 第一次学习STM32的时候,不知道有调试器这个东西,所以一直是通过串口来给STM32下载程序,下载速度也还算可以,一般是几秒钟完成.后来用了调试器,可以直接在Keil环境下进行下载,而且还可以进行在线调试,所以后来就很少使用串口来下载程序了.前几天在uFUN试用群里看到有几个朋友在使用串口下载程序时,遇到了各种各样的问题,所以在这里简单介绍一下如何通过串口来给STM32下载程序. STM32的启动模式介绍 从STM32参考手册上,可以查阅到,STM32的启动模式,共有下列三种,可以通过BO

STC15系列单片机教程之一:OneLED

STC15系列单片机教程之一:OneLED STC15系列单片机教程之一:OneLED一.开发软件准备二.STC15F2K60S单片机IO分配三.程序编写1.Keil 新建项目2.编写程序3. 程序的编译四.固件下载总结 本系列教程开始学习STC15系列单片机的C语言编程,读者需要有C语言的基础知识. 一.开发软件准备 1. 安装编程软件:Keil 2. 下载软件STC_Isp 3. 配置keil下的STC单片机编程环境 点击添加信号和头文件到Keil中,为 keil软件添加STC系列单片机器件

freescale飞思卡尔 HCS12 系列单片机bootloader详解(二)

在上一篇文章中我们做了对HC9S12系列单片机存储空间的划分,但是相比于整个bootloader的工作而言,这只是非常基础的一步,有很多基础的概念在上一篇的操作中我们并没有涉及到.比如较复杂单片机中单片机的存储空间到底是什么样的,具体怎么用C语言对它进行寻址.因为我们单片机的存储空间一般由如下的构成,RAM,ROM以及EEPROM等等.比如在我在本篇中举例介绍的9S12G128单片机,它的RAM空间有8KB,EEPROM有4KB,FLASH有128KB.如何将这几个存储空间合理的组织起来想必单片

Microsemi Libero使用技巧——使用FlashPro单独下载程序

前言 在工程代码编译完成之后,如果需要给某个芯片下载程序时,或者是工厂量产烧录程序时,我们不需要把整个工程文件给别人,而只需要把生成的下载文件给别人,然后使用FlashPro就可以单独下载程序文件了.本文介绍如何从工程目录中提取下载文件,并使用FlashPro软件来单独下载程序. 关于FlashPro Microsemi FlashPro编程系统是Microsemi的FlashPro软件和硬件编程器的组合.它们可以为PolarFire,IGLOO2,SmartFusion2,RTG4,IGLOO