本文來源電子發(fā)燒友社區(qū),作者:yuzhiwen1986, 帖子地址:https://bbs.elecfans.com/jishu_2310574_1_1.html
實(shí)驗(yàn)描述
以九聯(lián)科技Unionpi Tiger開發(fā)板為平臺(tái),移植倉(cāng)庫(kù)中的GPIO代碼到開發(fā)板中,源代碼倉(cāng)庫(kù)如下:
https://gitee.com/openharmony/vendor_unionman/tree/master/unionpi_tiger/sample/hardware/gpio
因?yàn)榫幾g問題前后斷斷續(xù)續(xù)搞了一個(gè)禮拜沒有成功,最后再FAE的支持下搞定。本文中主要記錄編譯過程中遇到的問題。解決這個(gè)問題之后后面的I2C/UART的代碼編譯也就類似的修改。文中以GPIO為例子,根據(jù)代碼可知本次實(shí)驗(yàn)主要實(shí)現(xiàn)配置GPIO 輸出,并獲取GPIO模式并打印。
修改代碼
首先把GPIO的整個(gè)文件夾拷貝到某個(gè)目錄下,我這里復(fù)制都o(jì)penhamony/vendor/uniopi/unionpi_tiger/sample/hardware/下面,并在/openharmony/device/unionpi/a311d/BUILD.gn文件中增加該文件的路徑。如下:
在GIPO 目錄下打開Build.gn問價(jià)增加如下內(nèi)容:
import("http://drivers/adapter/uhdf2/uhdf.gni")
...
ohos_executable("gpio_hdf") {
sources = [ "hdf/gpio_hdf.cpp" ]
output_name = "gpio"
include_dirs = [
"http://drivers/framework/include/platform",
"http://third_party/bounds_checking_function/include",
]
deps = [
"http://drivers/adapter/uhdf2/platform:libhdf_platform",
]
...
install_enable = true
install_images = [ "vendor" ]
module_install_dir = "bin"
part_name = "unionpi_products"
源碼編譯
進(jìn)入源碼目錄,執(zhí)行如下命令進(jìn)行版本編譯,編譯完成后,效果如下:


獲取固件
編譯完成后對(duì)進(jìn)行鏡像進(jìn)行打包然后燒寫。如下是固件打包:
打包好之后會(huì)指出固件的生成目錄,根據(jù)目錄提示拷貝到Widows 環(huán)境下,試用燒錄工具,根據(jù)用戶手冊(cè)把Image燒錄到開發(fā)板
固件測(cè)試
進(jìn)入到openharmony 環(huán)境里可以看到編譯出來的可執(zhí)行文件在/verdor/bin目錄下
輸入./gpio_test 或者./gpio_test +參數(shù)查看返回值

遇到的問題
編譯過程中一直碰到以下編譯ERROR網(wǎng)上也搜了不少材料,之前一直也懷疑是頭文件哪里引用的問題。多次更換編譯文件位置未果。在FAE的指導(dǎo)下修改了BUILD.gn文件里面的頭文件位置(前面有提到具體的修改)。

不清楚的地方
修改的頭文件引用的HDF相關(guān),目前還不清楚源碼和HDF驅(qū)動(dòng)之間的關(guān)系。下一步的計(jì)劃會(huì)深入的學(xué)習(xí)一下和HDF相關(guān)的知識(shí)。再次感謝FAE的指導(dǎo)。
-
OpenHarmony
+關(guān)注
關(guān)注
33文章
3955瀏覽量
21138 -
九聯(lián)科技
+關(guān)注
關(guān)注
0文章
129瀏覽量
2714
發(fā)布評(píng)論請(qǐng)先 登錄
京東方發(fā)布顯示行業(yè)首款全員開放AI問答系統(tǒng)
塑料水壺氣密性檢測(cè)儀的操作流程(詳細(xì)教程)-岳信儀器
吉方工控2026年度Roadmap暨全員戰(zhàn)略培訓(xùn)會(huì)成功舉辦
線束接頭氣密性檢漏設(shè)備的操作流程-岳信儀器
單片機(jī)如何進(jìn)行加解密鑰操作,一般使用哪種形式,具體流程是什么樣子的?
電能質(zhì)量在線監(jiān)測(cè)裝置歷史波形回放的操作流程是怎樣的
如何檢測(cè)電能質(zhì)量在線監(jiān)測(cè)裝置采樣電阻是否損壞?
CANFD節(jié)點(diǎn)的采樣點(diǎn)如何測(cè)量?
電池殼體氣密性檢測(cè)儀的操作流程詳解-岳信儀器
PDL電臺(tái)設(shè)置更改操作流程
澎峰科技PerfXCloud通過湖南第二批生成式人工智能服務(wù)登記
距離Robotaxi上線僅剩數(shù)周,特斯拉尚未開始無安全員測(cè)試引發(fā)質(zhì)疑
掃描電鏡日常操作流程的詳細(xì)說明
全員采樣登記操作流程
評(píng)論