成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Openharmony - 3516應用調用到驅動嘗試

系統 OpenHarmony
ipcamera_hispark_taurus(代碼版本openharmony3.1 liteos-a), 編譯myapptest調用驅動GPIO_TEST。從配置、編譯,燒錄到運行。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

??https://ost.51cto.com??

一、簡介

ipcamera_hispark_taurus(代碼版本openharmony3.1 liteos-a), 編譯myapptest調用驅動GPIO_TEST。從配置、編譯,燒錄到運行。

1.下載openharmony 3.1代碼。

2.添加myapp子系統。

3.編譯燒錄。

4.運行。

二、代碼下載

代碼下載參考:openharmony 3.1。

三、添加myapp子系統

子系統配置:

添加:build\lite\components\myapp.json。

{
"components": [
{
"component": "myapptest",
"description": "myapptest",
"optional": "false",
"dirs": [
"myapp"
],
"targets": [
"http://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。

static int32_t GpioTestDispatch(struct HdfDeviceIoClient *client, int cmd, struct HdfSBuf *data, struct HdfSBuf *reply)
{
// 開始修改----------------
HDF_LOGD("%s: my app test enter!", __func__);
if (cmd == 0) {
const char *readData = HdfSbufReadString(data);
if (readData != NULL) {
HDF_LOGE("%s: read data is %s!", __func__, readData);
}
// 結束修改--------------
if (reply == NULL) {
HDF_LOGE("%s: reply is null!", __func__);
return HDF_ERR_INVALID_PARAM;
}
if (!HdfSbufWriteBuffer(reply, &g_config, sizeof(g_config))) {
HDF_LOGE("%s: write reply failed", __func__);
return HDF_ERR_IO;
}
} else {
return HDF_ERR_NOT_SUPPORT;
}

return HDF_SUCCESS;
}

myapp代碼目錄添加:

添加在根目錄下,代碼見附件。目錄結構如下圖:

四、編譯燒錄

在代碼根目錄下,執行編譯docker環境:

sudo docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5

docker編譯環境參考:docker。

編譯:

執行下面三條命令:

hb set
.
hb build -f

如果hb set報錯Invalid vendor path,刪除ohos_config.json再執行上面的命令。

燒錄:

燒錄使用hitool:

四個文件中 三個是編譯生成的,一個是源代碼目錄中的二進制。

源代碼目錄中的二進制:device\hisilicon\hispark_taurus\sdk_liteos\uboot\out\boot\u-boot-hi3516dv300.bin。

將二進制拷貝到同一的目錄D:\harmony_tool\hispark_taurus中:

添加的Hi3516DV300-emmc.xml內容如下:

<?xml version="1.0" encoding="GB2312" ?>
<Partition_Info>
<Part Sel="1" PartitionName="fastboot" FlashType="emmc" FileSystem="none" Start="0" Length="1M" SelectFile="D:\harmony_tool\hispark_taurus\u-boot-hi3516dv300.bin"/>
<Part Sel="1" PartitionName="kernel" FlashType="emmc" FileSystem="none" Start="1M" Length="9M" SelectFile="D:\harmony_tool\hispark_taurus\OHOS_Image.bin"/>
<Part Sel="1" PartitionName="rootfs" FlashType="emmc" FileSystem="none" Start="10M" Length="35M" SelectFile="D:\harmony_tool\hispark_taurus\rootfs_vfat.img"/>
<Part Sel="1" PartitionName="userfs" FlashType="emmc" FileSystem="none" Start="45M" Length="120M" SelectFile="D:\harmony_tool\hispark_taurus\userfs_vfat.img"/>
</Partition_Info>

Length > 文件的大小, 下一條的start = 本條的start + 本條Length。

kernel的開始地址=fastboot的開始地址+fastboot的長度,即kernel的開始地址=0 + 1M。

燒錄完成,實際上沒有進入系統OHOS #, 需要進行啟動配置。

啟動配置:

每一行是一條命令。

setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800;go 0x80000000;";
setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rw rootaddr=10M rootsize=35M";
setenv bootdelay 3
saveenv
print
reset

rootaddr的值是Hi3516DV300-emmc.xml文件中rootfs的開始地址,rootsize的值是rootfs的長度。

啟動配置參考:Hi3516DV300開發板->運行。

執行啟動配置最后一條命令reset后,進入系統。 即進入OHOS #。

五、運行

執行:myapptest。

此文檔是在??HDF驅動框架探路(二):openharmony最新源碼,打通應用態到內核態??的基礎上實踐。

編譯和啟動配置這篇文章可參考。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2021-11-09 15:28:41

鴻蒙HarmonyOS應用

2021-07-09 14:20:23

鴻蒙HarmonyOS應用

2022-04-01 15:18:04

HarmonyHDF 驅動鴻蒙

2021-12-03 09:50:39

鴻蒙HarmonyOS應用

2022-03-02 16:08:31

Harmony應用開發鴻蒙

2023-08-18 14:28:18

UART異步通信

2022-04-21 11:26:31

鴻蒙操作系統

2023-04-17 16:14:55

靜態訂閱鴻蒙

2021-09-07 15:48:28

鴻蒙HarmonyOS應用

2023-03-01 14:55:09

2022-02-24 16:00:59

Ability鴻蒙JS

2023-02-13 15:54:49

2023-09-06 15:27:22

ADC鴻蒙

2023-09-19 15:21:33

RTC鴻蒙

2023-09-19 15:14:59

鴻蒙Watchdog

2023-09-06 15:31:19

GPIO鴻蒙

2021-07-21 09:58:50

鴻蒙HarmonyOS應用

2022-03-28 15:40:34

harmony鴻蒙操作系統

2023-03-08 15:55:53

Linux驅動鴻蒙

2021-12-29 14:57:47

德勤人工智能AI驅動型企業
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线免费播放 | 亚洲在线一区二区 | 精品久久久久久久人人人人传媒 | 欧美中文字幕一区二区 | 日一区二区三区 | 国产精品成人一区二区三区 | 久久精品久久久久久 | 亚洲一区二区三区四区在线观看 | 国产成年人视频 | 人人种亚洲 | 九九九久久国产免费 | 欧美一区二区三区精品 | 久久久久无码国产精品一区 | 欧美激情视频一区二区三区在线播放 | a级在线免费观看 | 久久久免费少妇高潮毛片 | 91精品国产乱码久久久久久久 | 91精品国产一区二区三区蜜臀 | 国产精品久久久久久久久久免费看 | 东方伊人免费在线观看 | 免费一区二区 | 久久久蜜桃一区二区人 | 久久免费精品 | 国产精品综合 | 免费超碰 | 日韩国产高清在线观看 | 国产9 9在线 | 中文 | 国产yw851.c免费观看网站 | 啪啪免费网 | 久久大陆 | 九九亚洲 | 亚洲精品99久久久久久 | 香蕉大人久久国产成人av | 国产精品国产精品国产专区不蜜 | 亚洲精品一区二区三区 | 精品二| 婷婷开心激情综合五月天 | 欧美一级欧美一级在线播放 | 久久91精品国产一区二区 | 中文字幕在线一区二区三区 | 国产精品久久久久久久久久免费看 |