STM32F429+Trace+J-Link配置
阿新 • • 發佈:2019-01-04
文章完全參考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