哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

鴻蒙三方庫適配指南

OpenHarmony技術(shù)社區(qū) ? 來源:OST開源開發(fā)者 ? 2023-02-14 09:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文以 OpenHarmony-3.2-Beta4 上適配 modbus 編譯動(dòng)態(tài)庫為例。

獲取三方庫

使用之前要做好代碼溯源,確認(rèn)可用的版本,開源許可和發(fā)布方式等。

通過正確的路徑獲取源碼,可以是官網(wǎng),或者指定托管的 github 或者 gitee 倉。

官網(wǎng):https://libmodbus.org/
github:https://github.com/stephane/libmodbus

移植三方庫

三方庫移植主要需要以下四步。

linux 編譯

編譯三方庫:

如果原三方庫根目錄存在 CMakeLists.txt 文件,新建 build 目錄,通過 cmake 生成 makeflie 然后 make。

如果根目錄存在 autogen.sh 或 configure.ac 文件,使用 Makefile.am 構(gòu)建,先執(zhí)行 ./autogen.sh,再執(zhí)行 ./configure 命令生成 Makefile,最后 make 和 make install。

分析編譯過程:提取編譯動(dòng)態(tài)鏈接庫和測(cè)試用的可執(zhí)行文件所需要的源文件和頭文件、編譯添加的 cflag 和其他編譯器參數(shù),以及編譯需要的鏈接庫。

根據(jù)三方庫的編譯有兩種情況:

在 cmake 生成 makefile 的過程中,分析 build.make(生成目標(biāo)的源文件)、depend.make(需要依賴的其他 C 源文件)、flags.make(cflags 相關(guān)標(biāo)記)、link.txt(鏈接庫相關(guān)信息)等得出三方庫對(duì)應(yīng)的依賴關(guān)系。

使用 Makefile.am 構(gòu)建的三方庫,分析 make.am 內(nèi)容,分析編譯動(dòng)態(tài)鏈接庫和測(cè)試用的可執(zhí)行文件需要的源文件,添加的編譯器參數(shù)。鏈接庫則通過分析 makefile 文件提取。

②OpenHarmony 適配

三方庫一般放置在 third_party 目錄下。

編譯之前要增加模塊配置,可以參考以下鏈接:

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-build-module.md#新增并編譯模塊

部件名:modbus_part_name = “l(fā)ibmodbus”

子系統(tǒng)名:modbus_subsystem_name = “modbus”

新增子系統(tǒng)和部件名的方式:

(1)在模塊目錄下配置 BUILD.gn,根據(jù)模板類型選擇對(duì)應(yīng)的 gn 模板。

third_party/libmodbus/BUILD.gn
(2)在新建的子系統(tǒng)目錄下每個(gè)部件對(duì)應(yīng)的文件夾下創(chuàng)建 bundle.json 文件,定義部件信息。
third_party/libmodbus/bundle.json
(3)修改 build 目錄下的 subsystem_config.json 文件。
buildsubsystem_config.json
e107d7d6-ab9b-11ed-bfe3-dac502259ad0.png (4)在 vendor/{product_company}/{product-name} 目錄下的產(chǎn)品配置如 product-name 是 hispark_taurus_standard 時(shí),在 config.json 中添加對(duì)應(yīng)的部件,直接添加到原有部件后即可。
productdefinecommoninheritrich.json
e126aa94-ab9b-11ed-bfe3-dac502259ad0.png

這幾步適配都需要根據(jù)三方庫的引用方式來確定,并不需要每步都配置。如果當(dāng)前模塊是需要添加到已經(jīng)有的部件或子系統(tǒng),就只需要配置 1 和 2 步即可。

③增量編譯

編譯動(dòng)態(tài)鏈接庫和可執(zhí)行文件:

./build.sh--product-namerk3568--ccache--build-target

注:三方庫名稱 --target-cpu arm64,ohos 到 3.2 版本之后,默認(rèn)編譯的都是 32 位系統(tǒng),若要支持 64 位系統(tǒng),在編譯命令中添加:

–target-cpuarm64

例如:

./build.sh--product-namerk3568--ccache-Tlibmodbus
編譯過程可能出現(xiàn)報(bào)錯(cuò),根據(jù)報(bào)錯(cuò)信息調(diào)整 gn。消除編譯警告,例如:
-Wimplicit-function-declaration
改為:
-Wno-implicit-function-declaration

加到 gn的 cflags 信息里面。

編譯成功生成的動(dòng)態(tài)鏈接庫和測(cè)試用的可執(zhí)行文件在 out 目錄下。例如:

out/rk3568/modbus/libmodbus/libmodbus.z.so

e1429b3c-ab9b-11ed-bfe3-dac502259ad0.png

④驗(yàn)證接口

將編譯好的動(dòng)態(tài)庫和測(cè)試用例的可執(zhí)行文件推送到開發(fā)板上。然后驗(yàn)證是否成功,保證測(cè)試用例都能在開發(fā)板上運(yùn)行通過。

API 接口是提供給北向調(diào)用的,實(shí)現(xiàn)指定的功能,使用者不需要了解其內(nèi)部具體實(shí)現(xiàn)。按照業(yè)務(wù)需要提供 native 和 js 接口。

引用方式

①靜態(tài)庫

在部件中需要使用的 gn 中配置 deps 項(xiàng),然后在代碼中直接引用接口。

“//third_party/libmodbus:modbus”,
例如: e1564cf4-ab9b-11ed-bfe3-dac502259ad0.png

②動(dòng)態(tài)庫

先編譯動(dòng)態(tài)庫,然后放在板子指定路徑,然后通過 dlopen 導(dǎo)入動(dòng)態(tài)庫,最后在代碼中通過句柄調(diào)引用接口。

例如:

if(handle==nullptr){
MMI_HILOGE("Openfailed,soname:%{public}s,msg:%{public}s",pluginPath.data(),dlerror());
returnfalse;
}

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

    關(guān)注

    28

    文章

    2502

    瀏覽量

    83698
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    29518
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    696

    瀏覽量

    35261
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    3003

    瀏覽量

    46142
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3967

    瀏覽量

    21329

原文標(biāo)題:鴻蒙三方庫適配指南

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    為什么MES企業(yè)要跟第三方機(jī)構(gòu)合作設(shè)備數(shù)據(jù)采集?

    綜上考慮,多數(shù)MES企業(yè)都不直接承接設(shè)備數(shù)據(jù)采集業(yè)務(wù),而是選擇和第三方機(jī)構(gòu)合作。畢竟第三方機(jī)構(gòu)長(zhǎng)期耕耘這一領(lǐng)域,擁有成熟的產(chǎn)品體系、完善的技術(shù)路線以及專業(yè)的現(xiàn)場(chǎng)施工團(tuán)隊(duì),能夠快速應(yīng)對(duì)各類現(xiàn)場(chǎng)難題,將
    的頭像 發(fā)表于 03-19 15:03 ?805次閱讀
    為什么MES企業(yè)要跟第<b class='flag-5'>三方</b>機(jī)構(gòu)合作設(shè)備數(shù)據(jù)采集?

    蘋果17可以無線充電嗎?第三方配件怎么選?

    iPhone 17無線充電提升車載體驗(yàn),支持Qi2.2,磁吸強(qiáng)、散熱好,第三方配件需認(rèn)準(zhǔn)MFM認(rèn)證。
    的頭像 發(fā)表于 03-19 08:17 ?706次閱讀
    蘋果17可以無線充電嗎?第<b class='flag-5'>三方</b>配件怎么選?

    CW32W031調(diào)制頻率的話有第三方軟件工具么?

    請(qǐng)問,CW32W031調(diào)制頻率的話,有第三方軟件工具么?仿真軟件也行
    發(fā)表于 01-19 06:54

    貨拉拉開源兩款三方,為鴻蒙應(yīng)用高效開發(fā)貢獻(xiàn)力量

    、可擴(kuò)展的通用工具,持續(xù)提升鴻蒙應(yīng)用的創(chuàng)新體驗(yàn)與開發(fā)效率。 在這一生態(tài)共建的浪潮中,貨拉拉積極貢獻(xiàn)了其在鴻蒙應(yīng)用開發(fā)過程中的寶貴經(jīng)驗(yàn)與技術(shù)積累,開源了兩款實(shí)用三方——AspectPr
    的頭像 發(fā)表于 08-26 14:02 ?639次閱讀
    貨拉拉開源兩款<b class='flag-5'>三方</b><b class='flag-5'>庫</b>,為<b class='flag-5'>鴻蒙</b>應(yīng)用高效開發(fā)貢獻(xiàn)力量

    基于開源鴻蒙的語音識(shí)別及語音合成應(yīng)用開發(fā)樣例

    本期內(nèi)容由AI Model SIG提供,介紹了在開源鴻蒙中,利用sherpa_onnx開源三方進(jìn)行ASR語音識(shí)別與TTS語音合成應(yīng)用開發(fā)的流程。
    的頭像 發(fā)表于 08-25 14:26 ?4403次閱讀
    基于開源<b class='flag-5'>鴻蒙</b>的語音識(shí)別及語音合成應(yīng)用開發(fā)樣例

    電子測(cè)試行業(yè)中的第三方檢測(cè)機(jī)構(gòu)如何解決平臺(tái)靈活度低,維護(hù)困難等痛點(diǎn)問題?

    維護(hù)難,以及數(shù)據(jù)報(bào)告格式種類繁雜、產(chǎn)品對(duì)應(yīng)軟件開發(fā)耗時(shí)耗力等問題。而 ATECLOUD 智能云測(cè)試平臺(tái)的出現(xiàn),為該機(jī)構(gòu)帶來了轉(zhuǎn)機(jī),成功助力其優(yōu)化第三方來料測(cè)試流程。? 第三方檢測(cè)機(jī)構(gòu)測(cè)試 痛點(diǎn)剖析? 產(chǎn)品與系統(tǒng)適配難題:該檢
    的頭像 發(fā)表于 08-06 17:07 ?932次閱讀
    電子測(cè)試行業(yè)中的第<b class='flag-5'>三方</b>檢測(cè)機(jī)構(gòu)如何解決平臺(tái)靈活度低,維護(hù)困難等痛點(diǎn)問題?

    鴻蒙非侵入式彈窗新解法,企查查正式開源“QuickDialog”彈窗組件

    近日,企查查將其自研的鴻蒙彈窗組件“QuickDialog”開源,并上線至?OpenHarmony 三方中心倉。這是鴻蒙生態(tài)首個(gè)支持“彈
    的頭像 發(fā)表于 07-31 10:40 ?814次閱讀
    <b class='flag-5'>鴻蒙</b>非侵入式彈窗新解法,企查查正式開源“QuickDialog”彈窗組件<b class='flag-5'>庫</b>

    飛書富文本組件RichTextVista開源

    近日,飛書正式將其自研的富文本組件 RichTextVista(簡(jiǎn)稱“RTV”)開源,并上線OpenHarmony 三方中心倉。該組件以領(lǐng)先的性能、流暢的渲染體驗(yàn)與高度的開放性,為鴻蒙
    的頭像 發(fā)表于 07-16 16:47 ?1114次閱讀

    如何集成第三方支付API到電商網(wǎng)站

    ? 在電商網(wǎng)站中,集成第三方支付API是確保交易安全、提升用戶體驗(yàn)的關(guān)鍵步驟。本文將逐步指導(dǎo)您完成整個(gè)流程,從選擇支付提供商到上線后的監(jiān)控。文章結(jié)構(gòu)清晰,包含代碼示例和實(shí)用建議,幫助您高效實(shí)現(xiàn)支付
    的頭像 發(fā)表于 07-16 10:35 ?706次閱讀
    如何集成第<b class='flag-5'>三方</b>支付API到電商網(wǎng)站

    天合跟蹤獲得DNV第三方風(fēng)洞測(cè)試審查報(bào)告

    近日, 天合跟蹤獲得DNV頒發(fā)的中國(guó)支架行業(yè)首張風(fēng)洞實(shí)驗(yàn)第三方審查報(bào)告。該風(fēng)洞報(bào)告由天合跟蹤與同濟(jì)大學(xué)合作,針對(duì)開拓者1P跟蹤支架進(jìn)行了全新的剛性模型測(cè)壓試驗(yàn)和先進(jìn)動(dòng)力學(xué)分析研究,并由DNV進(jìn)行獨(dú)立
    的頭像 發(fā)表于 07-08 17:35 ?1069次閱讀

    HarmonyOS入門指南

    OpenHarmony三方中心倉 堅(jiān)果派 童長(zhǎng)老倉庫中心 鴻蒙寶典 一本快速學(xué)習(xí)鴻蒙的電子書 promises-book JavaScript Promise迷你書。 harmon
    的頭像 發(fā)表于 06-27 00:11 ?900次閱讀

    三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些

    三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些
    的頭像 發(fā)表于 06-14 15:48 ?1390次閱讀

    鴻蒙5開發(fā)寶藏案例分享---切面編程實(shí)戰(zhàn)揭秘

    版) ? 無侵入式監(jiān)控 ? 三方安全加固 ? 差異化子類定制 官方文檔藏得深,但實(shí)際用起來真香!建議大家收藏本文案例,關(guān)鍵時(shí)刻能省80%的加班時(shí)間~ **遇到問題歡迎在評(píng)論區(qū)交流,一起玩轉(zhuǎn)鴻蒙黑科技! **?
    發(fā)表于 06-12 16:21

    小鵬汽車出席東盟-中國(guó)-海合會(huì)三方經(jīng)濟(jì)論壇

    近日,東盟-中國(guó)-海合會(huì)三方經(jīng)濟(jì)論壇于馬來西亞吉隆坡盛大開幕,中國(guó)新能源汽車領(lǐng)軍企業(yè)代表小鵬汽車受邀出席開幕式及系列活動(dòng)。
    的頭像 發(fā)表于 06-04 15:42 ?859次閱讀

    快手上線鴻蒙應(yīng)用高性能解決方案

    近日,快手在Gitee平臺(tái)上線了鴻蒙應(yīng)用性能優(yōu)化解決方案“QuickTransformer”,該方案針對(duì)鴻蒙應(yīng)用開發(fā)中廣泛使用的三方“class-transformer”進(jìn)行了深度優(yōu)
    的頭像 發(fā)表于 05-14 09:11 ?1288次閱讀
    快手上線<b class='flag-5'>鴻蒙</b>應(yīng)用高性能解決方案
    股票| 茶陵县| 安吉县| 徐州市| 呼伦贝尔市| 绍兴县| 达孜县| 无锡市| 蓬安县| 新绛县| 佛山市| 正宁县| 阿鲁科尔沁旗| 曲松县| 曲沃县| 泸溪县| 新源县| 长岭县| 兴山县| 泸水县| 卓资县| 奉贤区| 曲阜市| 小金县| 永寿县| 孟村| 晋州市| 镶黄旗| 方正县| 常州市| 乳山市| 孝昌县| 翁源县| 潜江市| 夏邑县| 荥阳市| 阜阳市| 宁陵县| 松滋市| 平潭县| 金华市|