C语言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调试。对于定时器和看门狗,在发断点时,计数器停止计数。