woshi_ziyu
发表于: 2016-4-12 21:56:09 | 显示全部楼层

现象:

在使用ULINKpro下载或调试STM3240G-EVAL评估板时,提示以下错误信息:Trace HW not present。ULINK和ULINK-ME正常工作,没有任何错误。跳线JP1和JP2设定正确。

debug.png


原因:

当使用ULINKpro调试STM3240G-EVAL评估板时,高速SWV和ETM会有一些问题。ULINK和ULINK-ME没有受影响,是因为他们将SWV数据输出到SWO引脚是以相对比较低的数据速率。该问题可能在于STM3240G-EVAL评估板的ETM信号跟踪数据长度。该信号跟踪的数据长度应该尽可能的短一些。



解决方法:

由于ULINKpro可以通过SWO端口捕捉SWV跟踪信息,也可以通过4位ETM Trace端口捕捉SWV和ETM跟踪信息,因此有两种解决方法:


使用SWO跟踪端口:

在 µVision项目中:

1. 选择Options for Target (ALT-F7),然后选择Debug选项卡。

2.  请确保您正在通过使用STM32F4xx_SWO.ini文件使能调试硬件。在此文件中必须设置DBG_SLEEP、DBG_STOP、DBG_STANDBY和TRACE_IOEN。TRACE_MODE应设置成Asynchronous。

3. 单击Setting按钮,然后单击Trace选项卡。在Trace Port中选择Serial Wire Output - Manchester选项。

4.  如果Core Clock频率是168.000000,只需要取消勾选Autodetect复选框,然后设置SWO Clock Prescaler的值为2。或者,直接设置 Core Clock频率为 84.000000。

5.  单击OK,然后再次单击OK保存更改。

ULINKpro应该可以正确连接,并且捕捉STM3240G-EVAL输出的SWO跟踪信息。


使用4位ETM跟踪端口:

必须将CPU的时钟频率降到60 MHz。这需要修改system_stm32f4xx.c文件。代码行145-155定义了常量PLL_M、PLL_N、PLL_P和PLL_Q。下面是不同时钟频率的设置:

60 MHz
120 MHz
168 MHz
PLL_M 25 25 25
PLL_N 240 240 336
PLL_P 4 2 2
PLL_Q 5 7 7

根据上表的60 MHz设置修改这些#define的值,重新编译源文件并下载到Flash。

在 µVision项目中:

1. 选择Options for Target (ALT-F7),然后选择Debug选项卡。

2.  请确保您正在通过使用STM32F4xx_TP.ini文件使能调试硬件。在此文件中必须设置DBG_SLEEP、DBG_STOP、DBG_STANDBY和TRACE_IOEN。TRACE_MODE应设置成Synchronous: TRACEDATA Size 4

3. 单击Setting按钮,然后单击Trace选项卡。在Trace Port中选择Sync Trace Port with 4-bit Data选项。

4.  设置 Core Clock频率为 60.000000。

5.  单击OK,然后再次单击OK保存更改。

ULINKpro应该可以正确连接,并且捕捉STM3240G-EVAL输出的ETM跟踪信息。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 37 | 回复: 55



手机版|

GMT+8, 2024-4-25 20:43 , Processed in 0.045617 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表