在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

恩智浦分享Zephyr調(diào)試技巧

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 2025-03-13 09:05 ? 次閱讀

前面幾期中,我們著重給大家介紹了如何搭建Zephyr開發(fā)環(huán)境,以及如何添加自己的應(yīng)用代碼。今天讓我們開始一個(gè)新的篇章:Zephyr調(diào)試技巧以及介紹Ozone進(jìn)行Zephyr的調(diào)試分享。

Zephyr調(diào)試技巧

printk調(diào)試法:通過使用prink來打印一些輔助調(diào)試信息,操作簡(jiǎn)單,適合于基礎(chǔ)的profiling,但是可能會(huì)導(dǎo)致時(shí)序問題,尤其是針對(duì)在中斷上下文的處理中。還有針對(duì)于logging系統(tǒng),zephyr提供了不同的配置選項(xiàng),用戶可以根據(jù)需要進(jìn)行配置。

https://docs.zephyrproject.org/la?test/services/logging/index.html

e89810c2-ffa6-11ef-9310-92fbcf53809c.png

“IO” Toggle: 通過調(diào)用Zephyr的GPIO API,通過觀察引腳的翻轉(zhuǎn)情況進(jìn)行調(diào)試

源碼級(jí)Debug:盡管Zephyr本身沒有調(diào)試IDE的支持,但由于Zephyr構(gòu)建系統(tǒng)最終會(huì)生成elf格式的文件,我們就可以現(xiàn)有調(diào)試工具進(jìn)行調(diào)試

運(yùn)行虛擬環(huán)境:由于Zephyr對(duì)POSIX API的支持,使得Zephyr源碼其實(shí)可以運(yùn)行在例如PC端,那么就可以讓我們直接在PC端進(jìn)行應(yīng)用的開發(fā),無需下載到目標(biāo)板上。

嘗試關(guān)閉優(yōu)化:由于編譯器優(yōu)化,往往源代碼順序會(huì)被重新排序,導(dǎo)致單步調(diào)試的困難,我們可以通過關(guān)閉優(yōu)化來解決:

CONFIG_NO_OPTIMIZATIONS=y

不過,有時(shí)我們會(huì)發(fā)現(xiàn)關(guān)閉優(yōu)化后,某些能夠運(yùn)行的程序會(huì)突然出現(xiàn)hardfault。最大問題可能是由于關(guān)閉了優(yōu)化選項(xiàng),導(dǎo)致某些代碼的棧使用量增加觸發(fā)棧溢出異常。一般來說,我們可以通過增加系統(tǒng)棧或是中斷棧的大小來解決:

CONFIG_MAIN_STACK_SIZE=8192
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192
CONFIG_ISR_STACK_SIZE=2048

通過打印ram或是rom占用情況對(duì)代碼進(jìn)行分析

west build -t ram_report
west build -t rom_report

源碼調(diào)試工具推薦:

a)原生支持:

e8aec8da-ffa6-11ef-9310-92fbcf53809c.png

b) MCUXPresso VS Code插件:

https://github.com/nxp-mcuxpresso/vscode-for-mcux/wiki/Debug

e8c8eef4-ffa6-11ef-9310-92fbcf53809c.png

c) Cortex-Debug插件:

https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug

e8f242d6-ffa6-11ef-9310-92fbcf53809c.png

d) 其他,例如Segger Ozone等

使用Ozone進(jìn)行Zephyr調(diào)試

Ozone是個(gè)啥?先來個(gè)簡(jiǎn)短的自我介紹吧:

Ozone是一款由SEGGER公司開發(fā)的專業(yè)嵌入式應(yīng)用程序調(diào)試和性能分析工具,Ozone是一個(gè)獨(dú)立的圖形調(diào)試器,支持多種單片機(jī)架構(gòu),包括Arm Cortex-M、Renesas RX、NXP LPC等。Ozone可以與任何為其輸出生成Elf/Dwarf調(diào)試信息的工具鏈一起使用,例如GCC、Clang、ARM、IAR等編譯器。

Ozone提供了豐富的調(diào)試功能,如程序下載、單步執(zhí)行、變量更新窗口、匯編指令調(diào)試、芯片寄存器查看、斷點(diǎn)設(shè)置等。

1. 源碼級(jí)調(diào)試:Ozone支持C/C++源碼級(jí)的調(diào)試和匯編指令的調(diào)試,用戶可以在調(diào)試過程中直接查看和編輯源代碼。

2. 多文件格式支持:Ozone支持ELF或兼容文件(*.elf, .out, .axf)、Motorola S-record文件(.srec, .mot)、Intel hex文件(.hex)以及二進(jìn)制數(shù)據(jù)文件(.bin)。

3. 實(shí)時(shí)終端和Flash Breakpoints:Ozone可以直接使用J-Link內(nèi)置的實(shí)時(shí)終端和無限Flash斷點(diǎn)功能。

4. 腳本化項(xiàng)目文件:Ozone提供腳本化的項(xiàng)目文件,允許用戶通過腳本自動(dòng)配置和執(zhí)行調(diào)試任務(wù)。

5. 自定義界面:Ozone的用戶界面完全可定制,用戶可以根據(jù)需要調(diào)整布局和功能。

6. 系統(tǒng)變量編輯器:Ozone提供了一個(gè)系統(tǒng)變量編輯器,方便用戶修改和調(diào)試系統(tǒng)級(jí)別的變量。

7. 高級(jí)內(nèi)存窗口:Ozone的內(nèi)存窗口支持保存、加載和填充操作,用戶可以方便地查看和修改內(nèi)存內(nèi)容。

開發(fā)環(huán)境:

Ozone適用于多種開發(fā)環(huán)境,可以在Windows、Linux、macOS等平臺(tái)上運(yùn)行。

集成工具:Ozone通常與J-Link調(diào)試器配合使用,但也可以與其他支持SWD和JTAG調(diào)試的硬件調(diào)試器一起使用。

總的來說,Ozone是一款功能強(qiáng)大且靈活的嵌入式應(yīng)用程序調(diào)試和性能分析工具,適用于各種復(fù)雜的調(diào)試場(chǎng)景。盡管在某些方面存在一些不足,但其豐富的功能和高度的可定制性使其成為嵌入式開發(fā)者的重要工具之一。

接下來讓我們看看怎么新建一個(gè)Ozone調(diào)試工程,并添加我們的Zephyr.elf,詳見下面小視頻

為了能夠更好的支持Zephyr OS的調(diào)試,我們還需要在工程配置文件中添加Zephyr調(diào)試插件,打開.jdebug尾綴的Ozone工程文件,添加如下內(nèi)容到OnProjectLoad函數(shù)中:Project.SetOSPlugin("ZephyrPlugin");

至此,我們就完成了Ozone的全部配置工作,相信大家有了Ozone之后,都能得心應(yīng)手!

NXP

恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護(hù)航。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5956

    瀏覽量

    114092
  • Zephyr
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    6253

原文標(biāo)題:Zephyr調(diào)試,你需要掌握這些技巧!

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    解讀Zephyr log系統(tǒng)的使用 Zephyr的shell和log功能介紹

    之前 我們從 0 開始新建了一個(gè)簡(jiǎn)單的 Zephyr 應(yīng)用- 從0開始打造屬于自己的HelloWorld ,本期就 帶著大家熟悉一下 Zephyr 的 shell 和 log 系統(tǒng)。 首先給大家介紹
    的頭像 發(fā)表于 02-27 09:19 ?1065次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>解讀<b class='flag-5'>Zephyr</b> log系統(tǒng)的使用 <b class='flag-5'>Zephyr</b>的shell和log功能介紹

    使用Tracealyzer調(diào)試Zephyr中的優(yōu)先級(jí)反轉(zhuǎn)

    Percepio Tracealyzer已經(jīng)在600多個(gè)支持Zephyr的開發(fā)板上完成了驗(yàn)證,可以幫助開發(fā)人員改進(jìn)Zephyr應(yīng)用的調(diào)試和性能分析。
    的頭像 發(fā)表于 04-21 11:31 ?567次閱讀
    使用Tracealyzer<b class='flag-5'>調(diào)試</b><b class='flag-5'>Zephyr</b>中的優(yōu)先級(jí)反轉(zhuǎn)

    《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第3期:2025.03.10--2025.03.14

    2、RK3588開發(fā)板技術(shù)分享 TF卡燒寫大于4G容量鏡像 3、Zephyr調(diào)試技巧 開源項(xiàng)目與實(shí)戰(zhàn)干貨 : 1、使用OpenVINO運(yùn)行DeepSeek-R1蒸餾模型 2、N
    發(fā)表于 03-14 18:00

    用于USB TypeC & Pd 的負(fù)載開關(guān)介紹

    `從以下幾方面詳細(xì)介紹目前針對(duì)USBPD提供的負(fù)載開關(guān)產(chǎn)品:1. 負(fù)載開關(guān)產(chǎn)品的規(guī)格2.
    發(fā)表于 06-03 15:21

    2018未來科技峰會(huì)

    "未來科技峰會(huì)”是規(guī)模最大的高端行業(yè)峰會(huì),旨在通過精彩座談、技術(shù)研討、最新科技和解決方案的展示引領(lǐng)業(yè)界通過技術(shù)創(chuàng)新為世界帶來改變!
    發(fā)表于 09-10 13:37

    MIMXRT595-EVK是否可以在SRAM中運(yùn)行hello_world zephyr示例?

    專家,我知道 MIMXRT1xxx 能夠在 ITCM 中運(yùn)行 hello_world 但是 MIMXRT595 中沒有 ITCM 只有 SRAM。MIMXRT595-EVK是否可以在SRAM中運(yùn)行hello_world zeph
    發(fā)表于 03-30 06:38

    發(fā)布 LPCXpresso 6

    10月9日訊——半導(dǎo)體 (NXP Semiconductors N.V.) (納斯達(dá)克代碼:NXPI)近日宣布推出LPCXpresso 6,它基于 Eclipse,是頗受歡迎的
    發(fā)表于 10-09 10:51 ?1112次閱讀

    助推本土COG創(chuàng)新設(shè)計(jì)

    參賽方案后, 10名選手最終脫穎而出,其中包括朱正晶設(shè)計(jì)的“基于PCA8538的直流電機(jī)PID速度調(diào)試系統(tǒng)”、高廣設(shè)計(jì)的“基于
    發(fā)表于 12-17 11:39 ?1264次閱讀

    高通以470億美元總額收購_有何實(shí)力?

    近日消息,激進(jìn)投資商艾略特管理公司(Elliott Management Corp)披露占有芯片制造商半導(dǎo)體公司(NXP Semiconductors NV)6%的股份,暗示將以更高價(jià)格將
    的頭像 發(fā)表于 06-16 11:42 ?3318次閱讀

    無線MCU產(chǎn)品及方案介紹

    無線MCU產(chǎn)品及方案介紹
    發(fā)表于 10-16 15:42 ?9次下載
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>無線MCU產(chǎn)品及方案介紹

    OpenHarmony生態(tài)論壇:在OpenHarmony的機(jī)遇與挑戰(zhàn)

    OpenHarmony生態(tài)論壇:在OpenHarmony的機(jī)遇與挑戰(zhàn),關(guān)于行業(yè)的探索分享
    的頭像 發(fā)表于 04-25 16:36 ?1680次閱讀
    OpenHarmony生態(tài)論壇:<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>在OpenHarmony的機(jī)遇與挑戰(zhàn)

    官網(wǎng)

    官網(wǎng) 大唐是一家中國(guó)汽車半導(dǎo)體公司,擁有深厚的股東背景和堅(jiān)實(shí)的平臺(tái)。我們緊跟國(guó)家戰(zhàn)略,聚焦新能源汽車和儲(chǔ)能,開發(fā)電池管理芯片,為實(shí)現(xiàn)核心器件國(guó)產(chǎn)化盡一份綿薄之力。 關(guān)于
    發(fā)表于 03-27 14:25 ?1093次閱讀

    半導(dǎo)體公司

    半導(dǎo)體公司 半導(dǎo)體創(chuàng)立于2006年,其前身為荷蘭飛利浦公司于1953年成立的半導(dǎo)體事業(yè)部,總部位于荷蘭埃因霍溫。 [1-2]
    發(fā)表于 03-27 14:32 ?1408次閱讀

    智能家電創(chuàng)新方案一文看盡 智能家電技術(shù)日給你答案

    ? 科技賦能,將會(huì)讓我們?nèi)粘5募揖由钭兊枚嘀悄埽孔屛覀円黄鸬?“智能家電技術(shù)日” 中找答案—— 在日前舉辦的“智能家電技術(shù)日”活動(dòng)中,
    的頭像 發(fā)表于 03-28 11:46 ?3450次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>智能家電創(chuàng)新方案一文看盡  <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>智能家電技術(shù)日給你答案

    Zephyr賦能安全可靠的嵌入式開發(fā)

    日前,聯(lián)手Zephyr實(shí)時(shí)操作系統(tǒng)成功舉辦了Zephyr Project Meetup上海站的活動(dòng),6場(chǎng)主題演講以及深入的現(xiàn)場(chǎng)技術(shù)交流,吸引了數(shù)十位來自全國(guó)各地的開發(fā)者的參與。
    的頭像 發(fā)表于 04-21 10:26 ?557次閱讀
    主站蜘蛛池模板: 五月香婷婷 | 性色在线视频 | 亚洲国产成人在线 | 香蕉狠狠再啪线视频 | 国产精品久久久久久久9999 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 色站在线 | 91一区二区三区四区五区 | 一级片免费观看视频 | 热99久久| 中文字幕一区二区三区四区五区 | 国产精品视频永久免费播放 | 亚洲午夜精品久久久久 | 美女被免费网站视频九色 | 一道精品视频一区二区三区男同 | 天天射夜夜骑 | 狠狠色依依成人婷婷九月 | 国产激情在线观看 | 91学院派女神 | 免费日韩三级 | 国产精品视频一区二区三区 | 亚洲综合免费 | 黄色成人免费观看 | 色偷偷狠狠色综合网 | 色噜噜狠狠色综合久 | www.色噜噜| 天天插天天干天天射 | 69日本xxⅹxxxxx19| 一起射综合网 | 色先锋av资源中文字幕 | 五月天久久婷婷 | 麻豆三级在线播放 | 在线观看jyzzjyzz | 草草操| 亚洲日本欧美日韩高观看 | 99久久99这里只有免费费精品 | 又色又污又爽又黄的网站 | 成人黄色一级片 | 天天做夜夜爽 | 五月天丁香婷 | 欧美私人网站 |