調(diào)試參數(shù)在嵌入式開發(fā)中再常見不過了,比如濾波系數(shù)、PID參數(shù)以及一些簡(jiǎn)單的模式參數(shù)切換、寫入和讀取等等。
初做項(xiàng)目或者一些簡(jiǎn)單粗暴的朋友們,程序里面一些參數(shù)直接硬編碼寫死,而想進(jìn)行適當(dāng)修改的時(shí)候就只能通過源代碼重新編譯,再次燒錄。
一次性修改能夠達(dá)到滿意的效果那就不需要調(diào)試了,不然反復(fù)燒錄個(gè)10幾次應(yīng)該是常事;同樣如果MCU程序不太大可能花不了太多的時(shí)間,否則這樣的調(diào)參方式效率實(shí)在太低了。
總結(jié)下來在進(jìn)行MCU程序的調(diào)試手段有兩種 :
仿真器調(diào)試 和 終端調(diào)試
在項(xiàng)目的初期,仿真器調(diào)試作為主要的調(diào)試手段;而中后期主要是終端調(diào)試,下面聊聊這兩個(gè)重要的調(diào)試內(nèi)容 :
1仿真器調(diào)試
仿真器調(diào)試是進(jìn)行MCU開發(fā)前期必備的調(diào)試方法,常用的工具有Jlink,XDS100V3等等,這些開發(fā)工具都會(huì)匹配相應(yīng)的IDE集成開發(fā)環(huán)境進(jìn)行使用,不僅僅能夠控制程序的運(yùn)行過程(單步調(diào)試、斷點(diǎn)等)還能夠查看RAM、寄存器和Flash中的各種數(shù)據(jù),幫助開發(fā)工程師們快速的定位問題,排除bug。
比如仿真器普遍采用的JTAG接口,其遵循的是JTAG協(xié)議,既然是通信協(xié)議那就不要太恐懼,了解通信協(xié)議和通信過程即可。
JTAG早期是用來測(cè)試芯片的,現(xiàn)在這項(xiàng)功能也是具備的,比如接上仿真工具就可以知道當(dāng)前芯片是否可以燒錄,指示燈也會(huì)變換顏色等;還可以通過JTAG接口訪問芯片內(nèi)部寄存器、掛在CPU總線上的相關(guān)設(shè)備等,最終獲得這些數(shù)據(jù)展現(xiàn)在IDE環(huán)境中以便開發(fā)者定位芯片的問題。
圖來源于 JTAG-Tutorial文檔,僅供學(xué)習(xí)參考
仿真會(huì)影響CPU運(yùn)行嗎?
JTAG通過一種叫邊界掃描的技術(shù),仿真過程中其內(nèi)部均有獨(dú)立的寄存器等機(jī)構(gòu)進(jìn)行交互,正常運(yùn)行過程中是不會(huì)影響到CPU的正常工作的,也就是說其仿真部分對(duì)于CPU是透明的。
2終端調(diào)試
“ 終端 ”說白了就是一種人機(jī)交互接口,可以看成信息的輸入與輸出,一些朋友會(huì)說:我只用仿真器調(diào)試,不想用終端;仿真器調(diào)試又何嘗不是一種終端的表現(xiàn)形式呢?只是說終端的相應(yīng)功能已經(jīng)嵌入到了你的集成開發(fā)環(huán)境IDE中,RAM數(shù)據(jù)和程序運(yùn)行指針的修改都是用戶數(shù)據(jù)的輸入,而RAM數(shù)據(jù)的顯示等等都是數(shù)據(jù)的輸出。
但是對(duì)于我們平時(shí)調(diào)試的需求,并不需要像仿真器調(diào)試這么強(qiáng)大,主要是一些關(guān)鍵數(shù)據(jù)的顯示和一些命令的發(fā)送,一般的MCU項(xiàng)目都會(huì)有預(yù)留一定的通信接口,所以直接定義一套統(tǒng)一的調(diào)試通信協(xié)議并開發(fā)一些調(diào)試上位機(jī)那將會(huì)對(duì)MCU的調(diào)試效率大大提高,而且也方便以后移植到其他項(xiàng)目中使用。
當(dāng)然如果項(xiàng)目中原本就帶有觸摸屏或者按鍵+屏,也可以直接在這套終端上開發(fā)一些調(diào)試界面和功能,這樣就不需要太依賴筆記本電腦什么的,至于調(diào)試功能是否靈活就看技術(shù)功底了。
很多朋友對(duì)開發(fā)上位機(jī)有點(diǎn)恐懼,人原本就對(duì)陌生的事物充滿著恐懼!進(jìn)行調(diào)試上位機(jī)開發(fā)其實(shí)只要具備一些基礎(chǔ)的應(yīng)用程序開發(fā)知識(shí)就能夠在較快的時(shí)間里面掌握,當(dāng)然如果你想把界面、特效、功能等等做得更加的秀,那就得有比較專業(yè)的知識(shí)和經(jīng)驗(yàn)了!
好吧,你不想沾一點(diǎn)點(diǎn)應(yīng)用程序的邊,或者暫時(shí)沒有太多的精力研究這一塊,那我推薦你用研究一下終端,比如前面跟大家推薦的一款全能終端 :
很多朋友把這種類型的終端與串口調(diào)試助手混為一談,這是不對(duì)的,終端功能一般比串口調(diào)試助手強(qiáng)點(diǎn),像Linux這樣命令行系統(tǒng),幾乎一切的操作均可以在終端上完成。
比如在終端中讓輸出的信息帶有顏色,從而可把打印的日志信息進(jìn)行分級(jí)輸出,以便信息的篩選;還能夠使用轉(zhuǎn)義字符來實(shí)現(xiàn)動(dòng)態(tài)顯示、排版等功能,比如類似于命令行“Top”的實(shí)現(xiàn)效果。
編輯:jq
-
mcu
+關(guān)注
關(guān)注
146文章
17984瀏覽量
367201 -
JTAG
+關(guān)注
關(guān)注
6文章
404瀏覽量
73340 -
PID
+關(guān)注
關(guān)注
37文章
1482瀏覽量
88098 -
程序
+關(guān)注
關(guān)注
117文章
3826瀏覽量
83010
原文標(biāo)題:MCU:上位機(jī)不會(huì)寫,可以玩終端
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
通用型上位機(jī),支持串口、UDP、TCP,可以在表格中自由編輯公式和數(shù)據(jù),可以組態(tài)

微功耗電池供電遙測(cè)終端機(jī)RTU產(chǎn)品選型與應(yīng)用解析 #遙測(cè)終端機(jī) #遙測(cè)終端機(jī)rtu #遙測(cè)終端機(jī)廠家
工程師崩潰瞬間:上位機(jī)與PLC通信失敗?3分鐘快速診斷攻略

上位機(jī)和下位機(jī)是什么關(guān)系

#遙測(cè)終端機(jī)RTU#遙測(cè)終端機(jī)DTU的區(qū)別,#水利遙測(cè)終端機(jī),26年研發(fā)生產(chǎn)廠家

想提高氣密性測(cè)試效率?精誠(chéng)工科幫您實(shí)現(xiàn)!上位機(jī)毫秒級(jí)數(shù)據(jù)采集 #氣密性檢測(cè)儀 #上位機(jī) #氣密性測(cè)試設(shè)備

告別繁瑣記錄!氣密性檢測(cè)數(shù)據(jù)一鍵追溯!上位機(jī)曲線監(jiān)控太絕了! #氣密性檢測(cè)儀 #氣密性測(cè)試設(shè)備 #上位機(jī)軟件
上位機(jī)實(shí)時(shí)數(shù)據(jù)處理技術(shù) 上位機(jī)在智能制造中的應(yīng)用
上位機(jī)編程語言選擇 上位機(jī)在自動(dòng)化中的作用
上位機(jī)監(jiān)控系統(tǒng)配置 上位機(jī)與PLC的連接方法
上位機(jī)通信協(xié)議詳解 嵌入式上位機(jī)設(shè)計(jì)流程
上位機(jī)系統(tǒng)架構(gòu)分析 上位機(jī)與下位機(jī)的區(qū)別

平升電子地?zé)嶂悄苓b測(cè)終端機(jī)rtu#地?zé)嶂悄苓b測(cè)終端機(jī)rtu #地?zé)嶂悄鼙O(jiān)測(cè)終端 #遙測(cè)終端機(jī) #遙測(cè)終端
陀螺儀LSM6DSOW開發(fā)(2)----上報(bào)匿名上位機(jī)實(shí)現(xiàn)可視化

MD10x系列電調(diào)的上位機(jī)功能

評(píng)論