女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

恩智浦分享Zephyr調試技巧

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

前面幾期中,我們著重給大家介紹了如何搭建Zephyr開發環境,以及如何添加自己的應用代碼。今天讓我們開始一個新的篇章:Zephyr調試技巧以及介紹Ozone進行Zephyr的調試分享。

Zephyr調試技巧

printk調試法:通過使用prink來打印一些輔助調試信息,操作簡單,適合于基礎的profiling,但是可能會導致時序問題,尤其是針對在中斷上下文的處理中。還有針對于logging系統,zephyr提供了不同的配置選項,用戶可以根據需要進行配置。

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

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

“IO” Toggle: 通過調用Zephyr的GPIO API,通過觀察引腳的翻轉情況進行調試

源碼級Debug:盡管Zephyr本身沒有調試IDE的支持,但由于Zephyr構建系統最終會生成elf格式的文件,我們就可以現有調試工具進行調試

運行虛擬環境:由于Zephyr對POSIX API的支持,使得Zephyr源碼其實可以運行在例如PC端,那么就可以讓我們直接在PC端進行應用的開發,無需下載到目標板上。

嘗試關閉優化:由于編譯器優化,往往源代碼順序會被重新排序,導致單步調試的困難,我們可以通過關閉優化來解決:

CONFIG_NO_OPTIMIZATIONS=y

不過,有時我們會發現關閉優化后,某些能夠運行的程序會突然出現hardfault。最大問題可能是由于關閉了優化選項,導致某些代碼的棧使用量增加觸發棧溢出異常。一般來說,我們可以通過增加系統棧或是中斷棧的大小來解決:

CONFIG_MAIN_STACK_SIZE=8192
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192
CONFIG_ISR_STACK_SIZE=2048

通過打印ram或是rom占用情況對代碼進行分析

west build -t ram_report
west build -t rom_report

源碼調試工具推薦:

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進行Zephyr調試

Ozone是個啥?先來個簡短的自我介紹吧:

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

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

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

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

3. 實時終端和Flash Breakpoints:Ozone可以直接使用J-Link內置的實時終端和無限Flash斷點功能。

4. 腳本化項目文件:Ozone提供腳本化的項目文件,允許用戶通過腳本自動配置和執行調試任務。

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

6. 系統變量編輯器:Ozone提供了一個系統變量編輯器,方便用戶修改和調試系統級別的變量。

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

開發環境:

Ozone適用于多種開發環境,可以在Windows、Linux、macOS等平臺上運行。

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

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

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

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

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

NXP

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

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

    關注

    14

    文章

    5945

    瀏覽量

    112885
  • Zephyr
    +關注

    關注

    0

    文章

    35

    瀏覽量

    6222

原文標題:Zephyr調試,你需要掌握這些技巧!

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    解讀Zephyr log系統的使用 Zephyr的shell和log功能介紹

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

    使用Tracealyzer調試Zephyr中的優先級反轉

    Percepio Tracealyzer已經在600多個支持Zephyr的開發板上完成了驗證,可以幫助開發人員改進Zephyr應用的調試和性能分析。
    的頭像 發表于 04-21 11:31 ?511次閱讀
    使用Tracealyzer<b class='flag-5'>調試</b><b class='flag-5'>Zephyr</b>中的優先級反轉

    《電子發燒友電子設計周報》聚焦硬科技領域核心價值 第3期:2025.03.10--2025.03.14

    2、RK3588開發板技術分享 TF卡燒寫大于4G容量鏡像 3、Zephyr調試技巧 開源項目與實戰干貨 : 1、使用OpenVINO運行DeepSeek-R1蒸餾模型 2、N
    發表于 03-14 18:00

    用于USB TypeC & Pd 的負載開關介紹

    `從以下幾方面詳細介紹目前針對USBPD提供的負載開關產品:1. 負載開關產品的規格2.
    發表于 06-03 15:21

    2018未來科技峰會

    "未來科技峰會”是規模最大的高端行業峰會,旨在通過精彩座談、技術研討、最新科技和解決方案的展示引領業界通過技術創新為世界帶來改變!
    發表于 09-10 13:37

    MIMXRT595-EVK是否可以在SRAM中運行hello_world zephyr示例?

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

    發布 LPCXpresso 6

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

    助推本土COG創新設計

    參賽方案后, 10名選手最終脫穎而出,其中包括朱正晶設計的“基于PCA8538的直流電機PID速度調試系統”、高廣設計的“基于
    發表于 12-17 11:39 ?1254次閱讀

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

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

    無線MCU產品及方案介紹

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

    OpenHarmony生態論壇:在OpenHarmony的機遇與挑戰

    OpenHarmony生態論壇:在OpenHarmony的機遇與挑戰,關于行業的探索分享
    的頭像 發表于 04-25 16:36 ?1659次閱讀
    OpenHarmony生態論壇:<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>在OpenHarmony的機遇與挑戰

    官網

    官網 大唐是一家中國汽車半導體公司,擁有深厚的股東背景和堅實的平臺。我們緊跟國家戰略,聚焦新能源汽車和儲能,開發電池管理芯片,為實現核心器件國產化盡一份綿薄之力。 關于
    發表于 03-27 14:25 ?1049次閱讀

    半導體公司

    半導體公司 半導體創立于2006年,其前身為荷蘭飛利浦公司于1953年成立的半導體事業部,總部位于荷蘭埃因霍溫。 [1-2]
    發表于 03-27 14:32 ?1374次閱讀

    智能家電創新方案一文看盡 智能家電技術日給你答案

    ? 科技賦能,將會讓我們日常的家居生活變得多智能?讓我們一起到 “智能家電技術日” 中找答案—— 在日前舉辦的“智能家電技術日”活動中,
    的頭像 發表于 03-28 11:46 ?2636次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>智能家電創新方案一文看盡  <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>智能家電技術日給你答案

    Zephyr賦能安全可靠的嵌入式開發

    日前,聯手Zephyr實時操作系統成功舉辦了Zephyr Project Meetup上海站的活動,6場主題演講以及深入的現場技術交流,吸引了數十位來自全國各地的開發者的參與。
    的頭像 發表于 04-21 10:26 ?459次閱讀