我們在MCU的開發調試過程中,有時希望將一些信息輸出以便觀察。通常我們可以將標準C庫中Printf相關實現函數進行重定向,通過UART串口輸出,或者利用ITM機制通過SWO輸出。這里將簡單演示IAR環境下基于SemiHost機制實現printf功能。
下面使用的開發板STM32F4DISCOVERY板,硬件調試器為STLINK。稍作配置后即可使用。注意在代碼里將stdio.h包含進去。


演示代碼:

在調試狀態下,點擊view菜單下面的Terminal I/O子菜單即可出現輸出窗口。

配置過程很簡單,實現起來也挺方便的,需要的時候我們可以加以靈活選用。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
uart
+關注
關注
22文章
1314瀏覽量
106649 -
調試器
+關注
關注
1文章
328瀏覽量
25095 -
stlink
+關注
關注
0文章
20瀏覽量
9403
原文標題:基于半主機機制實現prinf示例
文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
瑞薩RL78/F22 MCU基于IAR開發環境創建觸摸應用樣例工程
驅動程序 –使用QE for Capacitive Touch開發觸摸應用 –添加應用代碼實現LED閃爍 1 概述 本文包含以下主要內容: 瑞薩RL78/F22 Target Board簡介 基于IAR
C語言的printf基本用法介紹
中使用頻率最高的一個函數一點也不為過,每個C語言程序員都應該掌握 printf 的用法,這是最基本的技能。
不過 printf 的用法比較靈活,也比較復雜,初學者知識儲備不足,不能一下子掌握,目前
發表于 11-12 07:04
如何利用Trace機制實現LLCP預覽功能
在藍牙協議棧開發過程中,有時需要預先知道 LLCP。本文將介紹如何利用 Trace 機制實現 LLCP 預覽功能。
教程來啦!LuatOS中的消息通信機制詳解及其應用場景
在資源受限的嵌入式環境中,LuatOS采用消息機制實現模塊間解耦與高效通信。通過預定義消息名稱(如“new_msg”),開發者可輕松構建響應式程序結構。接下來我們將深入剖析其實現原理與
如何在 IAR Embedded Workbench for ARM 開發環境中啟用可配置數據閃存并設置大小?
如何在 IAR Embedded Workbench for ARM 開發環境中啟用可配置數據閃存并設置大小?
發表于 08-26 07:49
在 Keil / IAR 開發環境下的 Debug 模式下,用戶是否可以在空閑 ru 期間立即添加新的斷點?
在 Keil / IAR 開發環境下的 Debug 模式下,用戶是否可以在空閑 ru 期間立即添加新的斷點
發表于 08-21 07:56
請問如何在 IAR Embedded Workbench for ARM 開發環境中啟用可配置數據閃存并設置大小?
如何在 IAR Embedded Workbench for ARM 開發環境中啟用可配置數據閃存并設置大小?
發表于 08-20 06:23
如何在多顯卡環境下配置OLLAMA實現GPU負載均衡
本文將帶你深入了解如何在多顯卡環境下配置OLLAMA,實現GPU負載均衡,并分享生產環境中的最佳實踐。無論你是剛接觸GPU集群還是尋求性能優化的老手,這篇文章都能給你帶來實用價值。
從Keil MDK到IAR EWARM:通過工程遷移實現項目資產的更好管理
對于需要統一開發環境或涉及多核架構(如Cortex-A/R)的項目,越來越多的用戶選擇從Keil MDK遷移到IAR EWARM。這就會面臨著需要將之前的Keil MDK工程遷移到IAR EWARM的問題。本文將介紹如何高效完成
k32l2b31寫入LPUART1->STAT |= (1<<25)會導致semihost_hardfault是為什么?
我想在 k32l2b31 上激活 LIN Break 檢測
必須在狀態寄存器中設置位 LKDE
i try LPUART1->STAT |= (1<<25)
但在調試時顯示為 “semihost_hardfault”
誰知道為什么呢?
發表于 04-08 06:36
智慧路燈的環境監測功能如何實現?
引言 在智慧城市建設不斷推進的當下,環境監測的重要性日益凸顯。叁仟智慧路燈憑借自身廣泛分布的特點,承擔起了環境監測的重任,成為城市環境監測網絡中的關鍵節點。其環境監測
IAR環境下基于SemiHost機制實現printf功能
評論