五月色综合_娇妻卧室含辱迎接领导h_美女ppp_亚洲欧美aaa_天天在线综合_91午夜激情_裸体裸乳免费看_国产精品无码99re_日韩午夜视频在线观看_色爽 av_欧美大奶子视频_美女被爆操_国内久久_日本免费福利视频_苏语棠在线电视剧在线高清在线观看

【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信息。

主站蜘蛛池模板: 布拖县| 卢龙县| 昆山市| 砀山县| 科尔| 内乡县| 车险| 日照市| 沙河市| 龙口市| 阿图什市| 万源市| 珲春市| 邻水| 博客| 镇江市| 小金县| 香港| 永清县| 都昌县| 天等县| 阿拉尔市| 林州市| 新龙县| 米林县| 乌鲁木齐市| 德化县| 张家界市| 岳普湖县| 富裕县| 桦南县| 姜堰市| 清水河县| 逊克县| 云和县| 闽侯县| 分宜县| 宿州市| 康平县| 广平县| 保德县|