1. 程式人生 > >STM32F429+Trace+J-Link配置

STM32F429+Trace+J-Link配置

文章完全參考Trace跟蹤軟甲提供的user Manual, 遇到問題詳細閱讀參考手冊肯定能解決

Trace提供了兩種跟蹤除錯的方式:1、快照模式 ; 2、流模式

首先下載Trace跟蹤偵錯程式,因為是收費軟體,但是可以下載適用版本

這裡假設已經移植好了FreeRTOS,移植過程可以看之前的文章

接下來:

1、移植TraceRecorder

        複製安裝的Trace下的資料夾到自己的工程,地址為:

  1.1 新增.c .h 檔案

 將TraceRecoder下的c檔案新增到工程,並且新增以下標頭檔案路徑:

1.2 新增streaming 埠檔案

    Trace支援以下幾種方式來傳輸實時資料:

我們這裡使用JLink_RTT模式

因此還需添Jlink_RTT資料夾下的.c檔案以及標頭檔案路徑(include資料夾內)

最終的檔案結構如下:

2、修改巨集定義

修改trcConfig.h:

根據你的晶片型號新增  #include "stm32f4xx.h",並去掉#error

 #include "stm32f4xx.h"
//#error "Trace Recorder: Please include your processor's header file here and remove this line."

選擇晶片核心:

#define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_ARM_Cortex_M//default  TRC_HARDWARE_PORT_NOT_SET

選擇流模式:(預設為快照模式)

#define TRC_CFG_RECORDER_MODE TRC_RECORDER_MODE_STREAMING//TRC_RECORDER_MODE_SNAPSHOT

選擇FreeRTOS版本:

#define TRC_CFG_FREERTOS_VERSION TRC_FREERTOS_VERSION_10_0_0

FreeRTOSConfig.h:

#define configUSE_TRACE_FACILITY	1   //預設0 
#define configUSE_STATS_FORMATTING_FUNCTIONS 1  //新增

末尾新增:

/**新增以下程式碼,trace**/
/* Integrates the Tracealyzer recorder with FreeRTOS */
#if ( configUSE_TRACE_FACILITY == 1 )
#include "trcRecorder.h"
#endif

最後在main檔案中新增:

vTraceEnable();新增在硬體初始化之後,任務開始之前

int main(void)
{
	BSP_init();//Hardware init
	vTraceEnable(TRC_START_AWAIT_HOST);// wait for host cmd 
	APPTaskCreate();
	vTaskStartScheduler();
	while(1);
}vTraceEnable(TRC_START_AWAIT_HOST);// wait for host cmd 
	APPTaskCreate();
	vTaskStartScheduler();
	while(1);
}

3、配置J-Link

首先在keil中配置:

再在tracealyzer中配置:

最後在live stream中啟動連線,即可啟動trace



上傳了配置好的工程檔案,可以用來測試(比較):trace_FreeRTOS