6.ST LINK 下调试异常
☆1.无法进入main函数
(printf的影响)
***为什么有时候可以进入main函数,有什么进入不了main函数?
<1> 因为C语言默认使用显示器作为标准输出的设备,所以如果想利用printf必须进行函数的输出重映射到串口。MDK下使用printf函数会导致程序无法进入main函数
,防止其进入半主机模式。使用特定代码,或者使用微库。但是依旧没用。 在清除所有断点后好用!!
☆2.调试过程中程序依然执行:
<1> 独立看门狗对调试的影响: 调试时关闭IWDG时,调试能正常进行。103芯片对看门狗的支持并不好,所以当进行调试时,最好关闭看门狗。
☆3.BOOT0 BOOT1对程序运行以及调试时的影响
BOOT0 = 0 ,BOOT1 = X,程序从Flash进行启动,一般程序的要求都是从Flash(主闪存存储器进行启动)。
BOOT0 = 1 ,BOOT1 = 0 / 1 会使程序从 系统存储器或SRAM进行启动,可以用ST - LINK进行下载,但因为程序是下载到Flash中,所以无法正常运行!
在DEBUG模式下,会直接全速运行而无法停止。
☆4. 使用ST-LINK V2下载 提示internal command error
(1).一般是因为STM32的SWDIO /SWCLK引脚虚焊。芯片引脚的虚焊可能会导致相关功能无法使用。
(2).当操作stm32的内部Flash出现错误时,非正常退出调试模式也会出现 Internal command error.
☆5.程序单步执行正常,全速执行无法得到正确的结果:
(1).软件延时时间不够,时序有问题。因为单步执行时,软件有足够的时间来完成相关操作。但是全速执行则不然,因为时序原因。
☆6.通过SWD方式下载出现 flash timeout,程序无法正常进行下载。
一般出现此种情况的原因去除硬件-VDD引脚虚焊(..),可能是由于flash被锁。可以通过ISP方式清除flash解除。
☆但是程序无法正常通过ST LINK进行调试。
☆7.通过SWD方式下载,提示Flash Download failed!-cortex-M3
☆8.当使用IAP进行程序升级或者一般APP程序中,如若使能中断,一定要书写串口中断服务,否则会导致程序异常。跳转至启动文件 B . 指令处。
*********************************************************************************************************************************
**STM32--DBG调试支持**
*********************************************************************************************************************************
1.概念:Cortex-M3内核的调制机制:内含硬件调试模块。支持两种调试机制:串行接口SWD(SWCLK/SWDIO)和JTAG接口(标准五针式)默认的调试接口,需切换。
当内核停止时,内核的内部状态和系统的外部状态都是可以查询的。 当调试结束时,内核可以恢复运行状态,外设也可以恢复工作。
(使用PB3/PB4引脚,需要进行释放!!)
2.ITM 指令跟踪微单元 :支持类printf的调试手段来跟踪操作系统OS和应用事件。
(可以根据不同的调试模块配置,实现复杂的调试功能,例如数据跟踪,系统调试)
3.MCU调试模块
<1>低功耗模式的调试支持,因为低功耗模式会关闭MCU时钟系统,如果想要进行硬件调试,需要特殊的操作支持。详见中文参考手册。
<2>通过在主程序中加入断点,来实现对定时器、看门狗、bxCAN、I2C调试。对于定时器和看门狗,在产生断点时,计数器停止计数。
6.ST LINK 下调试异常的更多相关文章
- ST Link 调试问题总结
用过ST Link调试工具的同事都应该知道,ST Link是一个很不错的调试工具,它具有小并且功能齐全,价格便宜等特点,现在市场上普遍是下面这两种ST Link, 但如果用的比较多,会发现有时候会存在 ...
- 【译】使用 Source Link 提高调试效率
有多少次你在调试器中追踪一个缺陷,通过代码,观察局部变量的值改变,当你碰壁--不是你所期待的值和你不能进入的方法,因为它来自类库或 .NET 框架本身:或者您设置了一个条件断点,等待检查某个值是如何设 ...
- 编写高质量代码改善C#程序的157个建议[用抛异常替代返回错误、不要在不恰当的场合下引发异常、重新引发异常时使用inner Exception]
前言 自从.NET出现后,关于CLR异常机制的讨论就几乎从未停止过.迄今为止,CLR异常机制让人关注最多的一点就是“效率”问题.其实,这里存在认识上的误区,因为正常控制流程下的代码运行并不会出现问题, ...
- Effective Java 第三版——69. 仅在发生异常的条件下使用异常
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- OneOS下调试支持的几种方式
方法论 当我们遇到问题,应该怎么办?这不仅应用于程序开发,也是我们在生活中遇到问题的时候,应该想的事儿,怎么办!趁着此次机会,我好好想了七秒钟. 先问是不是问题,如果不是就不用解决了 如果确实是问题, ...
- sqlserver下调试sql语句
现在版本的sqlServer已经支持调试功能了,但是在使用的时候用到的却很少(毕竟print习惯了..) 这里做一个笔记,简单的说明一下在sqlserver下调试的方法: declare @i int ...
- javascripy的innerHTML在IE8下的异常
使用jQuery的datatable插件的时候发现,IE8下显示异常,仔细调查一番,发现是浏览器对innerHTML的差异导致的. 实例代码: var nTd = document.createEle ...
- VS2005--设置Release模式下调试
今天初略看了下,所谓Release和Debug只是大家和编译器约定的一些生成规则而已,所以调试是无所谓Release和Debug的,只是由于生成的规则不同,可能Release的一些调试结果没Debug ...
- ArrayList的ConcurrentModificationException异常和多线程下的异常
一.ConcurrentModificationException ArrayList源码看为什么出现异常: public class ArrayList<e> extends Abstr ...
随机推荐
- shell读取mysql数据库
select_sql="select value from glpi_configs where name='version' " db_data=`mysql -h $host ...
- C#mvc下拉框绑定
控制器 ViewData["select1"] = new SelectList(b.bd(),"names","names"); 视图 @ ...
- 组队项目,Main队伍
本小组经过讨论,决定做的项目为----厨娘 分组情况: 1.界面设计:胡骏 2.前段,界面代码实现:梅庆 3.后台.逻辑处理:唐正奎.张军洪.袁成杰 4.数据库的建立与存写:张军洪.蒋利平 厨娘——需 ...
- 通过进程link路径(快捷方式路径)得到进程完整路径
程序中遇到的问题及解决方法: #error WINDOWS.H already included. MFC apps must not #include <windows.h>解决方法:把 ...
- 模仿select下拉列表
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- JavaScript的组成 | DOM/BOM
往期回顾 在上一期的<JavaScript的组成 | 核心-ECMAScript >☜里,我们有说到JavaScript 是由三大部分组成,分别是:核心ECMAScript.文档对象模型- ...
- vue 关闭浏览器
在开发中的一个需求,vue中关闭浏览器, 直接使用window.close()在chrome.fireFox会不起作用 需要改为一下方式 window.open('about:blank','_sel ...
- 文笔很差系列1 - 也谈谈AlphaGo
距离AlphaGo击败李世石已经过去数月了,心中的震撼至今犹在,全刊报道此项比赛的<围棋天地>杂志我已经看了不下十遍.总也想说点自己的意见,却也不知道从哪里说起,更不知道想表达些什么. 作 ...
- [LeetCode&Python] Problem 844. Backspace String Compare
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
- Vue.js学习使用心得(四)——组件
一.组件 组件(Component)是 Vue.js 最强大的功能之一. 组件可以扩展 HTML 元素,封装可重用的代码. 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界 ...