Keil MDK3.20 在ULINK下调试stm32方法

    1. 程序在RAM中运行    要点:(1)程序的下载地址改到RAM空间中    (2)程序的debug之前要设定SP,PC指针到Ram空间    新建工程,选择STM32 的具体型号,我买的万利的开发板,选择stm32f103Vb。         设定程序下载地址,如下图所示,IROM1的地址指向了STM32的ram空间。    空间大小如何分配取决于自己的需求。本款处理器内部ram大小为20K,分配16K给只读区,4K给可读可写区。...
关键词: Keil MDK3 20 ULINK 调试stm32

http://www.eeworld.com.cn/mcu/article_2018021337793.html 发布时间: 2018-02-13



stm32在调试过程中常见问题及解决办法

的状态只在硬件复位时是有意义的,而调试器不做硬件复位,所以这样的设置不会影响调试器下载程序到Flash中,也不会影响在Flash中调试程序。四、调试STM32程序时,某些标志位被调试软件意外清除的问题在调试的过程中,使用调试软件的寄存器或存储器显示窗口,可以很方便地查看外设寄存器的状态。很多朋友都碰到过这样的问题:在单步调试时始终不能在显示窗口看到某些标志位的变化,应该设置这些标志位的时候,窗口中却...
关键词: STM32 调试过程

http://www.eeworld.com.cn/mcu/article_2017102535326.html 发布时间: 2017-10-25



调试STM32时遇到hardfault 的一些感悟

在调试STM32的时候很容易遇到hardfault,遇到hardfault的原因很多。其中在调试的这一段时间里,产生此问题的根源大多是硬件的问题。由于焊接水平的限制,短接几个引脚或者虚焊几个引脚是很正常的。我们只要不用短接或者虚焊的引脚就能绕过hardfault的问题。比如在我调试测试工装的时候,本来使用4测点,测试四路的高低电平。结果发现,四路全开会引起hardfault ,折腾了好几天以为是软件的问题。其实是硬件的问题,选择一个自己用的引脚,并且只定义和初始化这个引脚,此类问题就不会再产生了。注意:最好不要初始化自己不用的引脚。...
关键词: STM32 hardfault

http://www.eeworld.com.cn/mcu/article_2017100234912.html 发布时间: 2017-10-02



调试STM32遇到Hardfault知识总结

在NVIC中有一个硬fault状态寄存器(HFSR),它指出产生硬fault的原因。如果不是由于取向量造成的,则硬fault服务例程必须检查其它的fault状态寄存器,以最终决定是谁上访的。1、寄存器描述首先查看硬故障寄存器,判别原因。硬故障状态寄存器硬fault状态寄存器(地址:0xE000_ED2C)位段   名称            描述31     DEBUGEVT        硬fault因调试事件而产生30     FORCED ...
关键词: STM32 Hardfault

http://www.eeworld.com.cn/mcu/article_2017100234909.html 发布时间: 2017-10-02



调试STM32 time遇到的问题小结

程序中增加新的time,在初始化中不能进行写入寄存器。原因是没有进行相关的初始化,有个寄存器没有进行使能操作。 程序如下:void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base){  //GPIO_InitTypeDef GPIO_InitStruct;      if(htim_base->Instance==TIM7)    {        __TIM7_CLK...
关键词: 调试STM32 time

http://www.eeworld.com.cn/mcu/article_2017100234907.html 发布时间: 2017-10-02



Keil环境,在调试STM32中犯过的错

1、貌似的变量冲突 程序中有一个全局变量赋值gUI = 0x0A;可是发现gUI并没有获得这个值,而是另一个位于RAM区首地址0x2000 0000的全局变量获得了这个值,感觉奇怪,堆栈溢出? 后来检查发现,在程序的前一个子函数中有语句:char ID[8];sprintf(ID, "%02X%02X%02X%02X", Card_Id[0], Card_Id[1], Card_Id[2], Card_Id[3] ); OLED_8x16StrP(0,2,(u8 *)ID);    //液晶显示ID号上面代码中ID[8]缺少...
关键词: Keil环境 调试STM32

http://www.eeworld.com.cn/mcu/article_2017093034873.html 发布时间: 2017-09-30



STM32 USART的使用

SECTION 1调试STM32串口过程中发现一个奇怪的问题,初始化串口1口,使能串口发送完成中断后,立刻就进入了发送完成中断。仔细的查阅了STM32手册中的串口部分的介绍:          以下是字符发送的配置过程,注意第6点,在设置USART_CR1中的TE位时,会发送一个空闲帧作为第一次数据发送,所以即便你执行了USART_ClearFlag(USART1, USART_FLAG_TC); (这个函数肯定在空闲帧数据发送完成前执行),所以当空闲帧发送完后,就进入发送完成中断。       ...
关键词: STM32 USART

http://www.eeworld.com.cn/mcu/article_2017090834288.html 发布时间: 2017-09-08



调试STM32F4 VCP遇到的问题

        板子已经做好了,功能就是:利用传感器和GPS精确定位。该板子用到了调试STM32F4 VCP,也就是USB转串口。在移植ST官方程序出现的问题,以及解决方法,罗列如下:1.因为用的下载接口是5针的SWD,下载器是st-link v2 ST-LINK/V2。首先要搞清楚SWD接口与st-link v2的接法。这里关键注意的是SWD的VCC引脚接到st-link v2的第一脚上面。如果不这样接,会出现internal command error错误。这个错误的出现,有时候是...
关键词: 调试 STM32F4 VCP

http://www.eeworld.com.cn/mcu/article_2017022433913.html 发布时间: 2017-02-24



调试STM32F107的CAN模块

花了两天的时间,调试了开发板的CAN模块,先是调试CAN1、CAN2,最后让CAN1和CAN2通信。期间遇到了很多问题,还有很多问题没解决。1、使用扩展模式,但是TxMessage.StdId接收到始终是00,其他的TxMessage.IDE TxMessage.DLC都是对的,包括数据。不知道为什么,网上查了一下,有位仁兄和我遇到的问题一样,如果有人看到此贴,还望不吝赐教。所以我最后都是只用标准格式。2、CAN2的CAN_FilterNumber必须设置为14,CAN_FilterFIFOAssignment=CAN_FIFO0;也不知为什么,呵呵,还要好好看书啊。3、对于中断,代码如下:v...
关键词: STM32F107 CAN模块

http://www.eeworld.com.cn/mcu/article_2017011933448.html 发布时间: 2017-01-19



keil+stm32+jlink利用swd方式进行printf输出

使用ITM机制实现调试stm32单片机,实现printf与scanf。1. ITM简介ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以很方便的调试程序...

http://www.eeworld.com.cn/mcu/article_2016121632396.html 发布时间: 2016-12-16



在内存中调试STM32 - IAR平台

  STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用于启动选择。 BOOT1=x  BOOT0=0  从用户闪存启动,这是正常的工作模式。 BOOT1=0  BOOT0=1  从系统存储器启动,这种模式启动的程序功能由厂家设置。(用于串口ISP) BOOT1=1  BOOT0=1  从内置SRAM启动,这种模式可以用于调试。   在芯片上电复位时,BOOT0和BOOT1两个管脚的状态将决定芯片从何处启动。 1.当BOOT0和BOOT1...

http://www.eeworld.com.cn/mcu/article_2016120431911.html 发布时间: 2016-12-04



STM32的CAN总线调试

这一周调试STM32的CAN,从网上搜集了一些资料,感谢原作的无私奉献。 重点说明几个问题: 1、CAN的过滤器 对于过滤器,看中文手册上写的不是太清楚,STM32共有14组过滤器,用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和CAN_FxR1。对于过滤器组,可以将其配置成屏蔽位模式,这样CAN_FxR0中保存的就是标识符匹配值,CAN_FxR1中保存的是屏蔽码,即CAN_FxR1中如果某一位为1,则CAN_FxR0中相应的位必须与收到的帧的标志符中的相应位吻合才能通过过滤器;CAN_FxR1中为0的位表示CAN_FxR0中的相应位可不必与收到的帧...
关键词: STM32 CAN 总线调试

http://www.eeworld.com.cn/mcu/article_2016101830538.html 发布时间: 2016-10-18



STM32调试过程中常见的问题及解决方法?

时是有意义的,而调试器不做硬件复位,所以这样的设置不会影响调试器下载程序到Flash中,也不会影响在Flash中调试程序。 四、调试STM32程序时,某些标志位被调试软件意外清除的问题     在调试的过程中,使用调试软件的寄存器或存储器显示窗口,可以很方便地查看外设寄存器的状态。     很多朋友都碰到过这样的问题:在单步调试时...

http://www.eeworld.com.cn/mcu/article_2016101330413.html 发布时间: 2016-10-13



调试ARM遇到:No Cortex-M Device found问题的解决方法

今天上午一直在调试stm32F407的PWM输出,昨晚已经调通通用定时器TIM2,现打算调试据称高级的TIM1。查手册知道TIM1的Ch1与复用,Ch2与GPIOA_Pin7复用,于是复用代码如下:  |  GPIO_Pin_8 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;                     &n...

http://www.eeworld.com.cn/mcu/article_2016080528237.html 发布时间: 2016-08-05



stm32程序下载成功但是不运行

调试stm32程序,发现如下问题:        STM32编写程序,当程序中没有sd卡部分时,程序正常下载,正常运行。当程序中运行sd卡加文件系统时程序能正常下载但是不能正常的运行。发现问题就要解决问题呀,好了大家一起来和我解决问题吧!​ 根据自己问题,上网查找解决办法,最终将问题锁定在堆栈设置问题上。(堆栈设置的空间不够大) 解决办法:在​stm32的程序目录下查找STM32F10x.s(或者是startup_stm32f10x_hd,这取决于你是用的寄存器还是函数库) 在打开文件,在文件的开头很醒目的位置,发现了关于堆栈的设置。​​ ...
关键词: stm32 程序下载

http://www.eeworld.com.cn/mcu/article_2016072727892.html 发布时间: 2016-07-27



STM32之SPI_CR1寄存器的SSM, SSI位理解

近日调试STM32的SPI程序,现在记录下自己的一点小理解。   STM32之SPI_CR1寄存器的SSM, SSI位理解      SSM位,启用或禁止软件从设备选择。SSM置位时,NSS输入引脚的电平将被SSI的值代替。      SSI位,在SSM=1时有意义,决定NSS引脚上的电平,NSS引脚上的IO值将忽略。        NSS输入分为硬件输入和软件控制输入两种模式。NSS有内部和外部引脚。当NSS是软件控制输入模式时,NSS的内部引脚和外部...
关键词: STM32 寄存器 SSM SSI

http://www.eeworld.com.cn/mcu/article_2016070727423.html 发布时间: 2016-07-07



ulink下在ram中调试stm32的方法

1.在项目文件夹 新建 RAM.ini  ----------------------------------------------------------------  FUNC void Setup (void) {    SP = _RDWORD(0x20000000);          // 堆栈指针   &nbs...
关键词: ulink ram 调试stm32

http://www.eeworld.com.cn/mcu/article_2016063027329.html 发布时间: 2016-06-30



STM32常见错误

; 四、调试STM32程序时,某些标志位被调试软件意外清除的问题      在调试的过程中,使用调试软件的寄存器或存储器显示窗口,可以很方便地查看外设寄存器的状态。      很多朋友都碰到过这样的问题:在单步调试时始终不能在显示窗口看到某些标志位的变化,应该设置这些标志位的时候,窗口中却显示为0,不少人都错误地认为这是...
关键词: STM32 常见错误

http://www.eeworld.com.cn/mcu/article_2016062327238.html 发布时间: 2016-06-23



ARM学习《十》—关于STM32的RTC调试

这两天一直在调试STM32的RTC部分,本来打算弄一个万年历的,但是现在看来是暂时实现不了了。为什么这样说,因为RTC对晶振的要求非常高,必须是6p负载电容的32768晶振,这种晶振很难买,而且还很贵。下面是摘自一位网友的话: 今天到电子市场找了一下,几乎都是12.5p负载电容的32768晶振,只有一家有少量,负载电容是6p,20ppm的晶振要价是12.5p晶振的5倍,而且从外观上也看不出来,也没有测试方法能测出负载电容是6p还是12.5p。卖晶振的老板在这行干了10几年,一说到6p的32768晶振就笑了。这个要求以前就有多个公司中过招,特别是DALLAS的片子,让一家公司吃尽了苦头,焊...
关键词: ARM学习 STM32 RTC调试

http://www.eeworld.com.cn/mcu/article_2016042926048.html 发布时间: 2016-04-29



STM32 printf函数详解

就是对printf函数在调试STM32配置成串口printf函数的这个过程,希望对大家有所帮助! ...
关键词: STM32 printf函数

http://www.eeworld.com.cn/mcu/article_2016041525733.html 发布时间: 2016-04-15




<上一页 123 下一页> 相关结果约46个