那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MCU程序的調試手段

硬件攻城獅 ? 來源:最后一個bug ? 作者:最后一個bug ? 2022-10-19 14:30 ? 次閱讀

調試參數嵌入式開發中再常見不過了,比如濾波系數、PID參數,以及一些簡單的模式參數切換、寫入和讀取等等。

初做項目或者一些簡單粗暴的朋友們,程序里面一些參數直接硬編碼寫死,而想進行適當修改的時候就只能通過源代碼重新編譯,再次燒錄。

一次性修改能夠達到滿意的效果那就不需要調試了,不然反復燒錄個10幾次應該是常事;同樣如果MCU程序不太大可能花不了太多的時間,否則這樣的調參方式效率實在太低了。

總結下來,在進行MCU程序的調試手段主要有兩種 :

仿真器調試 和 終端調試

在項目的初期,仿真器調試作為主要的調試手段;而中后期主要是終端調試,下面聊聊這兩個重要的調試內容 :

fdb6789c-4f75-11ed-a3b6-dac502259ad0.png

1

仿真器調試

仿真器調試是進行MCU開發前期必備的調試方法,常用的工具有Jlink,XDS100V3等等,這些開發工具都會匹配相應的IDE集成開發環境進行使用,不僅僅能夠控制程序的運行過程(單步調試、斷點等)還能夠查看RAM寄存器和Flash中的各種數據,幫助開發工程師們快速的定位問題,排除bug。

比如,仿真器普遍采用的JTAG接口,其遵循的是JTAG協議,既然是通信協議那就不要太恐懼,了解通信協議和通信過程即可。

JTAG早期是用來測試芯片的,現在這項功能也是具備的,比如接上仿真工具就可以知道當前芯片是否可以燒錄,指示燈也會變換顏色等;還可以通過JTAG接口訪問芯片內部寄存器、掛在CPU總線上的相關設備等,最終獲得這些數據展現在IDE環境中以便開發者定位芯片的問題。

fdd9e002-4f75-11ed-a3b6-dac502259ad0.png

圖來源于 JTAG-Tutorial文檔,僅供學習參考

仿真會影響CPU運行嗎?

JTAG通過一種叫邊界掃描的技術,仿真過程中其內部均有獨立的寄存器等機構進行交互,正常運行過程中是不會影響到CPU的正常工作的,也就是說其仿真部分對于CPU是透明的。

2

終端調試

“終端”說白了就是一種人機交互接口,可以看成信息的輸入與輸出,一些朋友會說:我只用仿真器調試,不想用終端;仿真器調試又何嘗不是一種終端的表現形式呢?只是說終端的相應功能已經嵌入到了你的集成開發環境IDE中,RAM數據和程序運行指針的修改都是用戶數據的輸入,而RAM數據的顯示等等都是數據的輸出。

但是,對于我們平時調試的需求,并不需要像仿真器調試這么強大,主要是一些關鍵數據的顯示和一些命令的發送,一般的MCU項目都會有預留一定的通信接口,所以直接定義一套統一的調試通信協議并開發一些調試上位機那將會對MCU的調試效率大大提高,而且也方便以后移植到其他項目中使用。

當然,如果項目中原本就帶有觸摸屏或者按鍵+屏,也可以直接在這套終端上開發一些調試界面和功能,這樣就不需要太依賴筆記本電腦什么的,至于調試功能是否靈活就看技術功底了。

很多朋友對開發上位機有點恐懼,人原本就對陌生的事物充滿著恐懼!進行調試上位機開發其實只要具備一些基礎的應用程序開發知識就能夠在較快的時間里面掌握,當然如果你想把界面、特效、功能等等做得更加的秀,那就得有比較專業的知識和經驗了!

好吧,你不想沾一點點應用程序的邊,或者暫時沒有太多的精力研究這一塊,那我推薦你用研究一下終端,比如前面跟大家推薦的一款全能終端:

fdec0b88-4f75-11ed-a3b6-dac502259ad0.png

fdfe5a22-4f75-11ed-a3b6-dac502259ad0.png

很多朋友把這種類型的終端與串口調試助手混為一談,這是不對的,終端功能一般比串口調試助手強點,像Linux這樣命令行系統,幾乎一切的操作均可以在終端上完成。

比如,在終端中讓輸出的信息帶有顏色,從而可把打印的日志信息進行分級輸出,以便信息的篩選;還能夠使用轉義字符來實現動態顯示、排版等功能,比如類似于命令行“Top”的實現效果。

最后,給大家推薦一個強大的嵌入式shell -- letter shell 3.0

letter shell 3.0是一個C語言編寫的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式設備,以C語言函數為運行單位,可以通過命令行調用,運行程序中的函數。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17324

    瀏覽量

    352655
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121192
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137726

原文標題:調試MCU上位機不會寫?可以玩下終端!

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    解鎖SoC “調試”挑戰,開啟高效原型驗證之路

    引言由于芯片設計復雜度的提升、集成規模的擴大,以及產品上市時間要求的縮短,使得設計驗證變得更加困難。特別是在多FPGA環境中,設計調試和驗證的復雜性進一步增加,傳統的調試手段難以滿足對高性能、高效率
    的頭像 發表于 10-09 08:04 ?815次閱讀
    解鎖SoC “<b class='flag-5'>調試</b>”挑戰,開啟高效原型驗證之路

    AFE77 JESD204B 調試手

    電子發燒友網站提供《AFE77 JESD204B 調試手冊.pdf》資料免費下載
    發表于 09-11 10:25 ?0次下載
    AFE77 JESD204B <b class='flag-5'>調試手</b>冊

    C2000 MCU JTAG 連接調試

    電子發燒友網站提供《C2000 MCU JTAG 連接調試.pdf》資料免費下載
    發表于 09-09 09:30 ?0次下載
    C2000 <b class='flag-5'>MCU</b> JTAG 連接<b class='flag-5'>調試</b>

    TI AFE8092 AFE8030 JESD204配置及調試手冊- Part A

    電子發燒友網站提供《TI AFE8092 AFE8030 JESD204配置及調試手冊- Part A.pdf》資料免費下載
    發表于 09-03 10:02 ?3次下載
    TI AFE8092 AFE8030 JESD204配置及<b class='flag-5'>調試手</b>冊- Part A

    TI AFE8092 AFE8030 JESD204C配置及調試手冊 Part B

    電子發燒友網站提供《TI AFE8092 AFE8030 JESD204C配置及調試手冊 Part B.pdf》資料免費下載
    發表于 08-29 10:50 ?0次下載
    TI AFE8092 AFE8030 JESD204C配置及<b class='flag-5'>調試手</b>冊 Part B

    TI AFE8092/AFE8030 JESD204C配置及調試手冊 Part C

    電子發燒友網站提供《TI AFE8092/AFE8030 JESD204C配置及調試手冊 Part C.pdf》資料免費下載
    發表于 08-29 10:39 ?0次下載
    TI AFE8092/AFE8030 JESD204C配置及<b class='flag-5'>調試手</b>冊 Part C

    STC串口驅動調試程序

    STC的串口驅動調試程序
    發表于 07-08 14:23 ?3次下載

    求助,關于TRAVEO? II MCU安全調試的幾個問題求解

    我對TRAVEO? II MCU 的安全調試有幾個問題。 1.TRAVEO TRAVEO? II 有兩種方式保護DAP,一種是永久禁用,一種是身份驗證訪問,對于身份驗證訪問,它像密碼一樣嗎? 不喜歡
    發表于 05-30 07:34

    AG32 下使用 Segger RTT

    SEGGER RTT: RTT 是一種調試手段。 它可以從 MCU 快速輸出調試信息和數據,且不影響 MCU 的實時性。 在代碼中對 printf 輸出進行重定向后,就可以通過仿真器(
    發表于 05-29 09:44

    芯海 32 位 MCU 開發調試 ,基于 VS Code 插件實現芯海 32 位 MCU 開發調試

    編譯/鏈接等腳本語法,只需要簡單配置參數、新建工程、增加代碼文件后,就可以開始編譯 和調試了。如果要生成靜態庫文件也只需要修改輸出格式,再編譯就可能生成.a 的文件。*附件:基于VSCode插件實現芯海32位MCU開發調試.pd
    發表于 05-16 10:46

    物通博聯PLC云調試網關實現施耐德PLC遠程調試和上下載程序

    全球各地,傳統的PLC的更新調試需要工程師在現場進行操作,面臨成本高、效率低的問題。施耐德PLC作為一種廣泛應用的控制器,其遠程調試和上下載程序的需求也日益增長。 為了解決這個問題,物通博聯推出了一款功能強大的PLC云
    的頭像 發表于 03-05 15:46 ?940次閱讀
    物通博聯PLC云<b class='flag-5'>調試</b>網關實現施耐德PLC遠程<b class='flag-5'>調試</b>和上下載<b class='flag-5'>程序</b>

    MCU不復位調試的小技巧

    場景,也并非無路可循。原則上只要我們通過仿真器調試時,做到代碼不被重新下載覆蓋,MCU 不被復位,就可能保留當前程序運行的狀態,讓 Bug 無處藏身。 02 實現方法 首先,我們將編譯完成的工程燒錄到
    發表于 02-26 11:30 ?1388次閱讀
    <b class='flag-5'>MCU</b>不復位<b class='flag-5'>調試</b>的小技巧

    調試模式下如何調試看門狗?

    大家在調試GD32 MCU系統的時候,若開了看門狗外設,是否會碰到進入調試模式看門狗就會咬狗造成無法調試的問題?
    的頭像 發表于 02-23 09:30 ?1323次閱讀
    <b class='flag-5'>調試</b>模式下如何<b class='flag-5'>調試</b>看門狗?

    調試器連接MCU不穩定怎么辦?#GD32 #MCU #單片機

    單片機mcu
    聚沃科技
    發布于 :2024年02月22日 11:02:09

    調試器連接MCU不穩定怎么辦?

    有沒有小伙伴遇到使用GDlink或者Jlink調試GD32 MCU的時候出現不穩定的情況,剛要發現問題時調試器和MCU斷開連接了,這個時候可能抓狂的心都有了。今天就教給大家幾個提高
    的頭像 發表于 02-21 09:44 ?1016次閱讀
    <b class='flag-5'>調試</b>器連接<b class='flag-5'>MCU</b>不穩定怎么辦?
    全球最大赌博网站| 百家乐最佳下注方法| 太阳城百家乐官网公司| 3U百家乐官网游戏| 大发888优惠代码 官网| 江西老虎机遥控器| 大发888娱乐城 健账号| 大发888线上娱乐城二十一点| 百家乐过滤软件| 威尼斯人娱乐城开户地址| 百家乐官网娱乐网真人娱乐网| 百家乐官网网上真钱娱乐场开户注册 | 首席百家乐官网的玩法技巧和规则 | 玩百家乐官网怎么能赢呢| 百家乐官网贴士介绍| 百家乐视频计牌器| 网上玩百家乐会出签吗| 全讯网百导| 金博士娱乐城优惠| 平远县| 送彩金百家乐官网平台| 跨国际百家乐官网的玩法技巧和规则| 做生意看风水| 新加坡百家乐的玩法技巧和规则 | 百家乐官网鞋业| 迪威百家乐现场| 百家乐游戏客户端| 大发888娱乐场下载dafaylcdown| 星空棋牌舟山| 百家乐官网如何稳赢| 百家乐官网强对弱的对打法| 百家乐视频台球下载| 百家乐赌台| 博狗备用网址| 百家乐官网平台注册送现金| 百家乐官网娱乐城| 免费百家乐过滤| 网上真钱麻将游戏| 百家乐官网高科技出千工具| 百家乐投注翻倍方法| 全讯网官网|