1. printf系列教程04_SWO列印輸出配置,基於IAR『Terminal IO』
本文由『strongerHuang』原創首發於微信公眾號『嵌入式專欄』,並同步發布在他的個人網站 EmbeddedDevelop。本文主要講解如何在基於IAR的『Terminal IO』中配置SWO列印輸出,適用於Cortex-M3/M4/M7的STM32開發。
SWD、SWO、SWV和ITM是一組用於調試的串列介面,其中SWO(串列線輸出)是單線非同步通信方式,通過Cortex-M系列的內核ITM模塊實現。要使用SWO,首先確保你的STM32 MCU有相應的引腳,如Cortex-M3/M4/M7,而M0系列如STM32F0、STM32L0和STM32G0則不支持。
在STM32CubeMX中,只需在Debug選項中配置SWO引腳。要實現在IAR EWARM的『Terminal IO』中輸出,首先在Project選項中選擇調試工具(ST-Link或J-Link),並配置相應的CPU時鍾。進入調試模式後,進入SWO配置,設置時鍾和使能ITM埠,以及PC采樣。重定義代碼時,將UART發送字元替換為ITM_SendChar函數,根據需要修改ITM埠號並確保相關刺激埠啟用。
為了幫助理解,文章提供了兩個示例源碼工程:STM32F103(HAL)_SWO和STM32F411(HAL)_SWO,鏈接在網路網盤,提取碼nbd3。請注意,鏈接可能需要關注公眾號獲取最新鏈接,源碼僅供參考,可能不適用於所有項目。
最後,本文版權屬於作者,僅供學習使用。作者在strongerhuang.com和github.com/EmbeddedDeve...分享更多信息,關注微信公眾號『strongerHuang』,隨時獲取更多嵌入式教程內容。