rk3399pro移植openharmony3.0移植笔记1

说明

通过网上现有资料和文章,我在rk3399pro上移植openharmony3.0标准版。并支持屏幕显示,触摸,HDF驱动框架,支持使用HDF驱动gpio点亮led。文章主要是对网上移植资料的整理和移植步骤的说明。移植过程中还会小问题,这里不做说明,只介绍大体过程,对移植过程做记录,方便后期查看。

环境介绍

修改挂载镜像关键文件

openharmony/base/startup/init_lite/services/etc/init.cfg

		"mount ext4 /dev/block/platform/fe330000.sdhci/by-name/oem /vendor wait rdonly barrier=1",
                "mount ext4 /dev/block/platform/fe330000.sdhci/by-name/userdata /data wait nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc"

屏幕

我使用的是1280x800的十寸的mipi屏。

openharmony/foundation/graphic/standard/frameworks/wm/src

修改以上内容,否则无法进入系统ui界面。

触摸

openharmony/third_party/eudev/rules.d/touchscreen.rules

ATTRS{
          
   name}=="ft5x0x_ts_2", ENV{
          
   ID_INPUT}="1", ENV{
          
   ID_INPUT_TOUCHSCREEN}="1"
ATTRS{
          
   name}=="VSoC keyboard", ENV{
          
   ID_INPUT}="1", ENV{
          
   ID_INPUT_KEYBOARD}="1"
DRIVERS=="hid-multitouch", ENV{
          
   ID_INPUT}="1", ENV{
          
   ID_INPUT_TOUCHSCREEN}="1"

在板子上使用cat /proc/bus/input/devices查看触摸屏名称,这里ATTRS{name}==指定自己触摸屏的名字。

内核

内核使用的4.4版本的,在.config添加以下配置项,打开虚拟终端设备,否则屏幕无法点亮。

CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y

内核的编译:一开始可以将内核单独编译使用make ARCH=arm64 CROSS_COMPILE=/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- rd3399pro-android.img -j12

CROSS_COMPILE#指明交叉编译工具的路径和使用的工具。

移植成功照片

经验分享 程序员 微信小程序 职场和发展