一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何實現(xiàn)Ozone項目可移植?

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2022-12-16 11:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SEGGER Ozone是用于J-link和J-Trace的多平臺調(diào)試、分析工具??杉虞dIAR,Keil,Gcc,Clang/LLVM等工具鏈生成的Elf/Dwarf可執(zhí)行文件,進(jìn)行C/C++源代碼調(diào)試和匯編指令調(diào)試。

Ozone調(diào)試器加載elf文件時,會自動查找elf文件中引用的源文件。但大多數(shù)編譯器會把源文件的路徑設(shè)置成絕對路徑,如果把項目移動到其他文件夾或是另一臺計算機(jī)再打開,調(diào)試時將無法找到源文件。本文將解析如何實現(xiàn)Ozone項目(.jdebug)可移植。

1解決方式

在Ozone中,使用項目向?qū)陆椖繒r(Ozone調(diào)試器使用攻略),如果導(dǎo)入的elf文件和對應(yīng)的源文件位于同一文件夾中,Ozone就會自動將該項目設(shè)置為可移植的。

如果不滿足這個條件,elf文件位置將被默認(rèn)設(shè)置為絕對路徑,項目位置移動后,將無法立即使用Ozone對(.jdebug)項目進(jìn)行調(diào)試,提示無法找到elf文件??梢酝ㄟ^編輯(.jdebug)文件中的Project.AddPathSubstitute()和File.Open()語句來解決這個問題。

(1). 在File.Open()中設(shè)置了elf文件的路徑,該函數(shù)支持相對路徑。修改這條語句為項目的相對路徑,以保證項目的可移植性。

(2). 在Project.AddPathSubstitute()中全部或部分替換elf文件中引用源文件的絕對路徑。你可以在View->Source Files下驗證路徑替換是否有效。如果沒有找到源文件,它旁邊會有一個警告小圖標(biāo)。

1驗證

Ozone自動生成的項目可移植性可能無法滿足實際需求。SEGGER官網(wǎng)示例工程下載鏈接

解壓后,使用Ozone調(diào)試器打開Ozone文件夾中的項目文件Ozone_Project.jdebug, 提示無法找到 elf 文件。

1c7e6fbc-7cf0-11ed-8abf-dac502259ad0.jpg

要解決此問題,先關(guān)閉Ozone并使用文本編輯器打開Ozone_Project.jdebug文件,查找“File.Open”,你會看到這里有一條絕對路徑,它是創(chuàng)建項目原始主機(jī)的elf文件位置。

1ca9edae-7cf0-11ed-8abf-dac502259ad0.png

將這條絕對路徑修改為相對路徑File.Open(“../Output/Debug/Exe/ Ozone_Portable_Project_Example.elf”); 保存文件并使用Ozone打開。

1cc04a7c-7cf0-11ed-8abf-dac502259ad0.jpg

Ozone提示找不到main.c文件,這是因為語句“Project.AddPathSubstitute”有問題。

1ce53a3a-7cf0-11ed-8abf-dac502259ad0.png

修改為Project.AddPathSubstitute ("C:/ Users /Nino /Documents /SEGGER Embedded Studio for ARM Projects/Ozone_Portable_Project_Example","$(ProjectDir)/.."); 保存項目文件并再次使用Ozone打開。

1cc04a7c-7cf0-11ed-8abf-dac502259ad0.jpg

可以看到在Ozone中正確顯示源文件。

通過修改*.jdebug的方式,可以非常容易的實現(xiàn)項目可移植。

審核編輯:湯梓紅

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

    關(guān)注

    1

    文章

    401

    瀏覽量

    28704
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2119

    瀏覽量

    75360
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2953

    瀏覽量

    68416
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1662

    瀏覽量

    50247

原文標(biāo)題:如何實現(xiàn)Ozone項目可移植?

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    如何使用Ozone分析Cortex-M異常

    Ozone可以幫助用戶快速分析和查找導(dǎo)致CPU故障的軟件bug。本文解釋如何使用Ozone的調(diào)試功能,深入了解Cortex-M架構(gòu)上的這些錯誤。
    的頭像 發(fā)表于 11-29 11:14 ?1711次閱讀
    如何使用<b class='flag-5'>Ozone</b>分析Cortex-M異常

    什么是C語言的移植?

    的命名規(guī)范、系統(tǒng)調(diào)用等自身原因,在API層面上實現(xiàn)移植也是不大可能的。那怎么才能實現(xiàn)移植呢?
    發(fā)表于 03-22 13:07

    靈動微課堂 (第161講) | MM32F013x——巧用Ozone調(diào)試MM32 MCU

    跟蹤)- 可編寫腳本的項目文件自動設(shè)置所有內(nèi)容- 新項目向?qū)Э珊喕?b class='flag-5'>項目的基本配置Ozone已支持的編譯器:Embedded Studio
    發(fā)表于 03-26 09:27

    【實用資料】FreeModBus移植源碼+學(xué)習(xí)筆記,快速實現(xiàn)你的項目功能~~

    本帖最后由 張飛電子學(xué)院蔡琰 于 2021-4-2 13:18 編輯 如果你的項目剛好需要ModBus,建議直接移植標(biāo)準(zhǔn)協(xié)議源碼,代碼健壯,快速實現(xiàn)你的
    發(fā)表于 04-02 11:01

    SEGGER Ozone調(diào)試器使用攻略!

    源碼調(diào)試和匯編指令調(diào)試。通過J-Link實現(xiàn)高速下載和無限Flash斷點功能(需J-Link型號支持)。本文將介紹如何使用Ozone調(diào)試器。安裝軟件并創(chuàng)建調(diào)試工程(1)首先需要去Segger官網(wǎng)下載并
    發(fā)表于 08-11 17:10

    Ozone的調(diào)試步驟

    Performance Analyzer、Event Viewer 等。而我手頭只有Jlink 和 ULINK 非 pro 版的…??在最近的項目中,隨著代碼量的不斷增加,Keil 的編譯速度瓶頸越來越明顯
    發(fā)表于 11-04 08:19

    如何使用Ozone分析Cortex-M故障?

    命令可用于在調(diào)試啟動時修改 Ozone 的默認(rèn)向量捕獲初始化行為。該命令在項目腳本函數(shù)OnProjectLoad中使用。三、調(diào)試窗口現(xiàn)在我們使用Ozone的調(diào)試窗口來進(jìn)一步了解故障。Call
    發(fā)表于 09-23 11:26

    如何實現(xiàn)Ozone項目移植

    找到源文件。本文將解析如何實現(xiàn)Ozone項目(.jdebug)移植。1、解決方式在Ozone
    發(fā)表于 01-05 13:56

    如何使用ozone調(diào)試雙核應(yīng)用?

    在第二個core的ozone中, 點擊開始調(diào)試, 就不正常了
    發(fā)表于 05-26 08:11

    什么是移植?C語言是如何做到移植的?

    什么是移植?如何才能移植?C語言是如何做到移植的?對于初學(xué)者,
    的頭像 發(fā)表于 03-29 14:41 ?7440次閱讀

    MM32F013x——巧用Ozone調(diào)試MM32

    本文將向大家詳細(xì)地介紹如何使用Ozone調(diào)試MM32 MCU,以及Ozone能給大家?guī)砟男┍憷裕w驗這款工具的強(qiáng)大之處。
    發(fā)表于 02-08 16:23 ?0次下載
    MM32F013x——巧用<b class='flag-5'>Ozone</b>調(diào)試MM32

    基于openharmony適配移植搜索微調(diào)器

    項目介紹 項目名稱:SearchableSpinner 所屬系列:openharmony的第三方組件適配移植 功能:實現(xiàn)搜索微調(diào)器
    發(fā)表于 03-28 10:15 ?1次下載

    基于openharmony適配移植實現(xiàn)的氣泡視圖教程

    項目介紹 項目名稱:MessageBubbleView 所屬系列:openharmony的第三方組件適配移植 功能:實現(xiàn)MessageBubbleView仿QQ未讀消息氣泡,
    發(fā)表于 04-08 09:14 ?1次下載

    如何使用Ozone的調(diào)試功能

    Ozone是用于J-link和J-Trace的多平臺調(diào)試,分析工具。獨立的圖形化界面,可加載IAR,Keil,Gcc,Clang/LLVM等工具鏈生成的Elf/Dwarf可執(zhí)行文件,進(jìn)行C/C++
    的頭像 發(fā)表于 09-06 11:26 ?6530次閱讀

    SEGGER的Ozone現(xiàn)支持用于M1/M2(ARM內(nèi)核)上的macOS

    SEGGER的市場經(jīng)理Dirk Akemann說:“基于客戶的大量要求和Apple 處理器產(chǎn)品的流行,我們決定推出一款新的Ozone?!薄疤O果架構(gòu)系統(tǒng)對我們的J-Link調(diào)試仿真器和開發(fā)工具Embedded Studio及SystemView的需求一直很高,所以我們決定將其支持?jǐn)U展到
    的頭像 發(fā)表于 04-07 11:10 ?1197次閱讀