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

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

3天內不再提示

鴻蒙智聯設備調試調優面臨的挑戰

HarmonyOS開發者 ? 來源:HarmonyOS開發者 ? 作者:HarmonyOS開發者 ? 2021-12-17 14:42 ? 次閱讀

作者:zhaowenguang,dinglu, 華為高級工程師

Huawei LiteOS是輕量級的開源物聯網操作系統、智能硬件使能平臺,可廣泛應用于智能家居、穿戴式、車聯網、制造業等領域,使物聯網終端開發更簡單、互聯更加容易、業務更加智能、體驗更加順暢、數據更加安全。

它具有入門簡單、開發便捷,輕量級、低功耗、廣聯接,生態體系完善等優點。提供了若干高效硬件維測能力,通過集成到DevEco Device Tool中,形成了可供開發者使用的調試調優工具,助力開發者在鴻蒙智聯設備調試調優過程中更加精準的分析、定位問題。

接下來,我們將重點介紹DevEco Device Tool中集成的一系列調試調優工具。

一、鴻蒙智聯設備調試調優面臨的挑戰

開發者在鴻蒙智聯設備調試調優過程中面臨如下挑戰:

系統鏡像文件太大,分析和優化難度較大。

運行態內存緊缺,系統各任務棧大小無法設置。

性能瓶頸無法定位,不能針對性的進行優化。

僅僅靠添加打印和人工分析日志來定位問題效率低下。

內存問題最難定位,缺少檢測工具。

如何應對這些挑戰,讓開發者能高效且準確的完成鴻蒙智聯設備調試調優?

二、高效調試調優五大法寶

針對以上挑戰,HUAWEI DevEco Device Tool版本中提供了鴻蒙智聯設備調試調優五大法寶:鏡像分析工具、棧估算分析工具、性能分析工具、可視化Trace工具、輕量級內存檢測工具,下面我們將逐一介紹。注:鏡像分析工具和棧估算分析工具已集成于HUAWEI DevEco Device Tool 3.0 Beta1版本中,目前只支持GCC編譯的鏡像,Clang暫不支持。性能分析工具、可視化Trace工具及輕量級內存檢測工具將盡快上線,具體上線時間待官方通知。

1. 鏡像分析工具

鏡像分析工具,主要解決“資源受限情況下鏡像的分析及優化”。通過對編譯生成的map文件進行內存占用分析,獲取鏡像中各模塊對ROM、RAM的占用大小。

該工具支持查看內存區域總覽、內存詳細信息、文件大小及模塊大小。同時支持一些統計功能,包括排序、過濾、導出表格等操作以及按文件或模塊篩選查看的功能。鏡像分析結果按照內存區域、詳細信息、文件大小和模塊大小4個界面進行展示。

Memory Regions:內存區域界面以表格的形式展示了每個區域的內存使用情況。如圖1所示,Memory Regions包含了起始地址、結束地址、大小、可用內存以及內存占用。

54b1b602-5a8f-11ec-b2e9-dac502259ad0.png

圖1 Memory Regions

Memory Details:內存詳細信息里顯示了Section和Symbol的信息。如圖2所示,Memory Details通過樹狀表格展示層級關系、名稱、VMA、LMA以及Size。

54e648ae-5a8f-11ec-b2e9-dac502259ad0.png

圖2 Memory Details

File Size:文件大小里展示了.a文件和.o文件的層級關系以及不同section的內存占用。

Module Size:模塊大小里展示了模塊和組件的層級關系以及不同section的內存占用。

使用該工具可幫助開發者快速評估并優化鏡像的ROM、RAM使用情況。

2. 棧估算分析工具

棧估算分析工具,主要解決“運行態內存緊缺情況下系統各任務棧的設置”。通過遍歷反匯編文件,計算函數的局部棧開銷并分析函數之間的調用關系,從而估算出任務的棧大小,為棧溢出分析、??臻g優化提供基礎的數據參考。

該工具提供函數調用關系圖、函數總的最大棧開銷、內部開銷,并提供展示函數所在具體位置。棧分析結果按照函數列表和調用關系進行展示。

Function List:函數列表界面顯示每個函數的函數名稱和函數內部棧開銷,如圖3所示。

55295914-5a8f-11ec-b2e9-dac502259ad0.png

圖3 Function List

Call Graph:調用關系界面顯示每個函數的調用關系,包括函數名稱、調用深度、函數最大棧開銷。

使用該工具可幫助開發者減少爆棧風險,節省內存優化??臻g。

3. 性能分析工具

性能分析工具,主要解決“性能瓶頸的定位及優化”?;谑录蓸咏y計的原理,實現熱點函數、熱點路徑的分析,助力識別性能瓶頸。

該工具提供計數模式及采樣模式兩種工作模式,采集事件發生的次數及執行時間以及上下文如PC,回溯棧等,用于解析出熱點函數與熱點路徑等信息。同時,該工具還支持3種類型的采樣事件:

硬件PMU事件:如cycle,cache等。

軟件打點采樣:如中斷、內存申請等。

高精度周期事件:即按固定周期采樣,精度us級。支持熱點函數及熱點路徑的查看。

5565ac0c-5a8f-11ec-b2e9-dac502259ad0.png

圖4 性能分析工具界面

使用該工具可幫助開發者快速有效識別性能瓶頸,輔助系統性能優化。

4. 可視化Trace工具

可視化Trace工具,主要解決“程序運行不符合預期情況下的問題定位”。通過采用靜態代碼樁和緩沖區記錄的方式,在樁被執行時,獲取事件發生的上下文、系統任務等信息,并記錄到緩沖區,幫助開發者了解何時何處發生的什么事件。

該工具以圖形界面展示事件詳情、CPU占比、內存趨勢圖、任務切換軌跡等信息。下面是Trace 可視化的4個界面:

事件信息視圖:如圖5所示。使用自然語言解釋系統何時(時間戳)何處(在哪個CPU的那個任務中)發生的具體事件。

55b0d380-5a8f-11ec-b2e9-dac502259ad0.png

圖5 時間信息視圖

任務軌跡視圖:如圖6所示。以系統時間為縱坐標,展示任務切換的軌跡,如圖,不同顏色表示不同的任務,不同色塊的遷移對應一次任務切換,點擊色塊會顯示導致任務切換的原因,色塊的長度對應其運行的時長。

56005748-5a8f-11ec-b2e9-dac502259ad0.png

圖6 任務軌跡視圖

CPU負載視圖:如圖7所示。統計任意時間段內的任務執行cpu占比,不同顏色對應不同的任務。

563626fc-5a8f-11ec-b2e9-dac502259ad0.png

圖7 CPU負載視圖

內存監控視圖:如圖8所示。以系統時間為橫坐標,展示隨時間變化的系統內存使用情況。

56815046-5a8f-11ec-b2e9-dac502259ad0.png

圖8 內存監控視圖

使用該工具可幫助開發者清晰的了解系統運行的軌跡,更好的理解系統、輔助定位死機死鎖問題。

5. 輕量級內存檢測工具

輕量級內存檢測工具,主要解決“一鍵定位內存問題”。該工具基于影子內存映射和標記的原理,可快速解決內存越界訪問、釋放后訪問、多重釋放等疑難雜癥,并且在檢測到錯誤后實時打印回溯棧。如圖9所示,輕量級內存檢測工具結合backtrace,快速一鍵式定位問題代碼段。

56b66efc-5a8f-11ec-b2e9-dac502259ad0.png

圖9 定位到出錯的代碼行號

使用該工具可幫助開發者根據回溯棧一鍵定位到出錯的代碼行號。

以上就是本期全部內容,相信五大法寶定能讓你在鴻蒙智聯設備開發的道路上披荊斬棘,趕快點擊下方鏈接下載試用吧!

原文標題:鴻蒙智聯設備開發,這五大法寶你應該擁有

文章出處:【微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。

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

    關注

    2878

    文章

    42064

    瀏覽量

    360497
  • 智能硬件
    +關注

    關注

    203

    文章

    2312

    瀏覽量

    106724
  • 鴻蒙
    +關注

    關注

    55

    文章

    1919

    瀏覽量

    42197
  • 鴻蒙智聯
    +關注

    關注

    0

    文章

    29

    瀏覽量

    386

原文標題:鴻蒙智聯設備開發,這五大法寶你應該擁有

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    全光網應用面臨挑戰

    盡管全光網絡具有諸多優勢和廣闊的應用前景,但在實際應用中仍然面臨一些挑戰,例如: 成本挑戰:全光網絡的建設和維護成本相對較高,包括光纖敷設、光交換設備和光傳輸
    的頭像 發表于 05-09 11:03 ?147次閱讀

    在mplab與proteus調模擬時,老是出現INIT Error: Retrun code 5, Simulation Failed。請教大佬們怎么解決?

    在mplab與proteus調模擬時,老是出現INIT Error: Retrun code 5, Simulation Failed。請教大佬們怎么解決?
    發表于 04-21 02:41

    裝備廠商如何實現生產設備遠程運維調試

    隨著科技的發展和全球化的推進,裝備廠商面臨著越來越多的挑戰和需求。其中,如何快速、高效地解決設備出現的問題成為了關鍵。為了應對這一挑戰,裝備廠商需要實現生產
    的頭像 發表于 04-03 14:37 ?113次閱讀

    Keli5+Proteus8.13調失敗了的原因?

    大佬,Keli5+Proteus8.13調失敗了,提示這個問題,系統是win11
    發表于 03-27 06:16

    DevEco Studio 4.1帶來多種調試能力,助力鴻蒙原生應用開發高效調試

    目前,HarmonyOS NEXT星河預覽版已經正式面向開發者開放申請,面向鴻蒙原生應用及元服務開發者提供的集成開發環境——DevEco Studio也迎來功能更細化的4.1版本。3年來
    的頭像 發表于 02-04 15:35 ?350次閱讀

    微波GaN HEMT 技術面臨挑戰

    報告內容包含: 微帶WBG MMIC工藝 GaN HEMT 結構的生長 GaN HEMT 技術面臨挑戰
    發表于 12-14 11:06 ?248次閱讀
    微波GaN HEMT 技術<b class='flag-5'>面臨</b>的<b class='flag-5'>挑戰</b>

    當芯片變身 3D系統,3D異構集成面臨哪些挑戰

    當芯片變身 3D 系統,3D 異構集成面臨哪些挑戰
    的頭像 發表于 11-24 17:51 ?365次閱讀
    當芯片變身 3D系統,3D異構集成<b class='flag-5'>面臨</b>哪些<b class='flag-5'>挑戰</b>

    便攜式醫療監控系統面臨的設計挑戰

    電子發燒友網站提供《便攜式醫療監控系統面臨的設計挑戰.doc》資料免費下載
    發表于 11-10 09:48 ?0次下載
    便攜式醫療監控系統<b class='flag-5'>面臨</b>的設計<b class='flag-5'>挑戰</b>

    HarmonyOS NEXT調工具Smart Perf Host高效使用指南

    了測試、調、分析一站式服務,**接下來讓我們一起來看Smart Perf如何解決開發性能問題。 在Smart Perf工具全家桶中,Smart Perf Host主要提供性能調
    發表于 11-09 08:35

    華為鴻蒙系統

    HiLink將與Harmony OS統一為鴻蒙^ [35]^。 2021年6月2日晚,華為正式發布HarmonyOS 2及多款搭載HarmonyOS 2的新產品^ [39]^。7月29日,華為Sound X
    發表于 11-02 19:39

    請問protues如何與keil調?

    protues如何與keil 調?
    發表于 10-25 07:22

    激光調設備

    激光調阻機
    jf_74981212
    發布于 :2023年09月12日 14:13:52

    激光調設備

    激光調阻機
    jf_74981212
    發布于 :2023年08月17日 17:21:45

    鴻蒙再出發,攜手伙伴共贏空間智能化,創造無限可能

    品牌升級發布以來,HarmonyOS Connect生態快速成長。目前,鴻蒙生態設備數量已經成功突破3.6億,超過2400家品牌伙伴入駐HarmonyOS Connect大家庭。 HarmonyOS
    發表于 08-09 17:14

    專訪深開鴻CEO王成錄:做成鴻蒙生態 需要一家萬億市值的公司

    讓所有設備都用同一個系統,講同一種語言,這樣的想法在華為內部曾經討論了兩年,最終鴻蒙方案在激辯中誕生。隨著搭載鴻蒙設備的數量突破一個又一個天文數字,
    發表于 06-15 14:46
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>