日韩中文在线观看-欧美性综合-伊人视频在线观看-亚洲免费在线视频观看-国产偷人视频-人妻丰满熟妇岳av无码区hd-国产一级淫片a视频免费观看-国产精品交换-国产精品1区2区3区4区-美女日批视频在线观看-欧美日韩一区二区三区自拍

【ARM】Debug(printf)Viewer的配置和使用

一、文檔背景

在項目開發過程中,通常會使用物理串口的方式,打印log信息進行變量或者信息的查看。但是,也存在遇到某些情況下物理串口不夠或者板卡上沒有USB轉串口模塊,無法通過串口調試器打印log信息。


二、 解決的問題或者進行問題分析

在keil MDK中有一個特殊的串行窗口Debug (printf) Viewer,可以與微控制器交換數據。對于Cortex-M微控制器,該窗口顯示從Instrumentation Trace Macrocell (ITM)接收的打印數據。相當于在keil mdk中通過虛擬的串口在keil mdk中直接打印log數據。


三、 如何配置使用Debug (printf) Viewer功能

1、準備軟硬件環境

1)、軟件:KEIL MDK Pro

2)、仿真器:Ulink Pro

3)、開發板:ATSAMV7x開發板(帶SWD+ETM口)

4)、電腦環境:Windows 11


2、打開Manage Run窗口,找到Compiler->I/O組件。(如圖3-2)


圖3-2


3、勾選STDERR、STDIN、STDOUT三個組件,并將每個組件的Variant設置為ITM(如圖3-3),然后點擊OK。

圖3-3


4、配置SWO trace功能。

1)、創建配置文件SAMx7_TP.ini,并寫入對于SWO trace端口的配置內容,例如:ATSAMV7x芯片的trace端口的配置文件內容如下。(關于配置文件中內容,請查看Keil MDK Trace ETM功能文檔)


2)、在Options窗口中的Debug-Initialization Flies處,點擊...,選擇上一步創建的配置文件(如圖3-4-2)

圖3-4-2


3)、連接好仿真器和板子后,進入Debug->settings窗口中(如圖3-4-3)。

圖3-4-3


4)、在打開的窗口中Debug欄將Port類型選擇為SW。(如圖3-4-4)

圖3-4-4


5)、切換到Trace欄中,勾選Trace Enable(如圖3-4-5中第1處),Trace Port類型選擇"Serial Wire Output - Manchester"(如圖3-4-5中第2處),將ITM Stimulus Ports的Enable的值修改為0x00000001和Privilege的值修改為0x00000000(如圖3-4-5中第3處)。

圖3-4-5


5、至此Debug (printf) Viewer功能就配置完成了。


四、使用Debug (printf) Viewer

1、在對應的代碼處添加printf語句(如圖4-1)。

圖4-1


2、進入debug模式下,在view菜單欄中,找到Serial Windows->Debug(printf)Viewer窗口(如圖4-2)。

圖4-2


3、運行程序,就可以在Debug(printf)Viewer窗口看到printf語句輸入的信息了(如圖4-3)。

圖4-3

五、討論分析

1. Debug(printf)Viewer窗口最大的輸出速率是多少?

2. Debug(printf)Viewer窗口最大的輸出字節是否有限制?



六、結論

在物理串口不夠或者板卡上沒有USB轉串口模塊,無法通過串口調試器打印log信息的情況下,可以使用Debug(printf)Viewer窗口在Debug模式下通過printf語句輸入log信息。

主站蜘蛛池模板: 大理市| 香港| 松江区| 开原市| 巴彦县| 花垣县| 民勤县| 麟游县| 通榆县| 博白县| 南部县| 施秉县| 东乌珠穆沁旗| 龙州县| 喀喇| 襄城县| 江安县| 麻江县| 灌阳县| 南宫市| 锦州市| 太谷县| 合山市| 洪洞县| 云林县| 工布江达县| 延川县| 阜城县| 准格尔旗| 桦甸市| 永昌县| 宜兰市| 东兰县| 鲁甸县| 汶川县| 浪卡子县| 读书| 嘉兴市| 德州市| 汝州市| 武城县|