chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

介紹一種OpenAtom OpenHarmony輕量系統(tǒng)適配方案

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2024-03-05 09:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 簡介

本文在不改變原有系統(tǒng)基礎框架的基礎上, 介紹了一種OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)輕量系統(tǒng)適配方案。 本方案使用的是 OpenHarmony v3.2 Release版本源碼。

2. 方案設計

本文使用的硬件模塊的主要特性及功能如下:

0290ade2-da2b-11ee-a297-92fbcf53809c.png

通常,適配OpenHarmony的方案是,將內(nèi)核由RTOS改為LiteOS-M,并移植原生所有功能模塊和鏡像打包功能。采用該方案面臨了諸多困難:

●編譯系統(tǒng)更改Gn+Ninjia,重寫和調(diào)試編譯腳本,需要學習成本

●適配和測試全部的原生功能,原本測試通過的功能需要重新測試,付出重復的勞動

●適配新的OS接口,需要修改原生系統(tǒng)的OSI層接口,以對接LiteOS-M

該方案的改動較多,將導致開發(fā)人員無法將精力聚焦于項目的新功能、工作量大、難度大,無法滿足項目的工期要求,項目風險大。

OpenHarmony的輕量系統(tǒng)編譯過程是,首先將各模塊編譯鏈接為靜態(tài)庫,再將靜態(tài)庫鏈接為應用程序,最后打包為鏡像文件。燒錄入硬件后,系統(tǒng)運行單一進程,各個不同的任務以多個線程運行。

結合原生編譯系統(tǒng)和 OpenHarmony的特點,最終采用的適配方案如下:

●不改變原生代碼的編譯系統(tǒng)和打包系統(tǒng)

●使用原生代碼的交叉編譯工具鏈編譯OpenHarmony為靜態(tài)庫,將靜態(tài)庫集成到原生代碼中

●OpenHarmony中不編譯LiteOS-M內(nèi)核,使用原生代碼的RTOS內(nèi)核

●原生代碼中新增適配代碼,以提供OpenHarmony需要的接口

整體的軟件框架設計如下:

wKgZomXmdPiAQDTzAACNPYvE_v8293.jpg

方案保留了原始系統(tǒng)框架的大部分功能,新增OpenHarmony的模塊功能和其他項目需求功能,修改或升級部分原生功能(FreeRTOS、 MbedTLS等)。

3. OpenHarmony編譯

3.1 創(chuàng)建虛擬設備編譯

創(chuàng)建新的vendor和新的device配置,目錄如下:

●vendor/ohemu/L0_xts_demo

●device/qemu/L0_xts_demo

3.2 子系統(tǒng)配置

修改vendor/ohemu/L0_xts_demo/config.json,該文件包含了所有必須的子系統(tǒng)配置。

3.3 工具鏈配置

修改device/qemu/L0_xts_demo/liteos_m/config.gni,該文件包含了板級編譯配置,根據(jù)原生編譯系統(tǒng)的編譯設置來修改。

3.4 編譯命令

編譯命令如下:


python3 ./build.py -p L0_xts_demo -f -b debug --gn-args build_xts=true

編譯出的靜態(tài)庫位于out/L0_xts_demo/L0_xts_demo/libs

3.5 優(yōu)化剪裁

對manifest和prebuild進行剪裁,只下 載必須的軟件和源碼。

●修改build/prebuilts_download_config.json,只保留GN、Ninja和Python

●修改.repo/manifests/ohos/ohos.xml,刪除不需要的包和源碼。

3.6 集成

將編譯后的靜態(tài)庫拷貝到原生編譯系統(tǒng)中,并編寫demo程序,進行編譯。

3.6.1 編寫demo

OpenHarmony的demo分為兩個單元main.c和demo.c。

●main.c 主線程,調(diào)用OHOS_SystemInit()函數(shù),啟動OpenHarmony

● demo.c 示例線程,調(diào)用hilog接口循環(huán)打印日志

3.6.2 編譯demo

在demo目錄下創(chuàng)建CMakeFile.txt文件。

定義OpenHarmony的頭文件包含目錄及庫文件,編譯main.c和demo.c,生成demo鏡像文件。

3.6.3 編譯XTS

將XTS編譯生成的靜態(tài)庫鏈接為鏡像,每一項XTS測試生成一個鏡像。

3.6.4 鏈接

修改ld文件的.TEXT段,新增OpenHarmony的自定義段設置。

4. 原生系統(tǒng)修改

在原生代碼中升級模塊或新增OpenHarmony調(diào)用的接口。

4.1 升級RTOS

由于不支持OpenHarmony中的底層接口,F(xiàn)reeRTOS內(nèi)核從版本10.0.1升級到版本v10.3.1,適配其HAL層和 OSI層接口。

FreeRTOS源碼來自于官網(wǎng)地址: https://github.com/FreeRTOS/FreeRTOS

4.2 升級MbedTLS

因為原生MbedTLS代碼的版本較低,所以拷貝OpenHarmony中的MbedTLS源碼覆蓋到原生系統(tǒng)中。修改在OpenHarmony中不編譯三方庫MbedTLS。

修改CMakeFile.txt和config.h,打開OpenHarmony和原生系統(tǒng)需要的功能開關。

4.3 新增CMSIS接口

原生系統(tǒng)kernel中新增cmsis目錄,包含CMSIS的源碼和頭文件。

CMSIS源碼來自于開源項目CMSIS-FreeRTOS,地址:https://github.com/ARM-software/CMSIS-FreeR TOS

修改部分源碼適配系統(tǒng)源碼,并修改kernel的CMakeFile.txt,將源碼中的cmsis_os2.c文件加入編譯。

4.4 新增打印接口

新增打印接口,對接原生系統(tǒng)打印功能,比如打印到串口、保存文件等。新增加的功能模塊和OpenHarmony均調(diào)用新增的打印接口。

4.5 新增文件系統(tǒng)接口

適配OpenHarmony的文件系統(tǒng)調(diào)用的接口

●_open()

●_close()

●_read()

●_write()

●_lseek()

●_unlink()

需要注意的是,OpenHarmony要求打開文件最多為32個,這里需要控制通過_open()接口打開的文件 總數(shù)不能超過32個。

4.6 新增POSIX接口

適配編譯中報錯缺失的POSIX接口

●_exit()

●kill()

●sleep()

●_fini()

4.7 新增LiteOS接口

LiteOS中調(diào)用的接口

●ArchIntLock()

●ArchIntRestore()

●LOS_MuxCreate()

●LOS_MuxPend()

●LOS_MuxDelete()

●LOS_TickCountGet()

●osThreadGetArgument()

4.8 其他接口

適配缺失的其他接口

●OhosMalloc()

●OhosFree()

●RefreshAllServiceTimeStamp()

●HiLogWriteInternal()

5. OpenHarmony修改

5.1 三方庫

修改third_party/bounds_checking_function/BUILD.gn,編譯生成libsec_static靜態(tài)庫

5.2 修改hiview_lite

●base/hiviewdfx/hiview_lite/BUILD.gn,改為無緩存,直接輸出到串口。

●base/hiviewdfx/hiview_lite/hiview_util.c ,修改打印函數(shù),調(diào)用原生系統(tǒng)新增的打印接口

5.3 修改HUKS

修改文件base/security/huks/utils/mutex/hks_mutex.c

因為原生系統(tǒng)并不支持POSIX的mutex系列接口,這里修改為LOS接口。如果原生系統(tǒng)支持POSIX接口,則這里不需要進行修改。

5.4 修改bootstrap_lite

修改文件base/startup/bootstrap_lite/services/source/core_main.h,取消宏里面的重復調(diào)用。

5.5 刪除-fPIC

刪除BUILD.gn文件里的-fPIC,否則會導致程序運行異常。

●foundation/ability/ability_lite/frameworks/want_lite/BUILD.gn

●foundation/bundlemanager/bundle_framework_lite/frameworks/bundle_lite/BUILD.gn

5.6 修改XTS

修改日志打印,將日志輸出到串口。

6. 總結

該方案與通用方案相比,降低了適配復雜度和開發(fā)難度,減少了工作量,使項目進度符合了工期要求,是一種快速的適配方案。采用該方案進行開發(fā)的輕量設備已經(jīng)成功通過了OpenHarmony兼容性測評。請各位讀者根據(jù)項目的實際情況在兩種方案中進行選擇。



審核編輯:劉清

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

    關注

    0

    文章

    41

    瀏覽量

    12851
  • RTOS
    +關注

    關注

    25

    文章

    866

    瀏覽量

    122996
  • FreeRTOS
    +關注

    關注

    14

    文章

    499

    瀏覽量

    66941
  • HAL庫
    +關注

    關注

    1

    文章

    121

    瀏覽量

    7632
  • OpenHarmony
    +關注

    關注

    33

    文章

    3952

    瀏覽量

    21102

原文標題:一種OpenHarmony輕量系統(tǒng)適配方案

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    #OpenHarmony 系統(tǒng)概述

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:39:20

    OpenHarmony系統(tǒng)】本期視頻將為您介紹怎樣將鏡像燒錄到板卡中。

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月15日 14:29:55

    車載功放芯片精準選型:技術要點與華潤微CD7377CZ/7388適配方案

    與技術服務經(jīng)驗,從場景適配、參數(shù)解讀、實戰(zhàn)應用三大核心維度,系統(tǒng)拆解車載功放芯片選型邏輯,并給出華潤微CD7377CZ/7388的專屬適配方案,為車企研發(fā)與音響改裝從業(yè)者提供專業(yè)技術參考。
    的頭像 發(fā)表于 12-31 15:39 ?458次閱讀

    ?3C電子領域高精密加工的適配型動力單元

    在 3C 電子、精密模具等細分加工領域,“高速 + 高精度 + 小負載適配” 是電主軸的核心需求,電主軸以 40mm 外徑的緊湊設計,成為該場景下的典型適配方案,其性能參數(shù)與結構設計精準匹配了載高精密加工的技術要求。
    的頭像 發(fā)表于 12-19 14:50 ?227次閱讀
    ?3C電子領域高精密加工的<b class='flag-5'>適配</b>型動力單元

    淘寶開放平臺API升級解讀:2023年新接口特性與適配方案

    ,其API數(shù)據(jù)接口的開放策略直走在行業(yè)前列。2023年,淘寶進步擴大了API接口的開放范圍,并進行了全面升級。本文將對淘寶開放平臺API的2023年新接口特性進行詳細解讀,并提供相應的適配方案。
    的頭像 發(fā)表于 11-13 09:22 ?370次閱讀

    視美泰GK-68A工控系列適配OpenHarmony系統(tǒng):技術優(yōu)勢與市場價值雙突破

    GKBOX-68A適配OpenHarmony操作系統(tǒng),為工業(yè)智能化發(fā)展注入新的活力。、適配OpenHa
    的頭像 發(fā)表于 07-28 14:13 ?5935次閱讀
    視美泰GK-68A工控系列<b class='flag-5'>適配</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>系統(tǒng)</b>:技術優(yōu)勢與市場價值雙突破

    一種環(huán)保型紅色發(fā)煙彈主裝藥配方設計與優(yōu)化

    HS-STA-002同步熱分析儀(SimultaneousThermalAnalyzer,STA)是一種用于同時測量樣品在受熱過程中質(zhì)量變化和熱效應的儀器。它結合了熱重分析(TGA)和差示掃描熱法
    的頭像 發(fā)表于 07-07 15:56 ?455次閱讀
    <b class='flag-5'>一種</b>環(huán)保型紅色發(fā)煙彈主裝藥<b class='flag-5'>配方</b>設計與優(yōu)化

    中型數(shù)據(jù)中心中的差分晶體振蕩器應用與匹配方案

    ,信號品質(zhì)優(yōu)越,完全適配PAM4鏈路。 線路布置建議: 走線避開開關電源干擾源,推薦短線連接到CDR。 5. 分布式時鐘同步模塊 匹配方案: FCO-5L 100MHz HCSL 輸出 芯片型號: TI
    發(fā)表于 07-01 16:33

    聚徽工業(yè)觸摸體機:多行業(yè)應用場景下的技術適配方案

    在當今數(shù)字化與智能化飛速發(fā)展的時代,工業(yè)觸摸體機憑借其強大的功能與便捷的操作特性,已成為眾多行業(yè)實現(xiàn)高效生產(chǎn)、智能管理的關鍵設備。不同行業(yè)因其獨特的生產(chǎn)環(huán)境、操作流程和功能需求,對工業(yè)觸摸體機的技術適配有著多樣化的要求。以下
    的頭像 發(fā)表于 06-25 17:18 ?720次閱讀

    Kuikly鴻蒙版正式開源 —— 揭秘卓越性能適配之旅

    模式采用平臺產(chǎn)物,性能幾乎零損耗,即便在中低端機仍有接近原生表現(xiàn)。 穩(wěn)定易維護:框架整體設計精巧、無復雜外部依賴,框架穩(wěn)定性、可控性和維護性較高。 總體適配方案概述 Kuikly鴻蒙適配
    發(fā)表于 06-04 16:46

    基于OpenHarmony打造新代智能化解決方案

    RK3568 OpenHarmony方案以Core-RK3568主控板為核心載體,采用瑞芯微自主研發(fā)的RK3568高性能處理器,并搭載國產(chǎn)自主可控的OpenHarmony開源操作系統(tǒng),
    的頭像 發(fā)表于 05-23 17:45 ?1432次閱讀

    HarmonyOS應用深色模式適配方案

    深色模式(Dark Mode)又稱為暗色模式,是與日常使用過程中的淺色模式(Light Mode)相對應的一種UI主題。深色模式最早來源于人機交互領域的研究和實踐,該模式并非簡單地將頁面背景變?yōu)楹谏?/div>
    的頭像 發(fā)表于 05-14 09:10 ?2761次閱讀
    HarmonyOS應用深色模式<b class='flag-5'>適配方案</b>

    OpenHarmony4.1系統(tǒng)WiFi藍牙打不開時,教你如何排查解決問題

    本文介紹OpenHarmony4.1系統(tǒng)開發(fā)板,出現(xiàn)打不開WiFi和藍牙的問題排查和解決方法。觸覺智能PurplePiOH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,1TOPS算力NPU
    的頭像 發(fā)表于 03-12 18:55 ?1022次閱讀
    <b class='flag-5'>OpenHarmony</b>4.1<b class='flag-5'>系統(tǒng)</b>WiFi藍牙打不開時,教你如何排查解決問題

    OpenHarmony5.0系統(tǒng)怎么去除鎖屏直接進入界面?教你2步搞定

    本文介紹OpenHarmony5.0Release操作系統(tǒng)下,去除鎖屏開機后直接進入界面的方法。觸覺智能PurplePiOH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,1TOPS算力NPU
    的頭像 發(fā)表于 03-12 18:51 ?1152次閱讀
    <b class='flag-5'>OpenHarmony</b>5.0<b class='flag-5'>系統(tǒng)</b>怎么去除鎖屏直接進入界面?教你2步搞定