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

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

主站蜘蛛池模板: 泰州市| 大姚县| 彰化市| 琼中| 库车县| 广州市| 嘉祥县| 正蓝旗| 黄石市| 海城市| 庆云县| 丹巴县| 林口县| 尼勒克县| 信阳市| 政和县| 恩施市| 天门市| 沁阳市| 罗源县| 托克托县| 治多县| 襄城县| 南京市| 金坛市| 大悟县| 安多县| 玉林市| 青神县| 罗江县| 西华县| 琼结县| 辉县市| 齐齐哈尔市| 香港 | 津市市| 黔西县| 西畴县| 宁乡县| 连城县| 西畴县|