亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

鴻蒙三方庫(kù)適配指南

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

掃碼添加小助手

加入工程師交流群

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

獲取三方庫(kù)

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

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

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

移植三方庫(kù)

三方庫(kù)移植主要需要以下四步。

linux 編譯

編譯三方庫(kù):

如果原三方庫(kù)根目錄存在 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)鏈接庫(kù)和測(cè)試用的可執(zhí)行文件所需要的源文件和頭文件、編譯添加的 cflag 和其他編譯器參數(shù),以及編譯需要的鏈接庫(kù)。

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

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

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

②OpenHarmony 適配

三方庫(kù)一般放置在 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ù)三方庫(kù)的引用方式來確定,并不需要每步都配置。如果當(dāng)前模塊是需要添加到已經(jīng)有的部件或子系統(tǒng),就只需要配置 1 和 2 步即可。

③增量編譯

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

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

注:三方庫(kù)名稱 --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)鏈接庫(kù)和測(cè)試用的可執(zhí)行文件在 out 目錄下。例如:

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

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

④驗(yàn)證接口

將編譯好的動(dòng)態(tài)庫(kù)和測(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)庫(kù)

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

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

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

先編譯動(dòng)態(tài)庫(kù),然后放在板子指定路徑,然后通過 dlopen 導(dǎo)入動(dòng)態(tài)庫(kù),最后在代碼中通過句柄調(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

    文章

    2316

    瀏覽量

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

    關(guān)注

    1

    文章

    406

    瀏覽量

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

    關(guān)注

    0

    文章

    682

    瀏覽量

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

    關(guān)注

    60

    文章

    2754

    瀏覽量

    45155
  • OpenHarmony
    +關(guān)注

    關(guān)注

    31

    文章

    3898

    瀏覽量

    20530

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    貨拉拉開源兩款三方庫(kù),為鴻蒙應(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í)用三方庫(kù)——AspectPr
    的頭像 發(fā)表于 08-26 14:02 ?354次閱讀
    貨拉拉開源兩款<b class='flag-5'>三方</b><b class='flag-5'>庫(kù)</b>,為<b class='flag-5'>鴻蒙</b>應(yīng)用高效開發(fā)貢獻(xiàn)力量

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

    本期內(nèi)容由AI Model SIG提供,介紹了在開源鴻蒙中,利用sherpa_onnx開源三方庫(kù)進(jìn)行ASR語(yǔ)音識(shí)別與TTS語(yǔ)音合成應(yīng)用開發(fā)的流程。
    的頭像 發(fā)表于 08-25 14:26 ?3269次閱讀
    基于開源<b class='flag-5'>鴻蒙</b>的語(yǔ)音識(shí)別及語(yǔ)音合成應(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 ?517次閱讀
    電子測(cè)試行業(yè)中的第<b class='flag-5'>三方</b>檢測(cè)機(jī)構(gòu)如何解決平臺(tái)靈活度低,維護(hù)困難等痛點(diǎn)問題?

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

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

    天合跟蹤獲得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 ?571次閱讀

    HarmonyOS入門指南

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

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

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

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

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

    Get這個(gè)秘籍,鴻蒙原生應(yīng)用頁(yè)面滑動(dòng)絲滑無(wú)比

    “OpenHarmony官網(wǎng)”,點(diǎn)擊“開發(fā)者”——>“三方庫(kù)中心倉(cāng)”——>搜索“nodepool”,下載使用。 更多關(guān)于“nodepool”的詳細(xì)信息和使用指南,請(qǐng)?jiān)L問官網(wǎng)鏈接
    發(fā)表于 03-06 14:41

    鴻蒙文件傳輸三方庫(kù)上線開源鴻蒙社區(qū) 十行代碼實(shí)現(xiàn)大文件高速傳輸

    近日,華為在OpenHarmony社區(qū)上線了“super_fast_file_trans”文件傳輸三方庫(kù)(以下簡(jiǎn)稱“SFFT”)。這一三方庫(kù)的推出,為開發(fā)者提供了一套支持大文件多線程并
    發(fā)表于 03-06 10:29

    EE-303:將VisualDSP線程安全庫(kù)與第三方RTOS配合使用

    電子發(fā)燒友網(wǎng)站提供《EE-303:將VisualDSP線程安全庫(kù)與第三方RTOS配合使用.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 14:09 ?0次下載
    EE-303:將VisualDSP線程安全<b class='flag-5'>庫(kù)</b>與第<b class='flag-5'>三方</b>RTOS配合使用

    鴻蒙原生頁(yè)面高性能解決方案上線OpenHarmony社區(qū) 助力打造高性能原生應(yīng)用

    NEXT的原生頁(yè)面高性能解決方案,從頁(yè)面滑動(dòng)、跳轉(zhuǎn)及應(yīng)用冷啟動(dòng)等關(guān)鍵環(huán)節(jié),為開發(fā)者提供全面的支持。目前,這些解決方案均已上線OpenHarmony開源社區(qū),可在OpenHarmony三方庫(kù)中心倉(cāng)進(jìn)行搜索,歡迎開發(fā)者多多使用和共建,打造更極致性能的
    發(fā)表于 01-02 18:00

    AKI跨語(yǔ)言調(diào)用庫(kù)神助攻C/C++代碼遷移至HarmonyOS NEXT

    ,AKI已上線OpenHarmony開源社區(qū),“OpenHarmony三方庫(kù)中心倉(cāng)網(wǎng)站”搜索“AKI”即可了解體驗(yàn)。期待更多廠商和開發(fā)者下載使用并參與共建,打造更高性能的鴻蒙應(yīng)用,共同推進(jìn)鴻蒙
    發(fā)表于 01-02 17:08

    鴻蒙Flutter實(shí)戰(zhàn):14-現(xiàn)有Flutter 項(xiàng)目支持鴻蒙 II

    : path: \'../../modules/me\' support: path: \'../../modules/support\' 三方庫(kù)鴻蒙適配 編輯 pubspec.
    發(fā)表于 12-26 14:59

    三方檢測(cè)機(jī)構(gòu)該如何提升核心競(jìng)爭(zhēng)力?

    在國(guó)家“一帶一路”和“智能制造2025”等政策的引領(lǐng)下,面對(duì)競(jìng)爭(zhēng)日益激烈的國(guó)際環(huán)境,作為全球最大的制造業(yè)國(guó)家,中國(guó)的檢測(cè)行業(yè)正經(jīng)歷著迅猛的發(fā)展,成為全球增長(zhǎng)最快、潛力最大的市場(chǎng)之一。 第三方檢測(cè)逐漸
    的頭像 發(fā)表于 12-17 15:44 ?1116次閱讀
    第<b class='flag-5'>三方</b>檢測(cè)機(jī)構(gòu)該如何提升核心競(jìng)爭(zhēng)力?