91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

在基于ARM的設(shè)計(jì)上調(diào)試Android平臺

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Achim Nohl ? 2022-06-22 11:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如果不觸及 Android 軟件堆棧的內(nèi)部,就無法在新設(shè)備上啟動 Android。雖然 Java 應(yīng)用層在很大程度上保持不變,但必須在 Java 原生層、硬件適配層以及底層 Linux 內(nèi)核及其驅(qū)動程序中完成工作。此外,特定于設(shè)備的服務(wù)和應(yīng)用程序需要與 Android 的其余部分一起集成和測試。

在軟件堆棧中的所有這些層之間垂直集成設(shè)備功能是一個相當(dāng)大的挑戰(zhàn)。在單層中隔離和調(diào)試一個軟件模塊可能很困難;更重要的是,任何調(diào)試框架都不支持跨所有層調(diào)試多個交互模塊,因此需要耐心和許多 printf 跟蹤消息。

為了解決這個問題,CoWare 開發(fā)了適用于 Android 的 Virtual ARM 開發(fā)板,它提供了一個 Android 感知的調(diào)試和分析框架,支持確定性和連續(xù)的自上而下的調(diào)試方法。Android 意識首先通過檢測和跟蹤 ARM Linux 操作系統(tǒng)上下文(如中斷處理程序、內(nèi)核線程、驅(qū)動程序和用戶空間進(jìn)程)的能力而引人注目。立即觀察進(jìn)程調(diào)度的能力可以洞察整個系統(tǒng)行為。

例如,圖 1 顯示了設(shè)備從深度睡眠掛起模式恢復(fù)后系統(tǒng)死鎖的在線上下文跟蹤。當(dāng)設(shè)備喚醒但未對任何按鍵或觸摸屏做出反應(yīng)時,系統(tǒng)陷入軟件中斷 (swi) 處理程序和 Android 的輸入設(shè)備讀取器進(jìn)程 (InputDeviceRead) 之間的死鎖。通過這種分析,很明顯沒有其他重要進(jìn)程(例如窗口管理器)用于處理按鍵操作。

圖 1:在線上下文跟蹤顯示設(shè)備從深度睡眠掛起模式喚醒后出現(xiàn)系統(tǒng)死鎖。

pYYBAGKyhtmAKlueAAST-3qeqrY494.png

支持自上而下的調(diào)試流程,每個過程都可以在功能上進(jìn)一步研究到指令級。甚至可以跟蹤內(nèi)存訪問,從而可以有效地分析軟件堆棧中各層的行為。

圖 2 說明了 Android 輸入設(shè)備讀取器進(jìn)程與內(nèi)核軟件中斷之間的函數(shù)級交互。識別實(shí)際執(zhí)行的代碼有助于隔離大型第三方軟件代碼庫中需要開發(fā)人員注意的位置,并演示軟件如何跨各個層進(jìn)行交互。在圖 2 中,觀察 Android 中間件函數(shù) read_notify 如何觸發(fā)內(nèi)核軟件中斷 swi。

圖 2:調(diào)試 Android 用戶空間和 Linux 內(nèi)核之間的差距展示了軟件堆棧中跨層的行為。

poYBAGKyhuSAbQgcAAcKFUlts5Y684.png

分析解決方案集成了 Android 和 Linux 中存在的日志記錄和跟蹤功能。無需對軟件的任何部分進(jìn)行檢測或更改,Android 記錄器和內(nèi)核調(diào)試消息就會與之前引入的跟蹤一起被捕獲和可視化。這樣,開發(fā)人員可以繼續(xù)使用那些具有附加值的工具,即所有日志和跟蹤都同步,并且可以輕松地與流程和軟件功能相關(guān)聯(lián),如圖 3 所示。

圖 3:開發(fā)人員可以可視化 Android 記錄器和內(nèi)核調(diào)試消息以及之前引入的跟蹤。

pYYBAGKyhuyAGZmeAAalhULqiak481.png

請注意,Android 日志并沒有與重要的內(nèi)核調(diào)試消息分開,查看這些消息不再需要工作的用戶空間應(yīng)用程序(例如 dmesg 或 logcat)。當(dāng)系統(tǒng)損壞并且查看器應(yīng)用程序或調(diào)試橋不再運(yùn)行時,通常需要訪問跟蹤。一個示例是引導(dǎo)的早期階段或與深度睡眠模式之間的轉(zhuǎn)換。該分析解決方案通過虛擬平臺提供的非侵入式控制和檢查功能直接從嵌入式軟件中捕獲跟蹤。

虛擬 ARM 開發(fā)板和工具通過強(qiáng)大的系統(tǒng)級分析工具補(bǔ)充了現(xiàn)有的 Android 開發(fā)環(huán)境。該板可與使用 Android 調(diào)試橋的 Google Eclipse SDK 等工具配合使用。RealView Debugger (RVD)、Lauterbach 或 Data Display Debugger (DDD) 等最先進(jìn)的調(diào)試器可以使用板作為目標(biāo)而不是硬件來執(zhí)行嵌入式軟件調(diào)試(參見圖 4)。

這種高水平的可見性以及非侵入式檢查和可控性使調(diào)試 Android 成為一項(xiàng)更加簡化和可預(yù)測的任務(wù)。

審核編輯:郭婷

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

    關(guān)注

    5200

    文章

    20476

    瀏覽量

    334484
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4028

    瀏覽量

    134071
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1101

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RK平臺新聲卡添加與驅(qū)動調(diào)試指南

    瑞芯微(RK)平臺的嵌入式系統(tǒng)開發(fā)中,音頻功能的實(shí)現(xiàn)核心依賴于 Sound Card(聲卡)的正確配置與驅(qū)動調(diào)試。
    的頭像 發(fā)表于 02-09 16:42 ?770次閱讀
    RK<b class='flag-5'>平臺</b>新聲卡添加與驅(qū)動<b class='flag-5'>調(diào)試</b>指南

    一文吃透RK平臺OTA升級開發(fā):從邏輯到調(diào)試的完整指南

    Rockchip(簡稱 RK)Android 平臺開發(fā)中,OTA(Over The Air)升級是實(shí)現(xiàn)設(shè)備軟件迭代的核心方式。無論是本地卡刷升級,還是在線無縫更新,掌握 OTA 升級的技術(shù)細(xì)節(jié)
    的頭像 發(fā)表于 02-09 16:26 ?378次閱讀
    一文吃透RK<b class='flag-5'>平臺</b>OTA升級開發(fā):從邏輯到<b class='flag-5'>調(diào)試</b>的完整指南

    RK Android平臺音頻調(diào)試指南:從基礎(chǔ)到實(shí)戰(zhàn),解決多設(shè)備輸出、聲卡異常等核心問題

    Android 開發(fā)中,音頻模塊的調(diào)試往往是 “老大難”—— 多聲卡無法區(qū)分、多設(shè)備同時輸出沒聲音、HDMI 錄音崩潰… 這些問題不僅影響用戶體驗(yàn),還會消耗大量開發(fā)時間。
    的頭像 發(fā)表于 02-06 16:48 ?2908次閱讀
    RK <b class='flag-5'>Android</b><b class='flag-5'>平臺</b>音頻<b class='flag-5'>調(diào)試</b>指南:從基礎(chǔ)到實(shí)戰(zhàn),解決多設(shè)備輸出、聲卡異常等核心問題

    RK3588平臺USB攝像頭調(diào)試實(shí)戰(zhàn):從報(bào)錯到穩(wěn)定運(yùn)行

    嵌入式開發(fā)中,RK3588 憑借強(qiáng)勁的算力常被用于邊緣計(jì)算、工業(yè)視覺等場景,而 USB 攝像頭作為常見外設(shè),調(diào)試過程中難免遇到各類 “卡殼” 問題。最近我們 RK3588 上調(diào)試
    的頭像 發(fā)表于 02-04 16:13 ?372次閱讀

    RK3576+Android15+Linux6.1調(diào)試EM05 4G模塊全記錄:從底層到上層的踩坑與破局

    嵌入式 Android 開發(fā)中,4G 模塊的調(diào)試往往是 “牽一發(fā)而動全身” 的關(guān)鍵環(huán)節(jié) —— 既要搞定底層驅(qū)動與內(nèi)核適配,又要打通上層框架與 RIL(Radio Interface Layer
    的頭像 發(fā)表于 02-03 15:27 ?1684次閱讀
    RK3576+<b class='flag-5'>Android</b>15+Linux6.1<b class='flag-5'>調(diào)試</b>EM05 4G模塊全記錄:從底層到上層的踩坑與破局

    Android虛擬屏軟件分享

    調(diào)試Android的過程中,有時候沒有屏幕,公司做開發(fā)的時候屏幕還沒到位,但是很多功能需要調(diào)試,特別是新入門的小伙伴,入門時可能會想著買
    的頭像 發(fā)表于 01-30 17:02 ?1891次閱讀
    <b class='flag-5'>Android</b>虛擬屏軟件分享

    MDK-ARM平臺下的fft介紹

    MDK-ARM平臺 #include &quot;arm_math.h&quot; #include &quot
    發(fā)表于 01-22 07:35

    【教程】必看!手把手教你調(diào)試Codesys與西門子平臺的Profinet網(wǎng)絡(luò)?

    驗(yàn)證。1.1STEP7-MicroWINSMART平臺使用STEP7-MicroWINSMART平臺調(diào)試ProfinetIO時,需先借助S7-200PLC才可進(jìn)
    的頭像 發(fā)表于 09-18 19:33 ?2171次閱讀
    【教程】必看!手把手教你<b class='flag-5'>調(diào)試</b>Codesys與西門子<b class='flag-5'>平臺</b>的Profinet網(wǎng)絡(luò)?

    ArkUI-XAndroid平臺動態(tài)化開發(fā)指南

    本文介紹如何在Android平臺進(jìn)行ArkUI-X動態(tài)化開發(fā),包括動態(tài)化目錄規(guī)則及約束。 適用場景 動態(tài)化主要包括兩個典型場景: 場景1:框架動態(tài)化,為了降低應(yīng)用ROM體積占用,及滿足動態(tài)升級框架
    發(fā)表于 06-15 23:33

    ArkUI-XAndroid上使用Fragment開發(fā)指南

    本文介紹將ArkUI框架的UIAbility跨平臺部署至Android平臺Fragment的使用說明,實(shí)現(xiàn)Android原生Fragment和ArkUI跨
    發(fā)表于 06-12 22:42

    ArkUI-X平臺差異化

    : 1.自身業(yè)務(wù)邏輯不同平臺本來就有差異; 2.OpenHarmony上調(diào)用了不支持跨平臺的API,這就需要在OpenHarmony上仍然調(diào)用對應(yīng)API,其他
    發(fā)表于 06-10 23:08

    ArkUI-X與Android消息通信

    平臺與ArkUI交互,ArkUI側(cè)具體用法請參考Bridge API,Android側(cè)參考BridgePlugin。 創(chuàng)建平臺橋接 1.ArkUI側(cè)創(chuàng)建
    發(fā)表于 06-08 22:15

    ArkUI-X跨平臺框架接入指南

    的IDE編輯器進(jìn)行開發(fā)和調(diào)試; ArkUI-X支持Android/iOS平臺真機(jī)和模擬器上運(yùn)行調(diào)試;
    發(fā)表于 05-18 18:21

    何為變頻調(diào)速系統(tǒng)的基頻以上調(diào)速?

    。變頻器將電源的交流電轉(zhuǎn)換成直流電,再通過PWM控制器(或其他調(diào)制方式)將直流電轉(zhuǎn)換成變頻的交流電,從而實(shí)現(xiàn)對電機(jī)轉(zhuǎn)速的精確控制。基頻以上調(diào)速時,由于電動機(jī)不能超過額定電壓運(yùn)行,因此定子電壓保持不變,而電源頻率則繼
    的頭像 發(fā)表于 04-23 17:12 ?1391次閱讀
    何為變頻調(diào)速系統(tǒng)的基頻以<b class='flag-5'>上調(diào)</b>速?

    Arm助力開發(fā)者加速遷移至Arm架構(gòu)云平臺 Arm云遷移資源分享

    隨著基于 Arm 架構(gòu)的云實(shí)例日益擴(kuò)展,越來越多的用戶正從傳統(tǒng)平臺遷移至 Arm 平臺上。
    的頭像 發(fā)表于 04-09 18:23 ?1257次閱讀