本文来源电子发烧友社区,作者:yuzhiwen1986, 帖子地址:https://bbs.elecfans.com/jishu_2310574_1_1.html
实验描述
以九联科技Unionpi Tiger开发板为平台,移植仓库中的GPIO代码到开发板中,源代码仓库如下:
https://gitee.com/openharmony/vendor_unionman/tree/master/unionpi_tiger/sample/hardware/gpio
因为编译问题前后断断续续搞了一个礼拜没有成功,最后再FAE的支持下搞定。本文中主要记录编译过程中遇到的问题。解决这个问题之后后面的I2C/UART的代码编译也就类似的修改。文中以GPIO为例子,根据代码可知本次实验主要实现配置GPIO 输出,并获取GPIO模式并打印。
修改代码
首先把GPIO的整个文件夹拷贝到某个目录下,我这里复制都openhamony/vendor/uniopi/unionpi_tiger/sample/hardware/下面,并在/openharmony/device/unionpi/a311d/BUILD.gn文件中增加该文件的路径。如下:
在GIPO 目录下打开Build.gn问价增加如下内容:
import("//drivers/adapter/uhdf2/uhdf.gni")
...
ohos_executable("gpio_hdf") {
sources = [ "hdf/gpio_hdf.cpp" ]
output_name = "gpio"
include_dirs = [
"//drivers/framework/include/platform",
"//third_party/bounds_checking_function/include",
]
deps = [
"//drivers/adapter/uhdf2/platform:libhdf_platform",
]
...
install_enable = true
install_images = [ "vendor" ]
module_install_dir = "bin"
part_name = "unionpi_products"
源码编译
进入源码目录,执行如下命令进行版本编译,编译完成后,效果如下:


获取固件
编译完成后对进行镜像进行打包然后烧写。如下是固件打包:
打包好之后会指出固件的生成目录,根据目录提示拷贝到Widows 环境下,试用烧录工具,根据用户手册把Image烧录到开发板
固件测试
进入到openharmony 环境里可以看到编译出来的可执行文件在/verdor/bin目录下
输入./gpio_test 或者./gpio_test +参数查看返回值

遇到的问题
编译过程中一直碰到以下编译ERROR网上也搜了不少材料,之前一直也怀疑是头文件哪里引用的问题。多次更换编译文件位置未果。在FAE的指导下修改了BUILD.gn文件里面的头文件位置(前面有提到具体的修改)。

不清楚的地方
修改的头文件引用的HDF相关,目前还不清楚源码和HDF驱动之间的关系。下一步的计划会深入的学习一下和HDF相关的知识。再次感谢FAE的指导。
-
OpenHarmony
+关注
关注
33文章
3988浏览量
21475 -
九联科技
+关注
关注
0文章
132浏览量
2774
发布评论请先 登录
晶圆划片机工作原理及操作流程详解
京东方发布显示行业首款全员开放AI问答系统
塑料水壶气密性检测仪的操作流程(详细教程)-岳信仪器
吉方工控2026年度Roadmap暨全员战略培训会成功举办
线束接头气密性检漏设备的操作流程-岳信仪器
全员采样登记操作流程
评论