0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

開發(fā)板如何適配OpenHarmony 3.2

OpenAtom OpenHarmony ? 來源:未知 ? 2023-04-04 01:35 ? 次閱讀

點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們


開源項(xiàng)目 OpenHarmony
是每個(gè)人的 OpenHarmony

陸道

誠邁科技高級(jí)技術(shù)專家

簡介

OpenAtom OpenHarmony(以下簡稱“OpenHarmony”) 3.2 Beta5版本在OpenHarmony 3.1 Release版本的基礎(chǔ)上,有以下改變:性能上有很大的提升、標(biāo)準(zhǔn)系統(tǒng)應(yīng)用開發(fā)框架增強(qiáng)、標(biāo)準(zhǔn)系統(tǒng)分布式能力增強(qiáng)。
本文介紹誠邁科技基于RK3568設(shè)計(jì)的HCPAD-100開發(fā)板以及基于RK3566設(shè)計(jì)的中控屏HongzPad2022在OpenHarmony 3.2 Beta5版本上的適配過程。
涉及到開發(fā)板的添加/u-boot /linux-5.10/分區(qū)表/根文件系統(tǒng)/顯示/觸摸/USB的移植過程以及OpenHarmony所依賴的驅(qū)動(dòng)特性介紹。

如何添加新的開發(fā)板進(jìn)行編譯

參照DAYU200的工程配置文件我們新建自己的編譯命令。
1)在device/board/目錄新建archermind目錄,新建rk3568/rk3588/rk3399目錄,并添加相關(guān)的工程文件。


2)在vendor目錄新建archermind目錄。新建以下幾個(gè)目錄,并添加相關(guān)的工程文件。


3)修改vendor/archermind/hongzos_rk3568/config.json文件,product_name改成hongzos_rk3568,device_build_path改成第一步新建的目錄。
{
"product_name": "hongzos_rk3568",
"device_company": "rockchip",
"device_build_path": "device/board/archermind/rk3568",
"target_cpu": "arm",
"type": "standard",
"version": "3.0",
"board":"rk3568",

通過./build.sh --product-name hongzos_rk3568來編譯出我們自己開發(fā)板的鏡像,編譯完后對(duì)應(yīng)開發(fā)板的image鏡像放在out/rk3568/packages/phone/目錄。相關(guān)代碼放在文章最后的參考鏈接。


U-Boot移植

U-boot是通過二進(jìn)制鏡像直接放在device/board/hihope/rk3568/loader目錄下的,這個(gè)目錄下涉及到文件如下:

1)下載rk官方發(fā)布的uboot源碼
gitclonehttps://github.com/rockchip-linux/u-boot.git

2)修改make.sh, 指定RKBIN_TOOLS的路徑
RKBIN_TOOLS=rkbin/tools

3)增加代碼讀取ramdisk分區(qū)到指定的內(nèi)存位置,修改cmd/pxe.c
#include "boot_rkimg.h"
#define BLK_CNT(_num_bytes, _block_size)
((_num_bytes + _block_size - 1) / _block_size)


static char* load_ramdisk_from_partition(void *buffer)
{
struct blk_desc *desc = rockchip_get_bootdev();
disk_partition_t part_ramdisk_boot;
static char initrd_str[28];
long blk_cnt = 0, blks_read = 0;
long blk_start = 0;
if (part_get_info_by_name(desc, "ramdisk", &part_ramdisk_boot) < 0) {
printf("No ramdisk partition ");
return NULL;
}
blk_cnt = part_ramdisk_boot.size;
blk_start = part_ramdisk_boot.start;
printf("Load from partition ' ramdisk ' to address 0x%p, count: %ld total block(s) by ludao ", buffer, blk_cnt);
blks_read = blk_dread(desc, blk_start, blk_cnt, buffer);
if (blks_read != blk_cnt) {
return NULL;
}
printf("Read from partition ' ramdisk ' done, from 0x%lx total block(s) 0x%lx ", blk_start, blk_cnt);
sprintf(initrd_str, "0x%p:0x%lx", buffer, blk_cnt*(part_ramdisk_boot.blksz));
printf("Openharmony ramdisk_addr_r = %s ", initrd_str);


return initrd_str;
}
static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
if (label->initrd) {
if (get_relfile_envaddr(cmdtp, label->initrd, "ramdisk_addr_r") < 0) {
printf("Skipping %s for failure retrieving initrd ",
label->name);
return 1;
}


bootm_argv[2] = initrd_str;
strncpy(bootm_argv[2], env_get("ramdisk_addr_r"), 18);
strcat(bootm_argv[2], ":");
strncat(bootm_argv[2], env_get("filesize"), 9);
}else{
void *buffer = (void *)env_get_ulong("ramdisk_addr_r", 16, 0);
bootm_argv[2] = load_ramdisk_from_partition(buffer);
if(bootm_argv[2]){
printk("initrd = %s ", bootm_argv[2]);
}
}

4)指定交叉編譯器和平臺(tái)開始編譯,編譯完成后根目錄會(huì)生成u-boot.bin
./make.shCROSS_COMPILE=aarch64-linux-gnu-rk3568
所有相關(guān)代碼已經(jīng)放到開源社區(qū),大家可以下載下來直接編譯使用,相關(guān)代碼放在文章最后的參考鏈接。

Linux-5.10移植

1)內(nèi)核編譯腳本
linux編譯腳本的是放在device/board/hihope/rk3568/kernel目錄下的build_kernel.sh文件,由于kernel/linux/linux-5.10是公共代碼,OpenHarmony編譯腳本是通過打補(bǔ)丁的方式來適配不同平臺(tái),不同的平臺(tái)有自己的內(nèi)核補(bǔ)丁。
編譯腳本會(huì)先把kernel/linux/linux-5.10拷貝到out/kernel/src_tmp/linux-5.10/,然后打上3568的內(nèi)核補(bǔ)丁patch -p1 < kernel/linux/patches/linux-5.10/rk3568_patch/kernel.patch
后編譯生成自己的鏡像,不利于我們開發(fā),我們自己開發(fā)過程中做如下修改,這樣方便我們開發(fā)過程中的修改。
先進(jìn)入kernel/linux/linux-5.10目錄
patch -p1 < kernel/linux/patches/linux-5.10/rk3568_patch/kernel.patch
修改device/board/hihope/rk3568/kernel/build_kernel.sh
注釋掉
//patch-p1
2)設(shè)備樹的定制,首先我們需要有自己的板子的設(shè)備樹例如rk3568-chujue-linux.dts
把設(shè)備樹放到kernel/linux/linux-5.10/arch/arm64/boot/dts/rockchip/目錄
修改kernel/linux/linux-5.10/ make-ohos.sh


model_list=(
"TB-RK3568X0 arm64 0xfe660000 rk3568-toybrick-x0-linux Image rockchip_linux_defconfig"
"TB-RK3568X10 arm64 0xfe660000 rk3568-toybrick-x10-linux Image rockchip_linux_defconfig"
)
修改其中的TB-RK3568X0,把rk3568-toybrick-x0-linux改成我們自己的rk3568-chujue-linux.dts,
TB-RK3568X0是在device/board/hihope/rk3568/kernel/build_kernel.sh指定的
這樣編程后生產(chǎn)設(shè)備樹就是我們自己開發(fā)板的,設(shè)備樹如果不對(duì),機(jī)器將會(huì)無法開機(jī),U-boot也會(huì)無法開啟。

3)內(nèi)核config的定制
文件位置kernel/linux/config/linux-5.10/arch/arm64/configs/rk3568_standard_defconfig
3.2 顯示設(shè)備需要打開CONFIG_DRM_PANEL_SIMPLE配置顯示才能正常顯示
CONFIG_DRM_PANEL_SIMPLE = y
kernel/linux/linux-5.10/drivers/gpu/drm/panel/panel-simple.c
注釋掉
//intpanel_simple_loader_protect(structdrm_panel*panel)
4)啟動(dòng)Logo定制
修改device/board/hihope/rk3568/kernel目錄的圖片即可

5)啟動(dòng)參數(shù)的定制
kernel/linux/linux-5.10/ make-ohos.sh
cmdline="appendearlycon=uart8250,mmio32,${uart}root=PARTUUID=614e0000-0000-4b53-8000-1d28000054a9rwrootwaitrootfstype=ext4

分區(qū)表

1)rk3568采樣的是GPT格式的分區(qū)表,v3.2新增加了三個(gè)分區(qū)sys_prod, chip-prod,ramdisk
通過修改以下文件來修改分區(qū)表的配置,我們可以直接使用dayu開發(fā)板的分區(qū)表。
device/board/hihope/rk3568/loader/parameter.txt
FIRMWARE_VER:11.0
MACHINE_MODEL:rk3568_r
MACHINE_ID:007
MANUFACTURER: rockchip
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: rk3568_r
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
CMDLINE:mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00003000@0x00006000(resource),0x00030000@0x00009000(boot_linux:bootable),0x00002000@0x00039000(ramdisk),0x00400000@0x0003B000(system),0x00200000@0x0043B000(vendor),0x00019000@0x0063B000(sys-prod),0x00019000@0x00654000(chip-prod),0x00010000@0x0066D000(updater),-@0x0067D000(userdata:grow)
uuid:system=614e0000-0000-4b53-8000-1d28000054a9
uuid:boot_linux=a2d37d82-51e0-420d-83f5-470db993dd35
device/board/hihope/rk3568/cfg/fstab.rk3568
# fstab file.
#
/dev/block/platform/fe310000.sdhci/by-name/system /usr ext4 ro,barrier=1 wait,required
/dev/block/platform/fe310000.sdhci/by-name/vendor /vendor ext4 ro,barrier=1 wait,required
/dev/block/platform/fe310000.sdhci/by-name/sys-prod /sys_prod ext4 ro,barrier=1 wait
/dev/block/platform/fe310000.sdhci/by-name/chip-prod /chip_prod ext4 ro,barrier=1 wait
/dev/block/platform/fe310000.sdhci/by-name/userdata /data f2fs discard,noatime,nosuid,nodev,fscrypt=2aes-256-xts wait,check,fileencryption=software,quota
/dev/block/platform/fe310000.sdhci/by-name/misc/miscnonenonewait,required
2)如何修改RKDevTool.exe工具加載的分區(qū)表
parameter.txt文件中的CMDLINE字段中有mtdparts=,
其中0x00002000@0x00002000(uboot)的括號(hào)里面是分區(qū)的名字,@后面的0x00002000是分區(qū)的開始地址,以4k為單位的偏移地址,@前面是分區(qū)的大小,
注意修改的時(shí)候要注意連續(xù)性,不要有重疊的位置。

根文件系統(tǒng)

1)ramdisk從3.1到3.2的變化
3.1中ramdisk.Img是放在out/kernel/src_tmp/linux-5.10/boot_linux/目錄下被打包到boot_linux.img中。
3.2的ramdisk.Img是直接放在單獨(dú)的分區(qū)里面,由Boot在開機(jī)的模式不同的情況下選擇加載不同的根文件系統(tǒng)
2)如何修改ramdisk
在.gn文件里面添加對(duì)應(yīng)的配置文件,生成的文件將會(huì)被放到ramdisk鏡像里面
    image_list += [
"ramdisk",
"updater_ramdisk",
]

顯示模塊適配

1)Devices tree配置
通過設(shè)備樹來打開mipi 通道1的配置和hdmi的設(shè)備,OpenHarmony 3.2 Beta5 是支持多屏異顯的,OpenHarmony 3.1 Release 不支持。
&dsi1 {
status = "okay";
//rockchip,lane-rate = <200>;
dsi1_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = ;
dsi,lanes = <4>;
panel-init-sequence = [
05 78 01 11
05 14 01 29
];


panel-exit-sequence = [
05 00 01 28
05 00 01 10
];


disp_timings1: display-timings {
native-mode = <&dsi1_timing0>;
dsi1_timing0: timing0 {
clock-frequency = <150000000>;
hactive = <1200>;
vactive = <1920>;
hback-porch = <120>;
hfront-porch = <10>;
vback-porch = <10>;


&hdmi {
status = "okay";
rockchip,phy-table =
<92812500 0x8009 0x0000 0x0270>,
<165000000 0x800b 0x0000 0x026d>,
<185625000 0x800b 0x0000 0x01ed>,
<297000000 0x800b 0x0000 0x01ad>,
<594000000 0x8029 0x0000 0x0088>,
<000000000 0x0000 0x0000 0x0000>;
};
2)內(nèi)核打開相關(guān)的配置
3.2中默認(rèn)關(guān)閉了CONFIG_DRM_PANEL_SIMPLE,但是我們的設(shè)備數(shù)中字段需要依賴這個(gè)配置項(xiàng),所以需要打開它。
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_ANALOGIX_DP=y
CONFIG_DRM_DW_HDMI=y
CONFIG_DRM_DW_HDMI_I2S_AUDIO=y
CONFIG_DRM_DW_HDMI_CEC=y
CONFIG_DRM_DW_MIPI_DSI=y
3)HAL層的適配
源碼結(jié)構(gòu)


顯示HDI需要適配兩部分:gralloc 和 display_device。

display device適配
display device模塊提供顯示設(shè)備管理、layer管理、硬件加速等功能。
drm設(shè)備節(jié)點(diǎn)定義在//device/soc/rockchip/rk3568/hardware/display/src/display_device/drm_device.cpp文件中,可根據(jù)實(shí)際情況修改
std::shared_ptr DrmDevice::Create()
{
DISPLAY_DEBUGLOG();
if (mDrmFd == nullptr) {
const std::string name("rockchip");
int drmFd = open("/dev/dri/card0", O_RDWR | O_CLOEXEC); // drmOpen(name.c_str(), nullptr);
}
如開發(fā)板不支持硬件合成或是有問題的時(shí)候,需要在drm_display.cpp文件中跳過gfx的初始化。
int32_t DrmDisplay::Init()
{
...
...
ret = preComp->Init(); // gfx初始化,這里需要跳過
DISPLAY_CHK_RETURN((ret != DISPLAY_SUCCESS), DISPLAY_FAILURE, DISPLAY_LOGE("can not init HdiGfxComposition")); // 或者不判斷返回值
}
同時(shí)在//device/soc/rockchip/rk3568/hardware/display/src//hdi_gfx_composition.cpp文件中修改set_layers方法,全部使用CPU合成顯示。
int32_t HdiGfxComposition::vector &layers, HdiLayer &clientLayer)
{
#if 0 // CPU合成
layer->SetDeviceSelect(COMPOSITION_CLIENT);
#else
if ((layer->GetCompositionType() != COMPOSITION_VIDEO) &&
(layer->GetCompositionType() != COMPOSITION_CURSOR)) {
layer->SetDeviceSelect(COMPOSITION_DEVICE);
} else {
layer->SetDeviceSelect(layer->GetCompositionType());
}
#endif
}
gralloc適配
gralloc模塊提供顯示內(nèi)存管理功能,OpenHarmony提供了使用與Hi3516DV300參考實(shí)現(xiàn)。
drm設(shè)備節(jié)點(diǎn)定義在//device/soc/rockchip/rk3568/hardware/display/src/display_gralloc/display_gralloc_gbm.c文件中,可根據(jù)實(shí)際情況修改
constchar*g_drmFileNode="/dev/dri/card0";

1)Devices tree配置
我們的開發(fā)板使用的是gt9XX的觸摸屏,所以我們把相關(guān)的信息配置進(jìn)去。
   gt9xx: gt911@14 {
compatible = "goodix,gt9xx";
reg = <0x14>;
pinctrl-names = "default";
pinctrl-0 = <&tp_gpio>;
goodix_irq_gpio = <&gpio3 RK_PB4 IRQ_TYPE_LEVEL_LOW>;
goodix_rst_gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
/*touchscreen-inverted-x;*/
status = "okay";
};
2)內(nèi)核驅(qū)動(dòng)配置
打開內(nèi)核配置CONFIG_TOUCHSCREEN_GT9XX=y
驅(qū)動(dòng)源碼里面把所有ABS_MT_WIDTH_MAJOR相關(guān)的屬性去掉。3.2不識(shí)別有這個(gè)屬性的
輸入設(shè)備。
kernel/linux/linux-5.10/drivers/input/touchscreen/gt9xx/gt9xx.c
//input_set_abs_params(ts->input_dev,ABS_MT_WIDTH_MAJOR,0,255,0,0);

USB調(diào)試適配

1)調(diào)試工具
開發(fā)板的USB host是標(biāo)準(zhǔn)的linux驅(qū)動(dòng)架構(gòu),OpenHarmony 對(duì)這塊基本不需要做修改,USB的設(shè)備包括鼠標(biāo),sdcard都會(huì)默認(rèn)支持。
USB 作為devices,最常用的功能是連接電腦,用電腦端的hdc shell來調(diào)試設(shè)備,這樣我們才能在后續(xù)工作中抓取日志分析。
hdc shell “dmesg -Tw” 實(shí)時(shí)獲取kernel 日志
hdc shell “hilog” 獲取OpenHarmony 日志

2)USB devices設(shè)備的端口選擇
init.rk3568.usb.cfg文件中有Usb初始化參數(shù)設(shè)置,其中最主要的是
sys.usb.controller設(shè)置成正確的基地址以及設(shè)備類型
"setparamsys.usb.controllerfcc00000.dwc3"

總結(jié)

至此我們的開發(fā)板擁有自己的開發(fā)基線,也已經(jīng)可以進(jìn)入到桌面,觸摸屏,USB鼠標(biāo),hdc調(diào)試都已經(jīng)正常工作,我們接下來進(jìn)行下一階段的適配工作。

參考鏈接

以下是源碼倉庫地址

https://gitee.com/harchermindy/vendor_archermind

https://gitee.com/harchermindy/device_board_archermind

https://gitee.com/harchermindy/uboot-rk-openharmony

https://gitee.com/harchermindy/linux-5.10



原文標(biāo)題:開發(fā)板如何適配OpenHarmony 3.2

文章出處:【微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2352

    瀏覽量

    42863
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3722

    瀏覽量

    16323

原文標(biāo)題:開發(fā)板如何適配OpenHarmony 3.2

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發(fā)板演示

    開源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區(qū)推薦開發(fā)板,已適配
    的頭像 發(fā)表于 12-24 11:46 ?168次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺智能RK3566鴻蒙<b class='flag-5'>開發(fā)板</b>演示

    OpenHarmony默認(rèn)30秒熄屏太麻煩?觸覺智能鴻蒙開發(fā)板教你輕松取消

    OpenHarmony系統(tǒng)開機(jī)后 30 秒會(huì)自動(dòng)息屏,教大家兩招輕松取消自動(dòng)息屏,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release
    的頭像 發(fā)表于 12-09 11:45 ?213次閱讀
    <b class='flag-5'>OpenHarmony</b>默認(rèn)30秒熄屏太麻煩?觸覺智能鴻蒙<b class='flag-5'>開發(fā)板</b>教你輕松取消

    OpenHarmony屬性信息怎么修改?觸覺智能RK3566鴻蒙開發(fā)板來演示

    本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,修改產(chǎn)品屬性信息的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release系統(tǒng)!
    的頭像 發(fā)表于 11-27 09:31 ?173次閱讀
    <b class='flag-5'>OpenHarmony</b>屬性信息怎么修改?觸覺智能RK3566鴻蒙<b class='flag-5'>開發(fā)板</b>來演示

    如何在開源鴻蒙OpenHarmony開啟SELinux模式?RK3566鴻蒙開發(fā)板演示

    本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,開啟/關(guān)閉SELinux權(quán)限的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release
    的頭像 發(fā)表于 11-18 19:03 ?327次閱讀
    如何在開源鴻蒙<b class='flag-5'>OpenHarmony</b>開啟SELinux模式?RK3566鴻蒙<b class='flag-5'>開發(fā)板</b>演示

    觸覺智能Purple Pi OH鴻蒙開發(fā)板成功適配OpenHarmony5.0 Release,開啟新征程

    觸覺智能Purple Pi OH鴻蒙開發(fā)板,成功適配OpenHarmony5.0 Release版本!為大家?guī)?b class='flag-5'>OpenHarmony5.0特性講解!關(guān)注觸覺智能,為大家?guī)砀?/div>
    的頭像 發(fā)表于 10-25 10:51 ?399次閱讀
    觸覺智能Purple Pi OH鴻蒙<b class='flag-5'>開發(fā)板</b>成功<b class='flag-5'>適配</b><b class='flag-5'>OpenHarmony</b>5.0 Release,開啟新征程

    OpenHarmony 明星開發(fā)板和應(yīng)用招募啟動(dòng),等你來!

    為助力企業(yè)和開發(fā)者快速找到好用的開發(fā)板和應(yīng)用,推動(dòng)OpenHarmony生態(tài)發(fā)展,現(xiàn)啟動(dòng) “OpenHarmony 明星開發(fā)板和應(yīng)用招募”評(píng)
    發(fā)表于 09-14 15:21

    鴻蒙OpenHarmony開發(fā)板解析:【芯片解決方案】

    芯片解決方案是指基于某款開發(fā)板的完整解決方案,包含驅(qū)動(dòng)、設(shè)備側(cè)接口適配、開發(fā)板sdk等。
    的頭像 發(fā)表于 05-10 15:42 ?1244次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)板</b>解析:【芯片解決方案】

    鴻蒙OpenHarmony【基于Hi3516DV300開發(fā)板(時(shí)鐘應(yīng)用開發(fā))】

    如何快速搭建基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)(Hi3516DV300開發(fā)板)的應(yīng)用開發(fā)環(huán)境,并基于一個(gè)時(shí)鐘APP示例逐步展示應(yīng)用的創(chuàng)建、開發(fā)、調(diào)試和安裝等流程。
    的頭像 發(fā)表于 05-08 15:27 ?1173次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【基于Hi3516DV300<b class='flag-5'>開發(fā)板</b>(時(shí)鐘應(yīng)用<b class='flag-5'>開發(fā)</b>)】

    鴻蒙OpenHarmony【集成三方SDK】 (基于Hi3861開發(fā)板

    OpenHarmony致力于打造一套更加開放完善的IoT生態(tài)系統(tǒng),為此OpenHarmony規(guī)劃了一組目錄,用于將各廠商的SDK集成到OpenHarmony中。本文檔基于Hi3861開發(fā)板
    的頭像 發(fā)表于 04-24 15:11 ?1122次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【集成三方SDK】 (基于Hi3861<b class='flag-5'>開發(fā)板</b>)

    OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于Hi3518開發(fā)板)】

    基于Hi3518開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應(yīng)用。達(dá)到將Hi3518開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)绞謾C(jī)并顯示 。
    的頭像 發(fā)表于 04-22 15:46 ?2025次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于Hi3518<b class='flag-5'>開發(fā)板</b>)】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于3516開發(fā)板)】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應(yīng)用。達(dá)到將Hi3516開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)绞謾C(jī)并顯示 。
    的頭像 發(fā)表于 04-19 22:01 ?608次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于3516<b class='flag-5'>開發(fā)板</b>)】

    OpenHarmony南向開發(fā)案例:【智能油煙機(jī)】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的應(yīng)用。
    的頭像 發(fā)表于 04-18 15:54 ?1057次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發(fā)</b>案例:【智能油煙機(jī)】

    適配開源鴻蒙OpenHarmony 4.1,Purple Pi OH開發(fā)板與時(shí)俱進(jìn)

    2024年4月3日,備受矚目的OpenHarmony4.1release版本正式發(fā)布。值得一提的是,觸覺智能的PurplePiOH已經(jīng)成功適配了這一新版本,展現(xiàn)出強(qiáng)大的兼容性和前沿的技術(shù)實(shí)力。此次
    的頭像 發(fā)表于 04-18 08:33 ?826次閱讀
    已<b class='flag-5'>適配</b>開源鴻蒙<b class='flag-5'>OpenHarmony</b> 4.1,Purple Pi OH<b class='flag-5'>開發(fā)板</b>與時(shí)俱進(jìn)

    【七】Purple Pi OH開發(fā)板帶你7天入門OpenHarmony!

    進(jìn)入OpenHarmony系統(tǒng)的世界,對(duì)于許多開發(fā)者來說,是一次全新且充滿挑戰(zhàn)的旅程。通過PurplePiOH開發(fā)板這個(gè)窗口,我們不僅能夠觸摸到硬件本身的魅力,還有機(jī)會(huì)深入探索
    的頭像 發(fā)表于 03-22 08:31 ?416次閱讀
    【七】Purple Pi OH<b class='flag-5'>開發(fā)板</b>帶你7天入門<b class='flag-5'>OpenHarmony</b>!

    開源大師兄開發(fā)板通過 OpenHarmony 3.2 Release版本兼容性測(cè)評(píng)

    近期,江蘇潤開鴻數(shù)字科技有限公司(以下簡稱“潤開鴻”)開源?師兄開發(fā)板順利通過OpenHarmony3.2.1Release版本兼容性測(cè)評(píng),為基于開源大師兄開發(fā)板研發(fā)更多可釋放該系統(tǒng)版本新特性的?態(tài)
    的頭像 發(fā)表于 01-20 08:02 ?926次閱讀
    開源大師兄<b class='flag-5'>開發(fā)板</b>通過 <b class='flag-5'>OpenHarmony</b> <b class='flag-5'>3.2</b> Release版本兼容性測(cè)評(píng)