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

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

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

3天內不再提示

鴻蒙三方庫適配指南

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

掃碼添加小助手

加入工程師交流群

本文以 OpenHarmony-3.2-Beta4 上適配 modbus 編譯動態庫為例。

獲取三方庫

使用之前要做好代碼溯源,確認可用的版本,開源許可和發布方式等。

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

官網:https://libmodbus.org/
github:https://github.com/stephane/libmodbus

移植三方庫

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

linux 編譯

編譯三方庫:

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

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

分析編譯過程:提取編譯動態鏈接庫和測試用的可執行文件所需要的源文件和頭文件、編譯添加的 cflag 和其他編譯器參數,以及編譯需要的鏈接庫。

根據三方庫的編譯有兩種情況:

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

使用 Makefile.am 構建的三方庫,分析 make.am 內容,分析編譯動態鏈接庫和測試用的可執行文件需要的源文件,添加的編譯器參數。鏈接庫則通過分析 makefile 文件提取。

②OpenHarmony 適配

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

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

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

部件名:modbus_part_name = “libmodbus”

子系統名:modbus_subsystem_name = “modbus”

新增子系統和部件名的方式:

(1)在模塊目錄下配置 BUILD.gn,根據模板類型選擇對應的 gn 模板。

third_party/libmodbus/BUILD.gn
(2)在新建的子系統目錄下每個部件對應的文件夾下創建 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} 目錄下的產品配置如 product-name 是 hispark_taurus_standard 時,在 config.json 中添加對應的部件,直接添加到原有部件后即可。
productdefinecommoninheritrich.json
e126aa94-ab9b-11ed-bfe3-dac502259ad0.png

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

③增量編譯

編譯動態鏈接庫和可執行文件:

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

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

–target-cpuarm64

例如:

./build.sh--product-namerk3568--ccache-Tlibmodbus
編譯過程可能出現報錯,根據報錯信息調整 gn。消除編譯警告,例如:
-Wimplicit-function-declaration
改為:
-Wno-implicit-function-declaration

加到 gn的 cflags 信息里面。

編譯成功生成的動態鏈接庫和測試用的可執行文件在 out 目錄下。例如:

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

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

④驗證接口

將編譯好的動態庫和測試用例的可執行文件推送到開發板上。然后驗證是否成功,保證測試用例都能在開發板上運行通過。

API 接口是提供給北向調用的,實現指定的功能,使用者不需要了解其內部具體實現。按照業務需要提供 native 和 js 接口。

引用方式

①靜態庫

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

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

②動態庫

先編譯動態庫,然后放在板子指定路徑,然后通過 dlopen 導入動態庫,最后在代碼中通過句柄調引用接口。

例如:

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

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

    關注

    28

    文章

    2457

    瀏覽量

    83184
  • 移植
    +關注

    關注

    1

    文章

    414

    瀏覽量

    29388
  • 編譯
    +關注

    關注

    0

    文章

    694

    瀏覽量

    35157
  • 鴻蒙
    +關注

    關注

    60

    文章

    2963

    瀏覽量

    45883
  • OpenHarmony
    +關注

    關注

    33

    文章

    3952

    瀏覽量

    21093

原文標題:鴻蒙三方庫適配指南

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32W031調制頻率的話有第三方軟件工具么?

    請問,CW32W031調制頻率的話,有第三方軟件工具么?仿真軟件也行
    發表于 01-19 06:54

    貨拉拉開源兩款三方,為鴻蒙應用高效開發貢獻力量

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

    基于開源鴻蒙的語音識別及語音合成應用開發樣例

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

    電子測試行業中的第三方檢測機構如何解決平臺靈活度低,維護困難等痛點問題?

    維護難,以及數據報告格式種類繁雜、產品對應軟件開發耗時耗力等問題。而 ATECLOUD 智能云測試平臺的出現,為該機構帶來了轉機,成功助力其優化第三方來料測試流程。? 第三方檢測機構測試 痛點剖析? 產品與系統適配難題:該檢
    的頭像 發表于 08-06 17:07 ?807次閱讀
    電子測試行業中的第<b class='flag-5'>三方</b>檢測機構如何解決平臺靈活度低,維護困難等痛點問題?

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

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

    飛書富文本組件RichTextVista開源

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

    如何集成第三方支付API到電商網站

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

    天合跟蹤獲得DNV第三方風洞測試審查報告

    近日, 天合跟蹤獲得DNV頒發的中國支架行業首張風洞實驗第三方審查報告。該風洞報告由天合跟蹤與同濟大學合作,針對開拓者1P跟蹤支架進行了全新的剛性模型測壓試驗和先進動力學分析研究,并由DNV進行獨立
    的頭像 發表于 07-08 17:35 ?935次閱讀

    HarmonyOS入門指南

    OpenHarmony三方中心倉 堅果派 童長老倉庫中心 鴻蒙寶典 一本快速學習鴻蒙的電子書 promises-book JavaScript Promise迷你書。 harmon
    的頭像 發表于 06-27 00:11 ?785次閱讀

    三方工業互聯網平臺有哪些

    三方工業互聯網平臺有哪些
    的頭像 發表于 06-14 15:48 ?1107次閱讀

    鴻蒙5開發寶藏案例分享---切面編程實戰揭秘

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

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

    解決嵌套問題,其好處是可以零修改無痛兼容業務現有組件和第三方組件,但一點不足的是,這事實上把本該是父子關系的自定義節點及其子節點,變為了兄弟節點,當業務需要對自定義節點進行一些特別操作,如
    發表于 06-04 16:46

    快手上線鴻蒙應用高性能解決方案

    近日,快手在Gitee平臺上線了鴻蒙應用性能優化解決方案“QuickTransformer”,該方案針對鴻蒙應用開發中廣泛使用的三方“class-transformer”進行了深度優
    的頭像 發表于 05-14 09:11 ?1207次閱讀
    快手上線<b class='flag-5'>鴻蒙</b>應用高性能解決方案

    Get這個秘籍,鴻蒙原生應用頁面滑動絲滑無比

    “OpenHarmony官網”,點擊“開發者”——>“三方中心倉”——>搜索“nodepool”,下載使用。 更多關于“nodepool”的詳細信息和使用指南,請訪問官網鏈接
    發表于 03-06 14:41

    鴻蒙文件傳輸三方上線開源鴻蒙社區 十行代碼實現大文件高速傳輸

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