在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

利用輔助工具SIG為OpenHarmony操作系統(tǒng)開(kāi)發(fā)化解疑難

OpenAtom OpenHarmony ? 來(lái)源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-03-15 10:27 ? 次閱讀

開(kāi)發(fā)繁瑣,輔助工具SIG應(yīng)運(yùn)而生

隨著國(guó)內(nèi)信息化市場(chǎng)的逐步成長(zhǎng),以 OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)為基座,國(guó)產(chǎn)化操作系統(tǒng)為代表的創(chuàng)新產(chǎn)業(yè)匯聚了眾多開(kāi)發(fā)者的加入。對(duì)應(yīng)用開(kāi)發(fā)者,OpenHarmony 采用了多種分布式技術(shù),使應(yīng)用開(kāi)發(fā)與不同終端設(shè)備的形態(tài)差異無(wú)關(guān);對(duì)設(shè)備開(kāi)發(fā)者,OpenHarmony 采用了組件化的設(shè)計(jì)方案,可根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征靈活裁剪。使得 OpenHarmony 成為眾多開(kāi)發(fā)者青睞的開(kāi)源項(xiàng)目。

然而,在 OpenHarmony 操作系統(tǒng)層面能力有待提升,需要系統(tǒng)開(kāi)發(fā)者增強(qiáng)系統(tǒng)能力,諸如 NAPI 框架代碼的重復(fù)率問(wèn)題、開(kāi)機(jī)動(dòng)畫展現(xiàn)受限和代碼語(yǔ)言開(kāi)發(fā)難度大等。

(1)NAPI 框架代碼重復(fù)率問(wèn)題。面對(duì)不同的 TS 接口,開(kāi)發(fā)者都需實(shí)現(xiàn)相似度極高的框架代碼,工作較為繁瑣;

(2)開(kāi)機(jī)動(dòng)畫展現(xiàn)受限。開(kāi)機(jī)動(dòng)畫是一種特殊壓縮格式的圖片資源文件,僅有圖片集或視頻資源,開(kāi)發(fā)者無(wú)法在各發(fā)行版和定制版進(jìn)行定制化展現(xiàn);

(3)代碼語(yǔ)言開(kāi)發(fā)難度大。對(duì)于存量接口或者已有 C/C++ 接口,開(kāi)發(fā)者需要把 C/C++ 頭文件手寫為 IDL 文件。雙方語(yǔ)言不同,熟悉 C/C++ 頭文件語(yǔ)法的同時(shí)還要熟悉 IDL 語(yǔ)法,造成手寫難度很大,影響了開(kāi)發(fā)效率。

為豐富 OpenHarmony 社區(qū)生態(tài),深圳開(kāi)鴻數(shù)字產(chǎn)業(yè)發(fā)展有限公司(以下簡(jiǎn)稱“深開(kāi)鴻”)申請(qǐng)并由 PMC 核準(zhǔn)成立輔助工具 SIG,負(fù)責(zé) OpenHarmony 社區(qū)特定子領(lǐng)域及創(chuàng)新項(xiàng)目的架構(gòu)設(shè)計(jì)、開(kāi)源開(kāi)發(fā)及項(xiàng)目維護(hù)等工作。

對(duì)癥解決,輔助工具SIG化解疑難

輔助工具 SIG 主要用于輔助 OpenHarmony 操作系統(tǒng)開(kāi)發(fā),針對(duì)圖形子系統(tǒng)中開(kāi)機(jī)動(dòng)畫的快速定制,通過(guò)優(yōu)化驅(qū)動(dòng) HDF 框架 HDI 接口的開(kāi)發(fā)流程,系統(tǒng)框架層與應(yīng)用層間接口 NAPI 的開(kāi)發(fā)流程等環(huán)節(jié),提高開(kāi)發(fā)效率。為構(gòu)建開(kāi)放繁榮的 OpenHarmony 社區(qū)生態(tài)添磚加瓦。

NAPI框架代碼生成工具

OpenHarmony 各子系統(tǒng)的諸多能力需對(duì)應(yīng)用開(kāi)放,NAPI 框架代碼生成工具需求尤為迫切。針對(duì) NAPI 在開(kāi)發(fā)過(guò)程中的大量需求,開(kāi)發(fā)效率低且重復(fù)率高等問(wèn)題,深開(kāi)鴻專項(xiàng)小組根據(jù)社區(qū)開(kāi)發(fā)環(huán)境和版本計(jì)劃,從 NAPI 工具開(kāi)發(fā)環(huán)節(jié)切入,經(jīng)過(guò)夜以繼日的攻堅(jiān),實(shí)現(xiàn)了 NAPI 框架代碼生成工具。用戶可根據(jù)指定路徑的 TS 接口文件,一鍵生成 NAPI 代碼框架、業(yè)務(wù)代碼框架、GN 文件。

SIG倉(cāng)地址:https://gitee.com/openharmony-sig/napi_generator

框架層開(kāi)發(fā)者也無(wú)需再關(guān)注 Nodejs 相關(guān)語(yǔ)法,C++ 與 JS 之間的接口類型轉(zhuǎn)換、數(shù)據(jù)類型轉(zhuǎn)換,只需關(guān)注業(yè)務(wù)實(shí)現(xiàn)邏輯準(zhǔn)確性。NAPI 框架代碼生成工具的應(yīng)用,極大提升了開(kāi)發(fā)效率。

開(kāi)機(jī)動(dòng)畫生成工具

開(kāi)發(fā)者在只有圖片集或者 mp4 文件的情況下,可以使用開(kāi)機(jī)動(dòng)畫生成工具,一鍵生成開(kāi)機(jī)動(dòng)畫文件,并支持在 PC 上查看其效果。后續(xù),該工具將實(shí)現(xiàn)一鍵進(jìn)入開(kāi)發(fā)板展現(xiàn)開(kāi)機(jī)動(dòng)畫的功能演進(jìn)。目前,開(kāi)機(jī)動(dòng)畫生成工具已支持設(shè)置開(kāi)機(jī)動(dòng)畫的分辨率、旋轉(zhuǎn)角度、翻轉(zhuǎn)鏡像等功能,也可為各發(fā)行版和定制版生成定制化開(kāi)機(jī)動(dòng)畫。

開(kāi)機(jī)動(dòng)畫生成工具已經(jīng)成功進(jìn)入 OpenHarmony master 分支供廣大開(kāi)發(fā)者使用。

代碼倉(cāng)地址:https://gitee.com/openharmony/graphic_standard/tree/master/frameworks/bootanimation/data/bootanimation_tool

HDI生成工具

當(dāng)客戶端與服務(wù)器通信時(shí),需要定義雙方都認(rèn)可的接口,以保障雙方可成功通信。IDL(Interface Definition Language) 則是一種定義此類接口的語(yǔ)言,包含面向應(yīng)用程序的北向接口和面向硬件設(shè)備的南向接口。

應(yīng)用 HDI 生成工具后,開(kāi)發(fā)者無(wú)需過(guò)多關(guān)注 IDL 的語(yǔ)法,只需定義最熟悉、最擅長(zhǎng)的 C/C++ 接口文件,使用工具,即可生成 IDL 文件。另外,現(xiàn)存的大量 C/C++ 頭文件,開(kāi)發(fā)者借此工具可以自動(dòng)將其轉(zhuǎn)換為 IDL 文件,以提高 HDI 開(kāi)發(fā)效率。

代碼倉(cāng)地址:https://gitee.com/openharmony/drivers_framework/tree/master/tools/idl-gen

技術(shù)拆解,秒懂輔助工具SIG

NAPI框架代碼生成工具

1、軟件架構(gòu)

8f8c287a-a01c-11ec-952b-dac502259ad0.png

2、代碼目錄及說(shuō)明

├── napi_tool # NAPI框架代碼生成工具│ ├── doc # 工具當(dāng)前能力、版本規(guī)劃│ ├── image # 圖片資源文件│ ├── output # 工具對(duì)應(yīng)的可執(zhí)行程序與插件程序│ ├── code # 工具源碼│ └── README # 工具使用指導(dǎo) └──README

3、使用場(chǎng)景

(1)命令行

① Windows環(huán)境

8fa98ea6-a01c-11ec-952b-dac502259ad0.png

Linux環(huán)境

8fbba24e-a01c-11ec-952b-dac502259ad0.png

(2)插件

① 插件安裝

② .d.ts 上點(diǎn)擊右鍵,選擇 .d.ts 生成 c++ 選項(xiàng),即可生成 NAPI 框架代碼。

安裝步驟:https://gitee.com/openharmony-sig/napi_generator/blob/master/docs/INSTRUCTION_ZH.md

8fe9b54e-a01c-11ec-952b-dac502259ad0.png

開(kāi)機(jī)動(dòng)畫生成工具

1、軟件架構(gòu)

開(kāi)機(jī)動(dòng)畫的壓縮格式如下,以此依據(jù),設(shè)計(jì)開(kāi)機(jī)動(dòng)畫生成工具:

struct HeaderInfo { uint32_t type; 占4個(gè)字節(jié), 固定值2 uint32_t offset; 占4個(gè)字節(jié),與上一幀對(duì)比,像素開(kāi)始不同的位置 uint32_t length; 占4個(gè)字節(jié),壓縮前數(shù)據(jù)長(zhǎng)度 uint32_t clen; 占4個(gè)字節(jié),壓縮后數(shù)據(jù)長(zhǎng)度 uint8_t mem[0]; 實(shí)際的壓縮數(shù)據(jù)}

bootanimation.raw 壓縮文件格式如下:

9002761a-a01c-11ec-952b-dac502259ad0.png

2、代碼目錄及說(shuō)明

├── bootanimation_tool # 開(kāi)機(jī)動(dòng)畫生成工具│ ├── raw_maker.py # 開(kāi)機(jī)動(dòng)畫生成│ ├── raw_player.py # 開(kāi)機(jī)動(dòng)畫查看│ └── README # 工具使用指導(dǎo)

3、使用場(chǎng)景

(1)使用方法

python raw_maker.py (-m <*.mp4> | -i ) [-o ] [-d ] [-r ] [-f]

(2)參數(shù)說(shuō)明

-h, --help # 查看命令幫助并退出-m <*.mp4>, --mp4 <*.mp4> # <*.mp4>源文件-i , --image # 源image文件存放路徑-o , --out # 制作開(kāi)機(jī)動(dòng)畫.raw 文件的輸出路徑 -d , --display # 設(shè)置開(kāi)機(jī)動(dòng)畫分辨率, 舉例:640x480-r , --rotate # 設(shè)置開(kāi)機(jī)動(dòng)畫旋轉(zhuǎn)角度, 舉例:90°,180°或270°-f,--flip#設(shè)置開(kāi)機(jī)動(dòng)畫是否翻轉(zhuǎn)

HDI生成工具

9017f300-a01c-11ec-952b-dac502259ad0.png

90340a4a-a01c-11ec-952b-dac502259ad0.png

2、代碼目錄及說(shuō)明

├──h2idl_tool # H轉(zhuǎn)IDL代碼生成工具│ ├── docs # 工具當(dāng)前能力、版本規(guī)劃│ ├── out # 生成的IDL文件│ ├── testcase # 工具的測(cè)試用例│ ├── thirdparty # 使用的三方解析庫(kù)│ ├──_header_parser.py # C/C++頭文件解析│ └── idl_generator.py # IDL文件生成

3、使用場(chǎng)景

(1)使用方法

pythonidl_generator.py-f<*.h>-o

(2)參數(shù)說(shuō)明

-h, --help # Show this help message and exit-v, --version # Display version information-f <*.h>, --file <*.h> # Compile the C/C++ header file-o,--out#Placegenerated.idlfilesintothe

審核編輯:郭婷

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

    關(guān)注

    37

    文章

    7097

    瀏覽量

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

    關(guān)注

    22

    文章

    2117

    瀏覽量

    74794

原文標(biāo)題:全面提速 | 輔助工具SIG助力OpenHarmony代碼開(kāi)發(fā)

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

收藏 人收藏

    評(píng)論

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

    潤(rùn)開(kāi)鴻推出基于OpenHarmony的桌面操作系統(tǒng)及AI PC工作站

    近日,攀升科技13周年慶典系列活動(dòng)圓滿舉辦,作為領(lǐng)先的鴻蒙方向?qū)I(yè)技術(shù)公司及終端操作系統(tǒng)發(fā)行版提供商,以及開(kāi)放原子開(kāi)源基金會(huì)OpenHarmony項(xiàng)目群A類捐贈(zèng)人和核心共建單位,江蘇潤(rùn)和軟件
    的頭像 發(fā)表于 06-03 16:25 ?175次閱讀

    基于LuatOS核心庫(kù)的實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā):從理論到實(shí)踐~

    ,降低了系統(tǒng)阻塞風(fēng)險(xiǎn)。 在LuatOS開(kāi)發(fā)中,用于實(shí)時(shí)操作系統(tǒng)(RTOS)相關(guān)功能的核心庫(kù)——提供了定時(shí)器管理、系統(tǒng)控制、內(nèi)存監(jiān)控、路徑配置等底層
    的頭像 發(fā)表于 05-16 13:56 ?116次閱讀
    基于LuatOS核心庫(kù)的實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)開(kāi)發(fā)</b>:從理論到實(shí)踐~

    求助,關(guān)于iMX DDR3寄存器編程輔助問(wèn)題求解

    我們目前正在使用 iMX6UL DDR 寄存器編程輔助工具 U-Boot 生成 DCD 表。我們的設(shè)備使用的是 MT41K128M16JT-107,即 DDR3-1866,這意味著它的時(shí)鐘周期頻率
    發(fā)表于 03-27 07:16

    國(guó)產(chǎn)銀河麒麟操作系統(tǒng)V10和星光麒麟V1.0操作系統(tǒng)如何選擇?

    國(guó)產(chǎn)銀河麒麟操作系統(tǒng)和星光麒麟操作系統(tǒng)都是由中國(guó)電子旗下科技企業(yè)麒麟軟件有限公司(簡(jiǎn)稱“麒麟軟件”)開(kāi)發(fā)的國(guó)產(chǎn)自主可控的操作系統(tǒng)。麒麟軟件介紹:麒麟軟件以安全可信
    的頭像 發(fā)表于 01-24 09:14 ?1871次閱讀
    國(guó)產(chǎn)銀河麒麟<b class='flag-5'>操作系統(tǒng)</b>V10和星光麒麟V1.0<b class='flag-5'>操作系統(tǒng)</b>如何選擇?

    deepin操作系統(tǒng)介紹

    希望從自己的能力和對(duì)桌面操作系統(tǒng)的理解,能給 Linux 的用戶與開(kāi)發(fā)者更多的選擇。我們也相信 deepin 能夠得到更多用戶的認(rèn)可與喜愛(ài),成為開(kāi)源世界的最佳選擇。? 一、 deepin 操作系統(tǒng) 先說(shuō) Linux
    的頭像 發(fā)表于 12-23 09:08 ?2078次閱讀
    deepin<b class='flag-5'>操作系統(tǒng)</b>介紹

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.53】鴻蒙操作系統(tǒng)設(shè)計(jì)原理與架構(gòu)

    的底層設(shè)計(jì)邏輯出發(fā),針對(duì)不同關(guān)鍵子系統(tǒng)的目標(biāo)功能和實(shí)現(xiàn)路徑做實(shí)際分析解讀,幫助開(kāi)發(fā)者理解鴻蒙操作系統(tǒng)的底層邏輯,開(kāi)發(fā)更適合系統(tǒng)邏輯的架構(gòu)代碼
    發(fā)表于 12-16 15:10

    RK3588開(kāi)發(fā)板Android系統(tǒng)開(kāi)發(fā)筆記-使用ADB工具

    工具在網(wǎng)盤資料“iTOP-3588 開(kāi)發(fā)板\\\\02_【iTOP-RK3588 開(kāi)發(fā)板】開(kāi)發(fā)資料\\\\ 07_Android 系統(tǒng)開(kāi)發(fā)
    發(fā)表于 11-27 10:39

    實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā)工具:鴻道Intewell Developer介紹

    鴻道Intewell Developer是鴻道Intewell操作系統(tǒng)的實(shí)時(shí)應(yīng)用開(kāi)發(fā)環(huán)境,擁有可視化的操作界面,提供規(guī)范、統(tǒng)一、集中的配置入口,提供項(xiàng)目管理、編程開(kāi)發(fā)環(huán)境、目標(biāo)機(jī)配置管
    的頭像 發(fā)表于 11-04 14:51 ?565次閱讀
    實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)開(kāi)發(fā)工具</b>:鴻道Intewell Developer介紹

    全新原生鴻蒙HarmonyOS NEXT發(fā)布,書寫國(guó)產(chǎn)操作系統(tǒng)新篇章!同時(shí),觸覺(jué)智能發(fā)布OpenHarmony5.0固件

    10月22日,華為舉行“原生鴻蒙之夜暨華為全場(chǎng)景新品發(fā)布會(huì)”,正式用戶帶來(lái)基于OpenHarmony打造的全新原生鴻蒙操作系統(tǒng)HarmonyOS NEXT和華為多個(gè)全場(chǎng)景智能設(shè)備新品。與此同時(shí),觸覺(jué)智能旗下鴻蒙
    的頭像 發(fā)表于 10-28 13:46 ?1348次閱讀
    全新原生鴻蒙HarmonyOS NEXT發(fā)布,書寫國(guó)產(chǎn)<b class='flag-5'>操作系統(tǒng)</b>新篇章!同時(shí),觸覺(jué)智能發(fā)布<b class='flag-5'>OpenHarmony</b>5.0固件

    利用仿真技術(shù)進(jìn)行智能制動(dòng)系統(tǒng)開(kāi)發(fā)

    在當(dāng)前的汽車行業(yè)中,安全性仍然是首要關(guān)注點(diǎn)之一。自動(dòng)緊急制動(dòng)系統(tǒng)(AEB)作為增強(qiáng)道路安全的核心技術(shù),正逐漸普及。該系統(tǒng)通過(guò)高級(jí)傳感器和算法來(lái)預(yù)測(cè)和應(yīng)對(duì)潛在的撞車風(fēng)險(xiǎn),極大提升了安全性。在 AEB 系統(tǒng)
    的頭像 發(fā)表于 09-05 09:38 ?688次閱讀
    <b class='flag-5'>利用</b>仿真技術(shù)進(jìn)行智能制動(dòng)<b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>開(kāi)發(fā)</b>

    基于Openharmony輕量級(jí)操作系統(tǒng)的分布式數(shù)據(jù)管理開(kāi)發(fā)案例

    實(shí)驗(yàn)內(nèi)容本例程演示如何在小凌派-RK2206開(kāi)發(fā)板上使用OpenHarmony輕量級(jí)操作系統(tǒng)進(jìn)行KvStore(即分布式數(shù)據(jù)管理)數(shù)據(jù)讀寫。例程:(1)創(chuàng)建兩個(gè)線程,一個(gè)負(fù)責(zé)寫入KvStore存儲(chǔ)
    的頭像 發(fā)表于 08-07 08:23 ?1485次閱讀
    基于<b class='flag-5'>Openharmony</b>輕量級(jí)<b class='flag-5'>操作系統(tǒng)</b>的分布式數(shù)據(jù)管理<b class='flag-5'>開(kāi)發(fā)</b>案例

    鴻蒙OpenHarmony南向/北向快速開(kāi)發(fā)教程-迅RK3568開(kāi)發(fā)

    4.1學(xué)習(xí)之旅了嗎?快來(lái)加入我們,一起探索鴻蒙4.1系統(tǒng)的無(wú)限魅力吧! 【北京迅OpenHarmony學(xué)習(xí)開(kāi)發(fā)系列教程(第1期 北向基礎(chǔ)篇一) P0_先導(dǎo)課 P1_
    發(fā)表于 07-23 10:44

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.38】OpenHarmony開(kāi)發(fā)與實(shí)踐 | 基于紅莓RK2206開(kāi)發(fā)

    OpenHarmony操作系統(tǒng)開(kāi)發(fā)和應(yīng)用的工程師、學(xué)生等讀者,也適合想要了解OpenHarmony操作系統(tǒng)的技術(shù)愛(ài)好者和初學(xué)者。讀者應(yīng)具備一定的嵌入式
    發(fā)表于 07-19 10:57

    嵌入式實(shí)時(shí)操作系統(tǒng):Intewell操作系統(tǒng)與VxWorks操作系統(tǒng)有啥區(qū)別

    Intewell操作系統(tǒng)和VxWorks操作系統(tǒng)都是工業(yè)領(lǐng)域常用的操作系統(tǒng),它們各有特點(diǎn)和優(yōu)勢(shì)。以下是它們之間的一些主要區(qū)別:
    的頭像 發(fā)表于 07-08 14:16 ?722次閱讀
    嵌入式實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)</b>:Intewell<b class='flag-5'>操作系統(tǒng)</b>與VxWorks<b class='flag-5'>操作系統(tǒng)</b>有啥區(qū)別

    龍芯2K0300蜂鳥(niǎo)板支持OpenHarmony 4.0 Release版本操作系統(tǒng)

    OpenHarmony操作系統(tǒng),可以為開(kāi)發(fā)者提供更多的選擇。本次發(fā)售的2K0300蜂鳥(niǎo)開(kāi)發(fā)板內(nèi)置OpenHarmony 4.0 Relea
    發(fā)表于 06-20 10:02
    主站蜘蛛池模板: 男人天堂伊人网 | 激情丁香婷婷 | 免费大片黄在线观看 | 狠狠色噜狠狠狠狠 | 精品一区二区影院在线 | 日本特级黄色录像 | 五月综合激情久久婷婷 | 四色成人网 | 免费看欧美理论片在线 | 国产中文99视频在线观看 | 日本一区二区视频 | 狠狠操狠狠 | 未成人禁止视频高清在线观看 | 影音先锋午夜资源网站 | 婷婷六 | 性做久久久久久免费观看 | 国产精品午夜在线观看 | 俺来也俺去啦久久综合网 | 亚洲黄色成人 | 欧美色啪 | 国产吧在线视频 | 四虎影视最新地址 | 日本一卡二卡≡卡四卡精品 | 高清欧美性xxxx成熟 | 欧美成人午夜片一一在线观看 | 国产三级影院 | 国产色综合一区二区三区 | 一色桃子juy774在线播放 | 伊在线视频 | 久久亚洲国产成人精品性色 | 欧美操操操操 | 草草影院ccyy国产日本欧美 | 91操碰| 欧洲mv日韩mv国产mv | 欧美xxxx性高清 | 99精品国产在热久久 | 亚洲精品久久久久久婷婷 | 激情久久久久久久久久久 | 2020天天干 | 色丁香婷婷 | 天天做天天爱天天大综合 |