5. 屏幕模组

5.1. mipi屏

LubanCat-RK系列板卡支持野火自家提供的mipi屏以及树莓派5寸屏(需要转接板)

  • 屏幕名称:野火mipi屏

  • 屏幕类型:LCD

  • 分辨率:1080x1920

  • 色彩:RGB888

  • 接口:四通道mipi-dsi

购买链接: (野火)5.5寸电容屏1920X1080 MIPI接口5点触控 颜色深度24位 RGB888

  • 屏幕名称:树莓派5寸屏(需要转接板)

  • 屏幕类型:LCD

  • 分辨率:800x480

  • 色彩:RGB888

  • 接口:四通道mipi-dsi

购买链接(仅供参考): (淘宝)树莓派屏幕购买链接

5.2. 接入mipi屏

将刷入专用镜像:Image-rk3568_lubancat_2_mipi1080p,rk3568支持MIPI+HDMI显示。rk3566默认关闭。

注意

接入HDMI时,两边会有黑边现象,这是因为HDMI作为副屏会根据主屏MIPI的宽高比进行缩放。

LubanCat-RK系列板卡的mipi接口类型都一样,使用的都是30pin的fpc排座,如图下

../../_images/screen4.png

与mipi屏幕的连接如图下

../../_images/screen3.png

危险

mipi-dsi接口不支持热插拔,请勿在上电的时候安装或者卸载屏幕, 上电时安装和卸载可能会导致板卡短路, 轻则板卡保护关机,重则损坏芯片的接口或者烧坏芯片

上电启动板子,开机显示:

../../_images/screen1.png

5.3. 设置屏幕横屏方法

我们需要在系统启动时配置好屏幕的参数,并通过mipi接口发送正确的信号给屏幕控制器。这样,屏幕就能正常显示系统的图形界面,方便用户操作和交互。

提供SDK默认竖屏,需要改横屏请参考我们修改方法如下: 找到文件修改:

rk356x:android11-dev/device/rockchip/rk356x/BoardConfig.mk
rk3588:android12-dev/device/rockchip/rk3588/BoardConfig.mk

屏幕信息参考下:

#rotate screen to 0, 90, 180, 270
#0:   ROTATION_NONE      ORIENTATION_0  : 0       #竖屏
#90:  ROTATION_RIGHT     ORIENTATION_90 : 90      #横屏
#180: ROTATION_DOWN      ORIENTATION_180: 180
#270: ROTATION_LEFT      ORIENTATION_270: 270

将Recovery和Android系统改为横屏:

- TARGET_RECOVERY_DEFAULT_ROTATION ?= ROTATION_NONE
+ TARGET_RECOVERY_DEFAULT_ROTATION ?= ROTATION_RIGHT

- SF_PRIMARY_DISPLAY_ORIENTATION ?= 0
+ SF_PRIMARY_DISPLAY_ORIENTATION ?= 90

Android12:禁用dsi1,防止启动vp2与3导致卡死系统

// 野火10.1寸屏幕
  #include "rk3588s-lubancat-dsi0-ebf410177_800x1280.dtsi"
- #include "rk3588s-lubancat-dsi1-ebf410177_800x1280.dtsi"
+ #include "rk3588s-lubancat-dsi1-ebf410177_800x1280.dtsi" //禁用dsi1

以上修改完成后,重新编译刷上开机屏幕已是横屏了。

../../_images/screen2.png

5.5. 修改Android动画

概述

Android 开机动画是一个存储在 bootanimation.zip 文件中的无压缩 ZIP 档案,通常位于 /system/media/目录。该文件包含 PNG 图片序列和一个 desc.txt 配置文件,用于定义动画的分辨率、帧率和播放方式。通过替换 bootanimation.zip,您可以自定义开机动画。

本教程将指导您:

  • 创建一个新的 bootanimation.zip 文件,基于您的配置(分辨率 720x190,帧率 60 FPS,单部分动画)。

  • 将新的 bootanimation.zip 安装到 Android 设备。

准备工作

所需工具

  • 电脑:Windows、Mac 或 Linux 系统。

  • 图像编辑软件:如 Photoshop、GIMP,用于创建或编辑 PNG 图片。

  • 7-Zip 或 WinRAR:用于创建无压缩的 ZIP 文件。

  • ADB(Android Debug Bridge):用于将文件推送至设备(可在 Android SDK 中下载)。

设备要求

  • Android 设备(已启用 USB 调试)。

  • 确保设备分辨率与动画配置匹配(本例为 720x190)。

步骤 1:创建新的 bootanimation.zip 文件

1.1 准备动画素材

创建 PNG 图片:

  • 使用图像编辑软件创建一系列 PNG 图片,每张图片代表动画的一帧。

  • 图片分辨率应为 720x190(与你的配置匹配)。

  • 命名图片为连续编号,例如 0000.png, 0001.png, 0002.png 等,建议从 0000 开始。

  • 确保图片格式为 PNG(支持最高 32 位),避免使用 JPG 或其他格式。

  • 根据帧率 60 FPS,每秒需要 60 张图片。例如,5 秒动画需要约 300 张图片。

组织文件夹结构:

  • 创建一个名为 bootanimation 的文件夹。

  • 在 bootanimation 文件夹中,创建子文件夹 part0(根据你的配置 part0)。

  • 将所有 PNG 图片放入 part0 文件夹。

示例结构:

bootanimation/
├── desc.txt
└── part0/
    ├── 0000.png
    ├── 0001.png
    ├── 0002.png
    └── ...

1.2 创建 desc.txt 文件

编写 desc.txt:

  • 在 bootanimation 文件夹中创建 desc.txt 文件。

  • 根据你的配置(720 190 60 和 c 1 30 part0),内容如下:

720 190 60
c 1 30 part0
  • 第一行:720 190 60

720:动画宽度(像素)。

190:动画高度(像素)。

60:帧率(每秒帧数,FPS)。
  • 第二行:c 1 30 part0

c:动画类型,表示在系统启动完成时立即停止.

1:循环次数(1 表示播放一次)。

30:动画结束后暂停的帧数(以帧为单位,30 帧在 60 FPS 下约为 0.5 秒)。

part0:动画部分的文件夹名称。
  • 注意:文件需使用 Linux 换行格式(LF),避免 Windows 的 CRLF 格式。可用 Notepad++ 或 VS Code 保存为 LF 格式。

确保文件正确:

  • 确认 desc.txt 和 part0 文件夹名称与配置一致。

  • 确保 PNG 文件按顺序命名,且无其他无关文件(如 Windows 自动生成的 thumbs.db)。

1.3 打包 bootanimation.zip

使用 7-Zip 打包:

  • 打开 7-Zip,导航到 bootanimation 文件夹。

  • 选中 desc.txt 和 part0 文件夹。

  • 右键选择“添加到压缩包”。

设置:

压缩格式:zip

  • 压缩级别:存储(无压缩,重要!)

  • 输出文件名:bootanimation.zip

  • 点击“确定”生成 bootanimation.zip。

验证 ZIP 文件:

  • 确保 ZIP 文件未压缩(可打开检查文件大小接近原始 PNG 文件总和)。

  • 确认内部结构正确:

bootanimation.zip
├── desc.txt
└── part0/
    ├── 0000.png
    ├── 0001.png
    └── ...

连接设备调试:

  • 将设备通过 USB 连接到电脑。

  • 打开命令行(Windows CMD 或终端)

推送文件:

使用 ADB 将新 bootanimation.zip 推送到 /system/media/

adb root && adb remount
adb push 电脑路径\bootanimation.zip /system/media/bootanimation.zip

重启设备:

使用 ADB 或手动重启:

adb reboot
  • 检查新动画是否生效。

替换源码sdk动画:

  • 测试效果ok,将源码储存device/rockchip/common/bootanimation.zip,替换您修改的新动画文件bootanimation.zip,然后-Au编译最终完成。

调试与故障排除:

动画不播放,显示默认 Android 文本:

  • 检查 bootanimation.zip 是否正确命名为 bootanimation.zip。

  • 确保 ZIP 文件使用“存储”模式打包(无压缩)。

  • 验证 desc.txt 格式正确(使用 LF 换行,无多余空格或空行)。

  • 确保 PNG 文件命名连续且正确(如 0000.png 开始)。

黑屏或闪烁:

  • 确保 PNG 文件分辨率与 desc.txt 中的 720 190 一致。

  • 检查是否存在无关文件(如 thumbs.db)。

  • 尝试将文件放置在 /system/media/

动画播放速度不正确:

  • 确认 desc.txt 中的帧率(60 FPS)与 PNG 图片数量匹配。

  • 调整图片数量或帧率以优化播放时长。