STM32调试问题】的更多相关文章

开发过程经常需要查看某些特定参数.通常的方法可以使用paintf进行打印输出,观察具体的变量值.STM32内部集成有USART的串口功能,可以通过串口直接输出到电脑(上位机).使用非常方便,基本不需要不需要写代码,只要配置一下就可以使用. 简单设置就可以看到上面的效果 配置方法: 1.重定向printf的输出函数 int fputc(int ch, FILE *f) 2.配置STM32F10x的USART串口 重定向方法 stdio.h 的输出内容 int fputc(int ch, FILE…
原创: Osprey  鱼鹰谈单片机 2月17日 STM32 有一个代码跟踪功能,即 ITM,这个调试功能非常强大,可以替代串口输入输出功能,而且只需要占用一根 I/O 线就可以实现.当然它的好处不仅仅体现在这里,在调试嵌入式操作系统代码时你会发现相当方便.不过本篇的重点不在如何利用它进行代码调试,而是如何使能这个功能(实际上只是因为才解决了这个问题,还没正式用它调试代码呢). 对于 KEIL 的调试方法,我将总结三篇文章,这是第三部分"ITM调试",第一部分为"基础调试&q…
问题:加入红外初始化后,程序卡在红外初始化处 解决思路: 1.确认时钟是不是好的 2.把定时器分解调试(输入捕获.溢出分开一步一步弄) 已解决:定时器的溢出中断 注意:STM32Cube配置好后,需要人为地开启中断,然后需要重新定义回调弱函数 HAL_TIM_Base_Start_IT(&htim1); //开启溢出中断 //重新定义回调函数 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if(htim->Inst…
..\..\SYSTEM\usart\usart.c(1): error:  #5: cannot open source input file "sys.h": No such file or directory #include "..\sys\sys.h"这样就可以找到路径了 再次编译出现了问题 ..\..\SYSTEM\usart\..\sys\sys.h(3): error:  #5: cannot open source input file "…
参考: 很郁闷,买来没多久的 STM32F4-DISCOVERY 就挂了? STM32F103RB   Jlink调试的时候出现flash timeout.reset the target and try it again 看完以上网友的方案后本人使用FlyMcu读芯片,内容提示芯片被锁.遂想下载一个程序试试,不想程序可以下载,然后再读芯片时已正常. 返回Keil使用ST-Link也可正常使用. 从网友结论及本人测试,些次出现“flash timeout.reset the target and…
网上找到的可能的原因 堆栈空间默认的太小 默认startup_stm32f10x_hd.s中 Stack_Size EQU 0x00000400,如果改大之后,可能调试就可以正常运行. 出现最多的情况就是设置的断点过多,可以把断点全部删除试试看,STLink只能设置5个 勾选如图…
症状 最近开始学习STM32Cube,发现新建工程后无法正常调试,过了HAL_Init();之后就无法继续调试了. 无法进行让程序暂停以及停止等操作.并在输出窗口不断刷出 ERROR: Can not read register xx while CPU is running 原因 cube新建工程的时候默认关掉了调试功能,需要打开 解决方法 在Pinout&Configuration -> System Core -> SYS 里面找到Debug,切换为JTAG(5Pins)重新生成…
大部分使用STM32开发nrf24L01的用户基本都是照搬常见的几个开发板的源代码,在这里我做一些总结: 1.源代码中在while(1)的循环中有 NRF24L01_TX_Mode();或NRF24L01_RX_Mode();类似这样的代码,因为源码中需要检测按键以便切换的不同的模式,对于正常使用来讲,都是发送接收方确定了的,所有,只需要一次即可,没必要放到while中. 2.接收方和发送方的ADDRESS必须一致,这一点尤为重要. 3.发射的通道即频率必须一致,这个好理解.速率,数据长度,也要…
可以用软件仿真,如果软件仿真时寄存器什么的都正确,而硬件在线仿真时不对,则说明是板子硬件的问题…
1.JLINK V8 error:flash download failed - could not load file: Options for Target 'Targer 1'下的菜单下Output选项里,Name of Executable可以有数字,命令也可以一数字开头,只是名字中不能含有小数点. 2.复位或重启后不工作.白屏: (串口没有初始化)main函数里要初始化串口.…
1.卡死在这里的问题:没有中断处理函数,程序无法进入中断处理函数.DMA2_Channel3_IRQHandlerDMA2_Channel4_IRQHandlerDMA2_Channel5_IRQHandlerETH_IRQHandlerETH_WKUP_IRQHandlerCAN2_TX_IRQHandlerCAN2_RX0_IRQHandlerCAN2_RX1_IRQHandlerCAN2_SCE_IRQHandlerOTG_FS_IRQHandler B . ENDP ALIGN 2.进入…
我依然坚持,任何一次自己的心有感触都要及时的记录下来,这样你的努力才是真正的努力. 这两天一直在用STM32调试CDS5516舵机,其实很简单,但是却花了将近两天的时间,过程之曲折我就不说了,先总结一下怎么用32调试CDS5516舵机吧! 首先,要明确,CDS5516舵机是一个可编程的数字舵机,要实现对他的控制,就要通过串口线,发一系列的指令包,通过应答来判断所发指令是否正确,由于是单线通信,所以必须要在发送完指令包之后立马转换为接收模式,采用STM32的话有两种方法,可以实现,1.将串口的TX…
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!       在上三篇文章中,我们基本搭建好了开发STM32的IDE环境,当然vim.ctags.taglist.winmanager的命令和用法太多,不可能全部列出,在这里只是给大家提供一种思路和方法,具体扩展功能参考相关插件的帮助文档就可以获得,当然选择自己最最常用的几个命令,操作熟练了,就足以进行开发调试了.今天这篇文章我们使用gdb进行STM32调试. (四)gdb调试STM32程序     我…
我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32+lwip(四):网页服务器测试 stm32+lwip(五):以太网帧发送测试 ST官方有lwip的例程,下载地址如下: https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/st…
我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32+lwip(四):网页服务器测试 stm32+lwip(五):以太网帧发送测试 ST官方有lwip的例程,下载地址如下: https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/st…
CPU: STM32 调试平台: STM32F103ZET和STM32F103VBT 软件平台: Keil uVision4 电路设计: Altium Designer v6.9 http://blog.csdn.net/u013686019/article/details/19897961 二.学习型红外遥控设备的各个模块实现 2.4 红外脉宽存储及FLASH的读写 依据STM32型号的不同,FLASH容量由16K到1024K不等. FLASH模块主要由三部分组成:主存储器.信息块.闪存存储器…
前几天,做工程,遇到了利用jlink的SWD的模式调试程序,定时器延时不准的问题,上网搜了好多,终于找到了问题所在,感谢万能的网友.时间不对是因为Keil的设置问题. 以下是转自网友: 一.先说说仿真方式SWD与JTAG区别    (1) SWD 模式比 JTAG 在高速模式下面更加可靠. 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多.基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持. 所以推荐大家使用这个模式.   …
先上图:( ̄▽ ̄)" 单层板+几根飞线,之前做jlink-ob做过孔整怕了,画pcb的时候尽量朝单层画的 外壳用sw建模,并3d打印 引出了swim for stm8单总线调试接口 以及swd for stm32调试口 "开发板": 用一块ssop28转sop28焊的, 麻雀虽小,五脏俱全…
背景:在使用STM32调试MX64舵机时,由于控制该舵机需要采用RS485通信协议,因此需要从单片机的串口经过一个TTL转485通信的模块再与舵机进行通信. 485通信特点: 485通信采用差分信号:可以抑制共模干扰.尤其当工业现场环境比较复杂,干扰比较多时,采用差分方式可以有效的提高通信可靠性.RS485 采用两根通信线,通常用 A 和 B 或者 D+和 D-来表示.逻辑"1"以两线之间的电压差为+(0.2~6)V 表示,逻辑"0"以两线间的电压差为-(0.2~6…
前言 某宝上的STLINK V2下载器偶尔会坏掉,我们尝试修复一下 1.材料 (1)完好的STLINK V2下载器和坏掉的下载器各1个: (2)固件:https://gitee.com/Cai-Zi/stm32f103c8t6_dap_swo,也可以使用蓝色板制作哦 2.硬件 2.1原理图 此下载器的2x5P接口中,SWD接口为:SWDIO-PB14,SWCLK-PB13 笔者的下载器主控芯片是64Pin,无法烧录固件,猜测是芯片挂了,于是找了片STM32F103R8T6焊接了上去 2.2固件引…
在学习STM32的时候,由于烧FLASH的所造成的时间会比较慢,而在SRAM中调试的时间会比FLASH快很多,再加上FLASH的时候会经常擦除芯片,会对芯片的寿命造成一定的影响, 其实我本人觉得在学习STM32的路途中,没有必要也大可不必使用烧FLASH的路径来对芯片进行实验性的学习,但是在SRAM中调试所造成的影响就是断电的时候数据会丢失. 个人以STM32ZET6为例子,因为我的板子的芯片是ZET6的,不过设置除了地址空间不一样之外.其他都基本雷同. 首先,STM32的启动模式有三种, 在S…
STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085的问题讨论:http://www.rt-thread.org/phpBB3/topic2577.html, STM32串口只发送数据,不能接收数据的问题讨论:http://www.rt-thread.org/phpBB3/topic2577-10.html…
很多人都碰到过调试器不能连接到STM32的问题,不管是IAR的J-Link还是Keil的ULink,或者是ST的ST-Link.出现这个问题时,调试软件会提示不能建立与Cortex-M3的连接,或提示不能下载程序,或提示找不到要调试的设备等.       这样的问题都是发生在调试那些可以在CPU不干预的时候自动运行的模块.或在调试低功耗模式的程序的时候.所谓“可以在CPU不干预的时候自动运行的模块”包括:DMA.定时器.连续转换模式下的ADC.看门狗等模块. ------------------…
找到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下:       我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度. 而使用SWD接口下载调试,只需要要使用4个PIN:  GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见.       以下转自:http://www.openedv.com/posts/list/187…
STM32的基本系统主要涉及下面几个部分: 一.电源 1).无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA.VSSA.Vref(如果封装有该引脚)都必需要连接,不可悬空: 2).对于每组对应的VDD和GND都应至少放置一个104的陶瓷电容用于滤波,并接该电容应放置尽量靠近MCU: 3).用万用表测试供电电压是否正确.调试时最好用数字电源供电,以便过压或过流烧坏板子.电压最好一步一步从进线端测试到芯片供电端. 二.复位.启动选择 1).Boot引脚与JTAG无关.其仅是用于…
关于stm32 smartcard功能调试,官方提供的例程是配合8024芯片进行控制的.程序可从地址:http://www.pudn.com/downloads420/sourcecode/embedded/detail1781544.html下载. 经过摸索,终于调试出不用8024的程序设计. 首先确定电路连接,stm32的USART3_CK(PB12)连接到接触式IC卡的CLK端(触点4),stm32的USART3_TX(PB10)连接到接触式IC卡的IO端(触点3),然后stm32选一个G…
Eclipse+CDT+YAGARTO+J-Li:开源开发环境搭建与调试:作者:Chongqing:邮箱:ycq.no1@163.com:文档版本:V1.0:发布日期:2014-08-04:前言:此文档本着开源精神,基于LGPL协议发布:因网上开源的单片机.微控制器开发平台信息很少,故:因用ARM公司的KeiluVision开发环境开:因Eclipse是一个     Eclipse + CDT + YAGARTO + J-Link,STM32 开源开发环境搭建与调试 作者 :Chongqing…
调试FSMC总线复用模式时主要遇到以下几点: 1.寄存器的配置,首先注意使能地址数据复用,其次要存储器类型选择FSMC_MemoryType_NOR,否则出现不了NADV信号. FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Enable;     FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR; 2.注意个GPIO复用功能的使能…
近两年,微软越来越拥抱开源支持跨平台,win10搭载Linux子系统,开源VSCode作为跨平台编辑器,VS2017官方支持了Linux和嵌入式开发功能. ST也是,近两年开发的软件工具基本都是跨平台(基于Java)的,比如STM32CubeMX,MCUFinder,STM32CubeProgrammer等.17年年底收购了truestudio的开发公司-Atollic.这个公司的IDE就是基于Eclipse使用GNU套装的. 官方都支持了,那我们有必要了解一下.要是好用,说不定就可以淘汰老旧的…
使用Eclipse+JLINK调试STM32 安装eclipse + CDT. 安装交叉编译工具(工具链ARM CROSS GCC--GUN ARM http://gnuarmeclipse.sourceforge.net/updates ,之后安装器件库,自动下载安装较慢,可获取下载地址后使用下载工具(迅雷速度还不错)下载,放在eclipse的下载路径下手动安装)和make 工具(gcc-arm-none-eabi-6-2017-q2-update-win32.exe) STM32F4官方固件…