青青av-亚洲激情一区二区-欧洲色综合-看片网址国产福利av中文字幕-成人精品毛片-亚洲黄色免费观看-国产夫妻在线观看-69av电影-久久性片-中文字幕av影片-色综合久久久久无码专区

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

一、文檔背景

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


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

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


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

1、準備軟硬件環(huán)境

1)、軟件:KEIL MDK Pro

2)、仿真器:Ulink Pro

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

4)、電腦環(huán)境:Windows 11


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


圖3-2


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

圖3-3


4、配置SWO trace功能。

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


2)、在Options窗口中的Debug-Initialization Flies處,點擊...,選擇上一步創(chuàng)建的配置文件(如圖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、在對應(yīng)的代碼處添加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窗口最大的輸出字節(jié)是否有限制?



六、結(jié)論

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

主站蜘蛛池模板: 岑巩县| 深泽县| 固安县| 南宁市| 曲松县| 大埔区| 大理市| 和平县| 天等县| 博客| 大渡口区| 德阳市| 建平县| 白山市| 宁都县| 汝州市| 舟曲县| 临沧市| 北票市| 汨罗市| 彭阳县| 六安市| 朝阳区| 成都市| 乌兰浩特市| 独山县| 将乐县| 临颍县| 黔西| 太仓市| 阿拉善右旗| 濮阳市| 北京市| 曲麻莱县| 桓台县| 贞丰县| 玉龙| 称多县| 台州市| 泰安市| 鹤峰县|