STM32 调试过程中常见的问题及解决方法一、在“ Debug 选项卡”下设置好仿真器的类型后, 下载程序时却提示“ No ULINK Device found. ”解决办法: Keil MDK 默认使用 ULINK 仿真器下载程序,在“ Project --->Option for Target 'xxx' --->Utilities 选项卡”下把编程所使用的仿真器改为相应的类型即可。二、编译工程时提示如下信息: : Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from ). : Error: L6218E: Undefined symbol __GetBASEPRI (referred from ). : Error: L6218E: Undefined symbol __RESETFAULTMASK (referred from ). : Error: L6218E: Undefined symbol __RESETPRIMASK (referred from ). : Error: L6218E: Undefined symbol __SETFAULTMASK (referred from ). : Error: L6218E: Undefined symbol __SETPRIMASK (referred from ). 解决办法:工程缺少“ ”文件,把 和 STM3210x. s 全部添加到工程即可。三、调试器不能连接到 STM32 的问题与解决办法很多人都碰到过调试器不能连接到 STM32 的问题,不管是 IAR 的 J-Link 还是 Keil 的 ULink , 或者是 ST 的 ST-Link 。出现这个问题时, 调试软件会提示不能建立与 Cortex-M3 的连接,或提示不能下载程序,或提示找不到要调试的设备等。这样的问题都是发生在调试那些可以在 CPU 不干预的时候自动运行的模块、或在调试低功耗模式的程序的时候。所谓“可以在 CPU 不干预的时候自动运行的模块”包括: DMA 、定时器、连续转换模式下的 ADC 、看门狗等模块。-------------------------------------------------------------------------------- 这个问题的根源是: 1. 调试器需要在 RAM 内执行一段程序,对 Flash 进行擦写操作, 如果不停止这些自动运行的模块, 它们会干扰程序在 RAM 中的执行, 致使下载失败。比如 DMA 模块被配置为不停地拷贝一段数据区, 而调试器刚好需要使用 DMA 数据传输的目标区域, 这时 DMA 的操作将会与调试器的操作发生冲突。再比如, 如果启动了看门狗而没有执行硬件复位, 则在下次调试器需要下载程序时,看门狗超时将触发芯片
stm32调试问题解决办法 来自淘豆网m.daumloan.com转载请标明出处.