单片机学习小组
直播中

李鑫

7年用户 1334经验值
私信 关注

MDK上如何使用ULINK2设备上的SW调试实现STM32的trace功能?

MDK上如何使用ULINK2设备上的SW调试实现STM32的trace功能?

回帖(1)

郭霞

2022-2-10 11:32:50
目标调试过程的配置加粗样式


在目标调试过程中,必须选择正确的调试驱动器,同时要包含正确的初始化文件。
配置调试驱动器 如果在此之前没有选择ULINK Cortex Debugger,可以通过μVision->Debug ->Options for Target –>Debug 选择123ULINK Cortex Debugger 。
调试驱动器配置详情另见Ulink2用户手册 Debug Driver Configuration 。 选择ULINK Cortex Driver之后,为了能够调试Serial Wire还必须配置ULINK Cortex Driver。配置的必要步骤在 Cortex-M123Target Driver Configuration做了详细说明。
目标初始化文件 将路径KeilARMStartupST下的文件STM32DBG.ini拷贝到工程文件夹中。选择μVision->Debug -> 123Options for Target –>Debug。在Initialization File中选择该文件,使得Cortex-M3系统内核支持trace。


   STM32DBG.ini文件用于配置实时跟踪的选项,可以使用配置向导来修改该文件。

在STM32DBG.ini中可以配置如下一些选项:
Ø DBG_SLEEP (Debug Sleep Mode):允许在睡眠模式下调试;
Ø DBG_STOP (Debug Stop Mode):允许在停止模式下调试;
Ø DBG_STANDBY (Debug Standby Mode):允许在备用模式下调试;
Ø TRACE_IOEN (Trace Pin Assignment control):允许跟踪引脚分配;
Ø TRACE_MODE (Trace Pin Assignment Control):设置跟踪引脚分配;
Ø DBG_IWDG_STOP (Debug Independent Watchdog stopped when Core is halted):当处理器核挂起时候,
  停止独立看门狗时钟;1Ø DBG_WWDG_STOP (Debug Window Watchdog stopped when Core is halted):当处理器核挂起时候,
  停止窗口看门狗时钟;1Ø DBG_TIMx_STOP (Debug Timer stopped when Core is halted):当处理器核挂起时候,停止调试时钟;
Ø DBG_CAN_STOP (Debug CAN stopped when Core is halted):CAN接收寄存器被冻结。
这些设置全部写入到STM32F10xxx debug MCU的配置寄存器中。 更多MCU调试详情,请到 STMicroelectronics查看文件:RM0008,  Reference Manual, STM32F101xx ,STM32F103xx advanced ARM-based 32-bit MCUs.12345Cortex-M target 驱动配置
     如下图所示:首先在Debug对话框里面选中SWJ选项,这样ULINK2就可以在JTAG模式和SW模式之间转换。其次在port下拉菜单1中选择SW。为了与目标板通信,还需在Max Clock下拉菜单中选择正确的时钟频率。
注意:SW和Port仅用在ULINK Cortex Debugger中。
另见:ULINK2 用户指南 USB-Jtag/SWD Adapter
另见:ULINK2 用户指南 USB-Jtag/SWD Adapter  
注意:如果Max Clock选择错误,ULINK2就侦测不到ARM CoreSight SW-DP

下期继续。。。。。。。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分