本文来源电子发烧友社区,作者: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
+关注
关注
31文章
3926浏览量
20715 -
九联科技
+关注
关注
0文章
126浏览量
2605
发布评论请先 登录
电能质量在线监测装置历史波形回放的操作流程是怎样的
如何检测电能质量在线监测装置采样电阻是否损坏?
澎峰科技PerfXCloud通过湖南第二批生成式人工智能服务登记
扫描电镜日常操作流程的详细说明
声智APP通过北京市生成式人工智能服务登记
正负压一体密封试验仪操作流程(新手适用)
小米汽车智能屏界面设计著作权获登记
ADS1248采样过程中切换差分通道的同时需要对GPIO0和GPIO1进行操作,会影响其它差分通道的采样值怎么办?
易飞扬致2025启动全员持股——坐稳800G 船,扬帆1.6T,再造相干通信

全员采样登记操作流程
评论