当前位置: 首页 > 科技观察

Openharmony-3516应用调用驱动试试

时间:2023-03-12 20:43:35 科技观察

更多内容请访问:与华为官方共建的鸿蒙技术社区https://ost.51cto.com,介绍ipcamera_hispark_taurus(代码版本openharmony3.1liteos-a),编译myapptest调用驱动GPIO_TEST。从配置、编译、烧录到运行。1、下载openharmony3.1代码。2.添加myapp子系统。3.编译烧录。4.运行。2.代码下载代码下载参考:openharmony3.1。3.添加myapp子系统子系统配置:添加:build\lite\components\myapp.json。{“组件”:[{“组件”:“myapptest”,“描述”:“myapptest”,“可选”:“false”,“dirs”:[“myapp”],“目标”:[“//myapp:myapp"],"rom":"","ram":"","output":[],"adapted_kernel":["liteos_a","liteos_m"],"features":[],"deps":{"third_party":["bounds_checking_function"],"components":[]}}]}编译配置:在vendor\hisilicon\hispark_taurus\config.json中添加:{"subsystem":"myapp","components":[{"component":"myapp","features":[]}]}修改驱动日志输出:修改文件:drivers\framework\test\unittest\platform\common\gpio_driver_test.c。staticint32_tGpioTestDispatch(structHdfDeviceIoClient*client,intcmd,structHdfSBuf*data,structHdfSBuf*reply){//开始修改----------------HDF_LOGD("%s:my应用测试进入!”,__func__);如果(cmd==0){constchar*readData=HdfSbufReadString(data);if(readData!=NULL){HDF_LOGE("%s:读取数据为%s!",__func__,readData);}//结束修改-------------if(reply==NULL){HDF_LOGE("%s:replyisnull!",__func__);返回HDF_ERR_INVALID_PARAM;}if(!HdfSbufWriteBuffer(reply,&g_config,sizeof(g_config))){HDF_LOGE("%s:写入回复失败",__func__);返回HDF_ERR_IO;}}else{返回HDF_ERR_NOT_SUPPORT;}returnHDF_SUCCESSadd:}myappdirectory在根目录下添加,代码见附件。目录结构如下:4.编译烧录在代码根目录下,执行编译docker环境:sudodockerrun-it-v$(pwd):/home/openharmonyswr.cn-south-1。myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5docker编译环境参考:docker。编译:执行以下三个命令:hbset.hbbuild-f如果hbset报错Invalidvendorpath,则删除ohos_config.json,执行以上命令。烧录:烧录使用hitool:编译生成四个文件中的三个,一个是源码目录下的binary。源码目录下的二进制:device\hisilicon\hispark_taurus\sdk_liteos\uboot\out\boot\u-boot-hi3516dv300.bin。将二进制复制到同目录D:\harmony_tool\hispark_taurus:添加的Hi3516DV300-emmc.xml内容如下:长度>文件大小,under一行的开始=该行的开始+该行的长度。内核起始地址=fastboot起始地址+fastboot长度,即内核起始地址=0+1M。编程完成,但系统还没有真正进入OHOS#,需要配置启动。启动配置:每一行都是一个命令。setEnvbootcmd“MMC读取0x00x800000000x8000x4800;go0x80000000;“;setenvbootargs”console=ttyama0,115200N8root=emmcfstyp=emmcfstype=vfatrwrwrwrwrwroot=10mrootsize=35mrootsy1;rootfs中rootfs的起始地址,rootsize的值为rootfs的长度。启动配置参考:Hi3516DV300开发板->运行。执行启动配置中最后一条命令reset后,进入系统。即,输入OHOS#。5.运行并执行:myapptest。本文档基于HDF驱动框架探路者(二):openharmony最新源码,将应用态向内核态开放。编译和启动配置可参考本文。更多信息请访问:与华为官方共建的鸿蒙技术社区https://ost.51cto.com