RK3568------Openharmony 3.2-Release 板级移植

【移植】标准系统方案之瑞芯微RK3568移植案例(一) 主要完成 Codec/DMA/I2S 驱动注册,使得 ADM 可以加载驱动节点;并注册 ADM 与 Drivers 交互的接口函数主要完成 ADM Drivers adapter 接口函数的实现,以及 Codec_config.hcs/dai_config.hcs 等配置信息的获取,并注册到对应的设备ADM Drivers impl 可以直接阅读硬件手册,完成驱动端到端的配置;也可以借用 Linux 原生驱动实现与接口,减少开发者工作量。 阅读详情

RK3568------Openharmony 3.2-Release 板级移植


前言

最近电力行业推动电鸿蒙的概念。因此我们公司开始着手在已有的MCU平台适配Openharmony系统,本人之前一直从事上层应用开发,没有相关工作经历,因此在CSDN平台记录整个工作过程,与各位共同学习

一、Openharmony 源码版本选择

在我写这篇文章的时候,Openharmony的官网已推出4.1-release版本的源码,我之所以选择Openharmony 3.2-release版本,是因为上文提到的电鸿蒙里RK3568平台的源码是基于Openharmony 3.2-release搭建的。为了后续项目匹配电鸿蒙,我选择在Openharmony 3.2-release移植
后文对 Openharmony简称 ohos

二、ohos源码下载&&编译环境

1.源码下载

ohos官网

官网一共有4种获取方式,我选择的是直接站点下载压缩包 : ohos源码包
在这里插入图片描述

2.编译环境

官网提供2种开发方式,分别为基于IDE开发和命令行开发,写的很详细,但是2种开发方式都需要安装各种库和依赖,对于刚接触的人来说,不是很友好。所以在官网设备开发文档菜单栏------工具中,介绍了基于Docker编译环境 https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/get-code/gettools-acquire.md,这种方式非常友好,只需要在本地拉取Docker镜像,就可以在基于镜像的容器中编译源码了
在这里插入图片描述

嫌麻烦不想读文档的,自行准备一个Ubuntu 20.04虚拟机,直接上干货

拉取Docker镜像

docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2

进入存放ohos源码的路径下,运行容器

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

在这里插入图片描述
在容器中,手动安装交叉编译工具

apt-get update && apt-get install -y gcc-arm-linux-gnueabi

建议安装交叉编译工具后,将该容器做成镜像,重新生成一次,不然每次启动,都要手动安装一次交叉编译工具

编译工程,验证源码与编译环境是否正确

./build.sh --product-name rk3568 --ccache

编译成功结果如下
在这里插入图片描述

三、内核移植

1.OpenHarmony 内核编译流程解析

rk3568平台的内核配置和预编译脚本在://device/board/hihope/rk3568/kernel/build_kernel.sh
在这里插入图片描述

①:复制一份内核源码
②将HDF框架补丁打入内核源码
③将支持RK3568平台的基础代码补丁打入内核源码
④复制内核源码的配置文件

执行过程分析:ohos 源码中含有原生Linux-5.10源码,将Linux内核源码拷贝出来以后,先打HDF框架补丁,在打基于RK3568平台的补丁,最后只需修改dts和驱动,重新生成一个新的补丁,替换掉原项目的补丁,就可以适配自己的板子了

2.飞凌OK3568-C开发板移植

基于上文提到的ohos内核编译流程解析,我们通过搭建自己的内核源码来适配飞凌的开发板

  1. 拷贝一份Linux-5.10原生内核源码
  2. 打入ohos中RK3568平台的补丁
  3. 修改ohos中RK3568的预编译脚本
  4. 修改本地代码编译内核脚本
  5. 将OK3568-C的设备树移植到本地内核中
  6. 重新生成一份Patch补丁
  7. 替换ohos中的补丁文件

以上操作,我已写了一个Makefile脚本,供大家参考(具体路径根据实际情况修改)

# Linux内核目录
KERNEL_SRC_TMP_PATH := ~/Documents/linux-5.10

# OpenHarmony目录相关变量
OHOS_BUILD_HOME := ~/Documents/OpenHarmony-v3.2-Release/OpenHarmony
DEVICE_NAME := rk3568
KERNEL_VERSION := linux-5.10
KERNEL_SRC_PATH := $(OHOS_BUILD_HOME)/kernel/linux/${KERNEL_VERSION}
DEVICE_PATCH_DIR := $(OHOS_BUILD_HOME)/kernel/linux/patches/${KERNEL_VERSION}/$(DEVICE_NAME)_patch
DEVICE_PATCH_FILE := $(DEVICE_PATCH_DIR)/kernel.patch
KERNEL_PATCH_PATH := $(OHOS_BUILD_HOME)/kernel/linux/patches/${KERNEL_VERSION}

.PHONY: all clean
copy_kernel:
    rm -rf $(KERNEL_SRC_TMP_PATH);mkdir -p $(KERNEL_SRC_TMP_PATH);cp -arfL $(KERNEL_SRC_PATH) $(KERNEL_SRC_TMP_PATH);cd $(KERNEL_SRC_TMP_PATH) && git init && git add . && git commit -a -sm "初始内核"

kernel_patch:
    cd $(KERNEL_SRC_TMP_PATH) && patch -p1 < $(DEVICE_PATCH_FILE)
    cd $(KERNEL_SRC_TMP_PATH) && find ./* -name *.orig | xargs rm -rf && git add . && git commit -a -sm "RK3568补丁"

all:
    make clean
    make copy_kernel
    make patch_kernel

clean:
    rm -rf $(KERNEL_SRC_TMP_PATH)

具体操作如下:

  1. make copy_kernel
  1. make kernel_patch
  1. 进入ohos源码,vim //device/board/hihope/rk3568/kernel/build_kernel.sh

在这里插入图片描述这里的OK-RK3568是我给飞凌自定义的板子名称,大家按自己的需求修改

  1. 进入本地内核源码,vim //linux-5.10/make-ohos.sh

修改为自己的设备树二进制文件
在这里插入图片描述

OK-RK3568:对应上文预编译脚本中的板子名称,要一致
arm64:平台
0xfe660000:串口地址
OK3568-C-linux:设备树文件名
rockchip_linux_defconfig:配置文件名
在这里插入图片描述
将设备树变量替换成自己的
在这里插入图片描述
在这里插入图片描述

  1. 将自己的设备树文件全部放在本地内核路径下 //linux-5.10/arch/arm64/boot/dts/rockchip
  1. git diff 初始版本的编号 HEAD > kernel.patch
  1. 将生成的补丁kernel.patch替换到ohos源码路径下 //kernel/linux/patches/linux-5.10/rk3568_patch

4.飞凌开发板移植验证

RK3568核心板上有一个LED灯是可控的,修改内核配置文件(//kernel/linux/config/linux-5.10/arch/arm64/configs)以后,编译ohos,将镜像烧写进开发板后,可以看到核心板上蓝色灯闪烁

在这里插入图片描述
终端打印:
在这里插入图片描述

5.问题

如果在移植设备树文件以后,将镜像烧录到板子上内核报错:
Cannot load fstab from command line
在这里插入图片描述
说明找不到分区文件,如果遇到这个问题,可以私聊我寻求答案


总结

本人之前一直从事应用开发,借着这次电鸿的契机进行系统级开发的学习,将我在工作中的遇到的问题及解决思路记录并分享,希望可以与诸君共勉
目前网上技术讨论群大都是鸿蒙的应用开发,总结此类文章也是希望将同样进行鸿蒙设备开发的同僚召集到一起,一起讨论学习。如果有同样在进行鸿蒙设备开发的朋友,可以加我的联系方式,期待您的消息

在这里插入图片描述

rk3568 OpenHarmony 串口uart与电脑通讯开发案例 (3)开发板点击“开启按钮”打开串口,然后点击“发送”按钮,想电脑通过串口发送输入框的字符串,电脑运行的串口调试助手接信息,并回显接收到的字符串;同理电脑通过串口调试助手想开发板发送字符串,开发板接收信息,并在回显框中回显接收到的字符串,如下图所示。该应用的开发,使用NAPI方式来编写使用串口的NAPI函数,通过这些函数,来对串口进行设置,打开,发送和接收数据。(2)将开发板通过串口转USB的转接线,将开发板与笔记本连接起来,电脑打开一个串口调试助手,如下图所示。1、应用界面编写(Index.ets) 阅读详情

相关推荐

rk3568 OpenHarmony4.0如何使用中文输入法

问题:rk3568开发板 OpenHarmony4.0release系统自带输入法kikaInput软件只有英文输入,不含中文输入,不方便。本文基于rk3568开发板 OpenHarmony4.0release移植了laval社区发布的开发者手机中的搜狗输入法(测试版),实现了中文输入,为OpenHarmony4.0release的其他开发板中文输入提供参考。

Devlin_的博客 2900

鸿蒙基于润和DAYU200(RK3568)开发板的系统移植与实战开发

本文介绍了鸿蒙6.0系统在DAYU200开发板上的移植与开发方案。DAYU200是基于RK3568芯片的OpenHarmony开发板,具有四核CPU、Mali-G52 GPU和0.8TOPS NPU算力。方案详细讲解了开发环境搭建、系统架构设计、BSP移植流程,包括U-Boot引导程序适配、Linux内核移植和根文件系统构建。重点阐述了OpenHarmony 6.0的分布式架构优势、HDF驱动框架核心组件,以及针对RK3568芯片的硬件适配方法,为开发者提供了完整的鸿蒙系统移植参考方案。

key_3_feng的博客 1485

保姆级教程:从OpenHarmony 5.1.0 Release基线到RK3568设备移植的完整避坑指南

本文提供了一份详细的OpenHarmony 5.1.0 Release基线到RK3568设备移植的完整指南,涵盖环境准备、代码获取、移植步骤、编译烧录及验证调试等关键环节。通过实战经验分享,帮助开发者避开常见陷阱,顺利完成OpenHarmony系统移植工作。

weixin_29295541的博客 473

OpenHarmony板级移植:RK3568移植分享

基于RK3568,分享OpenHarmony标准系统板卡移植经验,包括工程配置、内核移植等课程涉及代码:https://gitee.com/lianzhian/oh-rk3568/tree/master

RK3568 OpenHarmony 4.1 Release蓝牙芯片适配实战指南

本文详细介绍了RK3568平台OpenHarmony 4.1 Release系统下蓝牙芯片适配的完整流程。内容涵盖硬件模组选型、设备树关键配置、内核驱动移植、UART接口调试及固件加载验证,提供了针对正基、海华等主流蓝牙模组的实战解决方案和常见问题排查方法,帮助开发者高效完成蓝牙功能适配。

o1p2q3r的博客 582

OpenHarmony RK3568设备树移植实战:从选型到调试全解析

设备树(DTS)是嵌入式系统中描述硬件资源的关键机制,它通过树状节点将硬件信息与驱动逻辑解耦,大幅提升了内核移植和板级适配的效率。在OpenHarmony标准系统开发中,DTS的编写与调试直接关系到外设能否正常工作。本文以RK3568平台为例,从DTS/DTB/DTC关系、多板型选择策略出发,详细讲解串口、引脚复用(pinctrl)、电源域、显示及网络等核心节点的配置方法,并分享编译烧录与排错实战经验。掌握这些内容,能帮助开发者在非官方板卡上快速完成OpenHarmony适配,避免常见坑点。

weixin_34341117的博客 426

鸿蒙移植-RK3568

rk3566/rk3568平台 移植鸿蒙

科技工作者的博客 5081

RK3568 OpenHarmony3.2 AI NPU适配

Neural Network Runtime(NNRt, 神经网络运行时)是面向AI领域的跨芯片推理计算运行时,作为中间桥梁连通上层AI推理框架和底层加速芯片,实现AI模型的跨芯片推理计算。本文介绍芯片厂商如何在将专有加速芯片接入NNRt,接入OpenHarmony社区生态。整体适配思路:在虚拟机平台上通过Build.gn的方式编译得到可执行文件, 然后将可执行文件及对应鸿蒙系统的api库文件推送到板子,最后将.rknn后缀结尾的模型文件以及图片文件等输入资源拷贝至RK3568进行模型的运行。

Martian_Jonas的博客 1900

RK3568------Openharmony 3.2-Release LVDS驱动

RK3568 Openharmony LVDS

weixin_42868855的博客 3393

分布式定时任务(XXL-JOB)整合达梦数据库 带源码

背景 1. 因公司需要可视化管理配置调度任务,查询项目选择XXL-JOB,它是开源项目,入手很简单,详情可以参考官方文档; 2. 因项目的机密性,选择数据库为国内知名的达梦数据库7,与Java项目的整合详情可以参考SpringBoot 集成 达梦数据库 maven依赖本地jar包; 3. 因XXL-JOB暂时没有找到集成达梦数据库的案例,博主自己整合DM7踩过很多的坑,特此整合一个简单可直接...

艾斯-李的博客 3810

深入浅出横向联邦学习、纵向联邦学习、联邦迁移学习

深入浅出解析横向联邦学习(Horizontal Federated Learning)、纵向联邦学习(Vertical Federated Learning)和联邦迁移学习(Federated Transfer Learning)有多个机构(比如几家不同的银行,或者几家医院)都拥有一些数据,他们希望联合起来训练一个更强大的机器学习模型,但出于隐私保护或法规要求,他们不能直接把数据共享出来。联邦学习就是为了解决这个问题而提出的。它的核心思想是“数据不动模型动”,即数据保留在本地,参与方共同训练模型。

frostmelody 全网同名,大家多多关注呀~ 持续分享优质内容! 2448

RK3568------Openharmony 3.2-Release 音频驱动

Openharmony 3.2-release版本中RK3568的音频应用,我在实际测试中发现音乐播放器UI是可用的,但实际上该应用并没有调用ADM音频框架(OHOS)接口来录放音。现在我需要测试板子的音频放音功能,只能考虑使用Linux的高级音频框架------ALSA。

weixin_42868855的博客 2369

【全网最全最详细】智能体提示词prompt教程

定义:提示词是用户输入给AI模型(如ChatGPT、MidJourney等)的指令或问题,用于引导模型生成特定类型的输出。它是用户与AI交互的核心媒介。作用:提示词的质量直接影响AI输出的准确性和相关性。好的提示词能明确任务边界、减少歧义,并激发模型的创造力。提示词就是“给AI下指令的说明书”——越清楚、越具体,AI干得越好!帮你更快、更准地拿到想要的结果,不用和AI“猜谜语”。

qq_38196449的博客 8183

RK3568------Openharmony 3.2-Release 文件系统打包

RK3568 Openharmony 文件系统

weixin_42868855的博客 2099

用Verilog搭出RISC-V架构单周期CPU

这是笔者学校暑期学期的必修课,难度并不高(仅追求及格的话),但相当耗时,对于在硬件设计方面完全不感冒的同学更是一场避不开的折磨,所以笔者想通过自己的成果和被折磨经验来帮助有此方面需求的同学,或是对于CPU设计有浓厚兴趣的人。

paticita的博客 1万+

SolidWorks+ADAMS双验证:你的机械臂力矩计算真的靠谱吗?

本文探讨了机械臂力矩计算中手工计算的局限性,并介绍了SolidWorks和ADAMS双验证方法的重要性。通过实际案例展示了动态工况下传统计算方法的误差,详细解析了SolidWorks精准质心捕捉和ADAMS动力学仿真的关键技术,帮助工程师构建计算-仿真-实测闭环验证流程,确保机械臂设计的可靠性和安全性。

grafana6viz的博客 223

RK3568------Openharmony 4.0-Release WIFI/BT模组适配

随着RK3568适配工作的推进,整体适配工作已经接近结束,本篇文章将讲解最后一个驱动适配,正 wi-fi/BT适配本人之前一直从事应用开发,借着这次电鸿的契机进行系统级开发的学习,将我在工作中的遇到的问题及解决思路记录并分享,希望可以与诸君共勉目前网上技术讨论群大都是鸿蒙的应用开发,总结此类文章也是希望将同样进行鸿蒙设备开发的同僚召集到一起,一起讨论学习。如果有同样在进行鸿蒙设备开发的朋友,可以加我的联系方式,期待您的消息个人微信。

weixin_42868855的博客 5136

第二章:创建交互式地图

那么您应该已经有了一个安装了这些包的 conda 环境。否则,您需要创建一个新的 conda 环境并使用以下命令安装。

韩天放 4210

RK3568------Openharmony 4.0-Release Docker移植、部署

Openharmony 也搞了有一段时间了,我感觉大部分朋友都是临时被指派过来,负责把公司现有的产品迁移至Openharmony的操作系统中。在这个过程中可能会有各种各样的制约因素,例如项目工期比较短,公司资源受限或者说现有产品的体量比较大,做迁移耗费的时间比较久。针对以上情况,我个人认为一个很好的解决方案就是将Docker容器移植至Openharmony的操作系统中,所以本篇通过参考网络上其他大神的文章,详细解说如何在Openharmony 4.0-Release Docker移植、部署。

weixin_42868855的博客 2430

手势识别器:实现手部动作识别器

在本篇文章中,我们将使用Python来实现一个简单的手部动作识别器。然后,我们通过循环从摄像头获取每一帧图像,并对每一帧图像进行处理。我们提取手部关键点并计算手势的特征向量,然后将其添加到特征列表和标签列表中。接下来,我们再次从摄像头获取每一帧图像,并进行手势识别。我们提取手部关键点并计算手势的特征向量,然后使用训练好的分类器来预测手势,并在图像上显示出来。在这个实现中,我们将使用MediaPipe库来检测和跟踪手部关键点,然后使用K最近邻(K-Nearest Neighbors)算法对手势进行分类。

BitSlinger的博客 230

基于YOLOv8深度学习的火焰与烟雾检测系统详解:UI界面 + YOLOv8 + 数据集的实现

通过自动化检测火焰和烟雾,可以提高响应速度,减少潜在的火灾损失,保障人身和财产安全。此外,应用还会显示标记了检测框的视频画面,方便用户直观了解检测效果。同时,前端界面将使用Streamlit来实现,因其可以快速搭建交互式应用,适合我们的需求。要训练一个有效的火焰和烟雾检测模型,我们需要一个包含火焰和烟雾图片的数据集。为了保证模型的准确性和泛化能力,建议收集至少500张火焰和烟雾的图片,保证数据的多样性和代表性。训练过程中,模型会输出每个Epoch的训练损失和验证准确率,便于我们监控模型的学习情况。

YOLO 1316

RK3568 OpenHarmony 3.2-Release 移植 Dropbear SSH 服务实战指南

本文详细介绍了在RK3568开发板上为OpenHarmony 3.2-Release系统移植轻量级Dropbear SSH服务的完整实战指南。内容包括环境配置、编译集成、服务调试与安全优化,解决了嵌入式设备远程调试与安全文件传输的痛点,显著提升开发效率。

uuu88的博客 511

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

RK3568平台OpenHarmony 3.2-Release中Dropbear SSH服务的编译适配与问题解决

本文详细介绍了在RK3568平台OpenHarmony 3.2-Release系统中移植和适配轻量级Dropbear SSH服务的过程。内容包括环境配置、编译脚本编写、系统集成、问题排查及安全优化,为开发者提供远程调试和管理OpenHarmony设备的完整解决方案,显著提升开发效率。

silver的专栏 1026

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

RK3568------Openharmony 4.0-Release 浏览器部署安装

浏览器。本片文章将重点介绍如何利用Openharmony仓库中的样例代码,安装部署浏览器(Browser)到系统中本人之前一直从事应用开发,借着这次电鸿的契机进行系统级开发的学习,将我在工作中的遇到的问题及解决思路记录并分享,希望可以与诸君共勉目前网上技术讨论群大都是鸿蒙的应用开发,总结此类文章也是希望将同样进行鸿蒙设备开发的同僚召集到一起,一起讨论学习。如果有同样在进行鸿蒙设备开发的朋友,可以加我的联系方式,期待您的消息个人微信。

weixin_42868855的博客 2053

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

下一篇: RK3568------Openharmony 3.2-Release 文件系统打包
付晨阳1
博客等级 码龄8年 322粉丝 13原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值