Saturday, July 30, 2016

Using the app_trace module for debug log output in nRF5x SDK

前段時間在 facebook 上看到有人討論 nRF52 的使用以及 SDK 的 debug message log 功能,因此自己寫了一份說明解釋如下:(先簡短記載,再找時間修篇幅)

如果要從UART輸出log的話,以nRF5_SDK_11的gcc的template為例,必須完成以下步驟:
1. 在Makefile確認以下參數
CFLAGS += -DENABLE_DEBUG_LOG_SUPPORT

CFLAGS += -DNRF_LOG_USES_UART=1
ASMFLAGS += -DNRF_LOG_USES_UART=1
(上面兩個通常預設是-DNRF_LOG_USES_RTT=1)

2. 在main.c中有引入app_trace.h,並且有加入app_trace_init()

3. 預設UART輸出log的設定是有流量控制的,可以修改
nRF5_SDK_11/components/libraries/util/nrf_log.c
中的log_uart_init(), 將流量設定改成APP_UART_FLOW_CONTROL_DISABLED

4. 如果發現app_trace_log()只會印出第一個字,需要修正Makefile
(1.)在C_SOURCE_FILES中,移除
../../../../../../components/libraries/uart/app_uart.c \
加入
../../../../../../components/libraries/uart/app_uart_fifo.c \
../../../../../../components/libraries/fifo/app_fifo.c \
(2.)在INC_PATH中加入
INC_PATHS += $(abspath../../../../../../components/libraries/fifo)

No comments:

Post a Comment