国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

將安卓操作系統移植到嵌入式平臺的最佳實踐

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Kailas Kharse ? 2022-10-26 10:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Android是流行的智能手機操作系統,它正在接管平板電腦,汽車,智能電視,可穿戴設備,家用電器,游戲機市場等。它為嵌入式平臺提供了獨特而熟悉的體驗,從最小的智能手表屏幕到可折疊和鍍鉻書上的較大顯示屏,再到車載娛樂系統,再到最大的電視屏幕。Android操作系統驅動的醫療設備在醫療保健行業也被廣泛接受。因此,將Android操作系統移植到嵌入式平臺最近引起了很多關注。

但是,在執行安卓操作系統移植之前,請遵循以下做法,以確保高效和成功的安卓移植。

遵循 Linux 內核編碼標準和安卓編碼標準

有各種過程被認為是軟件開發的基本屬性。這些過程用于特定的編程語言、編程風格、方法等。編碼標準確保開發人員遵循特定的準則來處理項目。在為安卓移植進行驅動程序定制時,有必要遵循Linux / Android編碼標準。這確保了無錯誤且易于維護的驅動程序。還需要檢查代碼是否沒有未使用的變量。

在編碼時保持一致性對于程序的質量至關重要。此外,在系統的不同級別上普遍遵循準則,以避免彼此矛盾。完成的程序代碼應由單個開發人員在單個會話中管理,或者看起來像是由單個開發人員編寫的。

開發安全啟動和映像身份驗證

安全啟動是設備安全體系結構的構建基塊。從技術上講,安全啟動是在設備上加載和執行每個軟件映像的啟動序列。此外,此軟件映像是使用軟件授權的。此序列旨在通過在執行之前檢查所有代碼來防止運行未經授權或已修改的代碼。

所有圖像加載都遵循相同的常規過程,稱為“加載器”。加載程序分配一個安全的內存區域來加載“ELF 標頭”、“程序標頭”和“哈希段”。加載程序通過檢查圖像元數據、根證書、證書鏈和哈希表來驗證哈希段。加載程序通過對加載的 ELF 段進行哈希處理并將哈希值與哈希表中的相等條目進行比較來驗證加載的 ELF 段。如果任何計算的哈希值存在差異,則拒絕圖像。

此過程可確保加載程序永遠不會意外覆蓋內存中的重要數據(包括加載程序的代碼和數據),并且圖像數據從不受信任的存儲中加載。

開發已驗證的啟動

已驗證啟動可確保所有執行的代碼都來自受信任的源(通常是設備 OEM)。它直接從引導分區、受硬件保護的信任根和引導加載程序創建一個完整信任鏈,以訪問其他已驗證的分區,包括系統、供應商和可選的 OEM 分區。在設備啟動期間,每個階段都會在移交執行之前驗證下一階段的完整性和真實性。

之后,“已驗證啟動”會檢查具有回滾保護的 Android 版本是否正確,因為回滾保護通過確保設備僅更新到較新版本的 Android,有助于防止可能的漏洞利用變得持續存在。此外,經過驗證的啟動還允許Android設備與用戶交流其完整性狀態。

安卓操作系統移植

移植 Linux 內核是移植安卓系統最重要的因素之一。從 kernel.org 下載相應的 Linux 版本,并將 Linux 移植到目標主板。此內核稱為目標板的參考內核。查找與參考內核具有相同修訂版的 Android 內核,或者使用最接近的修訂版來簡化過程。將參考內核和 Android 內核合并到將移植到目標板的合并內核中。集成到適用于 Android 的 Linux 內核中的一些新組件是調試器、AshMem、開放活頁夾、電源管理器、低內存殺手和記錄器。

要為 Android 正確配置合并的內核,您必須通過從合并的源代碼構建內核映像來測試 Linux 根文件系統的已知工作配置。

注意:引用內核和 Android 內核的修訂不匹配可能會導致花費更多時間進行合并和調試。

能夠配置升級(即 OTA)服務器

OTA(無線)是安卓用于安卓設備中系統級更新(如操作系統更新)的機制。建議堅持讓移植公司使用安卓OTA升級機制,而不是本土的升級系統。接下來,您可以將 OTA 升級服務器配置為您選擇的服務器。這將使您能夠控制更新過程,并控制客戶何時可以使用錯誤修復。它還為安卓消費類設備提供了一致的用戶體驗。

移植安卓 11 時需要考慮的事項

Android 11 包含與分區布局相關的各種更改,這些更改可以支持動態分區 - Android 用戶空間分區系統,可在無線 (OTA) 更新期間創建、調整大小或銷毀分區。這些動態分區消除了供應商管理單個大小的分區(如系統、供應商和產品)的痛苦。相反,設備會分配一個超級分區,以及可以在其中動態調整大小的子分區。

當所有特定于供應商的信息都從引導分區中分離出來并重新定位到供應商引導分區中時,它可以使用 GKI(通用內核映像)輕松引導任意設備。現在,供應商啟動分區包含以前包含在啟動分區中的信息(例如閃存頁大小、內核、虛擬硬盤加載地址、DTB 本身)。要在移植 Android 11 時成功完成引導,引導加載程序必須能夠同時訪問引導分區和供應商引導分區以獲取足夠的數據。

在非 A/B 設備的恢復映像上,恢復映像應包含來自設備樹 blob (DTB) 或高級配置和電源接口ACPI) 覆蓋映像的信息。當此類設備啟動到恢復時,引導加載程序可以加載與恢復映像兼容的覆蓋映像。支持 A/B(無縫)更新的設備應使用恢復作為啟動而不是單獨的恢復分區,并且通用內核映像 (GKI) 必須使用主啟動標頭版本 3 才能與供應商啟動分區兼容。

遵循上述嵌入式工程實踐,您可以確保在嵌入式平臺上高效、成功地移植Android,增強現有連接設備的功能,或者從頭開始設計新系統,而不會有太多的麻煩。

審核編輯:郭婷

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

    關注

    66

    文章

    18690

    瀏覽量

    186055
  • 嵌入式
    +關注

    關注

    5198

    文章

    20449

    瀏覽量

    334025
  • 操作系統
    +關注

    關注

    37

    文章

    7402

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式驅動開發,需要掌握哪些技能?

    嵌入式驅動開發中,方便設備管理、驅動移植等,所以,需要掌握一定的數據結構。 3、 操作系統知識如果基于Linux、RTOS等操作系統設計驅動開發,我們還需要對
    發表于 01-20 16:46

    什么是嵌入式應用開發?

    概述 所謂的嵌入式應用開發就是在嵌入式操作系統下進行開發、軟硬件綜合開發 ?嵌入式應用開發?是指在嵌入式
    發表于 01-12 16:13

    arm嵌入式主板優缺點

    Windows CE、Linux等主流的嵌入式操作系統。   ARM的優點   一、高可靠性、高穩定性:在工業控制領域,性能穩定可靠是自動控制基本的要求,ARM嵌入式主板有著很特殊的優勢。第一
    發表于 01-08 07:08

    什么是嵌入式操作系統

    要理解嵌入式操作系統(Embedded Operating System,簡稱 RTOS/EOS),我們可以從本質定義→核心區別→實際作用→典型特征→嵌入式開發場景適配,五個維度來拆解, 一
    發表于 12-09 10:33

    ARM嵌入式這樣學

    , UCOS 等等,一個操作系統移植到里面去,跑起來,然后就自己利用操作系統的接口寫一些應用軟件,就可以直接控制其強大的外設了。當然了,這中間還有另外一種工程師在工作,就是嵌入式驅動工
    發表于 12-04 07:48

    嵌入式實時操作系統的特點

    實時嵌入式操作系統(Real-Time Embedded Operating System)是專門設計用于嵌入式系統的實時操作系統
    發表于 11-13 06:30

    如何采用SAFERTOS和ESM保護嵌入式系統安全

    信任根的重要組成部分是實時操作系統(RTOS),它為應用程序的運行提供了一個安全的平臺嵌入式系統的具體安全要求取決于其架構以及所面臨的威脅。在本博客中,我們
    的頭像 發表于 10-24 15:51 ?1456次閱讀

    【好書推薦】RT-Thread第22本相關書籍!《嵌入式實時操作系統開發實踐》| 技術集結

    教學的首選平臺。本次推薦的第22本RT-Thread相關書籍——《嵌入式實時操作系統開發實踐(基于英飛凌PSoC62和RT-Thread)》正是一本
    的頭像 發表于 10-16 18:46 ?689次閱讀
    【好書推薦】RT-Thread第22本相關書籍!《<b class='flag-5'>嵌入式</b>實時<b class='flag-5'>操作系統</b>開發<b class='flag-5'>實踐</b>》| 技術集結

    嵌入式從入門進階,怎么學?

    (kmallocvs vmalloc)、 中斷線程化項目實戰:移植 MQTT 嵌入式設備(物聯網數據上報)、用 QT 開發工業設備監控界面(Modbus 協議)。
    發表于 09-02 09:44

    入行嵌入式應該怎么準備?

    知識: 一、C/C++編程C/C++是嵌入式系統開發中最常用的編程語言。熟練掌握C/C++語言將使你能夠理解和編寫底層驅動程序、操作系統以及與硬件交互的代碼。對于嵌入式
    發表于 08-06 10:34

    Linux嵌入式和單片機嵌入式的區別?

    Linux嵌入式與單片機嵌入式在多個方面存在顯著的區別,以下是詳細的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:Linux
    發表于 06-20 09:46

    嵌入式開發,如何選擇適合的系統

    嵌入式ARM開發中,面對多種操作系統的選擇,如何做出最適合項目的決策?本文將為您梳理常見系統的特性,幫助您快速了解它們的優缺點,以便更好地選擇適合的系統。引言在
    的頭像 發表于 05-20 11:32 ?1145次閱讀
    <b class='flag-5'>嵌入式</b>開發,如何選擇適合的<b class='flag-5'>系統</b>?

    嵌入式開發入門指南:從零開始學習嵌入式

    特定功能的計算機系統,廣泛應用于智能家居、工業控制、醫療設備、車載系統等領域。 2. 學習嵌入式開發的前置知識熟悉C語言編程掌握基本的數據結構與算法了解數字電路與微控制器原理熟悉Linux操作
    發表于 05-15 09:29

    嵌入式適合自學嗎?

    基礎。對于初學者來說,很難在短時間內建立起完整的知識體系。 2)學習曲線陡峭:嵌入式開發需要掌握多種編程語言、硬件知識、操作系統原理等,學習曲線非常陡峭。例如,學習STM32微控制器時,需要理解其基本架
    發表于 04-27 09:54

    RT-Thread嵌入式操作系統專業培訓班-深圳站重磅開啟!

    RT-Thread官方將在深圳舉辦為期三天的嵌入式操作系統專業培訓班!本次培訓深入講解RT-Thread嵌入式實時操作系統的核心技術與實戰
    的頭像 發表于 04-11 18:18 ?831次閱讀
    RT-Thread<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b>專業培訓班-深圳站重磅開啟!