在CM4上配置Yocto图像以与官方Raspberry Pi显示器配合使用



我有一台Raspberry Pi CM4(带eMMC),运行一个使用Yocto构建的映像。CM4在CMIO官方董事会上运行。我想使用官方的Raspberry Pi 7";使用DSI界面显示,但我很难让它工作。显示屏根本没有打开。我需要帮助正确配置我的图像或yocto构建,以便使用此显示。

工作原理:

  1. 它在Raspberry Pi 4模式B上按预期工作。我可以将基于Yocto的图像闪存到SD卡,设备按预期引导,显示器工作

  2. 它使用官方的Raspberry Pi操作系统映像在CM4上工作,但只有在我完成以下操作之一之后:

    a。按照计算模型文档中的说明添加dt-blob.bin文件

    b。我在引导文件夹中的config.txt文件中添加了以下行:dtoverlay=vc4-fkms-v3d

问题:

当我将基于Yocto的图像闪烁到树莓派时,屏幕不起作用。设备启动,我可以通过HDMI获得输出,但不能通过DSI接口。

我尝试过的

  1. 我已经将dt-blob.bin文件下载到设备上的/uboot/和/boot/文件夹中并重新启动,但它没有任何效果
  2. 我将vc4-kms-dsi-7英寸dtbo添加到/uboot/overloads文件夹中,并将dtoverlay=vc4-fkms-v3d添加到/ubot/中的config.txt中,但它仍然没有任何效果

感觉这是一个与设备树相关的问题。我想Raspberry Pi 4B和CM4在引脚使用方面存在一些差异,这使得我的图像在CM4上不起作用。

我注意到的一件事是,我使用的图像在config.txt中有dtoverlay=vc4-fkms-v3d,而官方图像有dtoverlay=vc4-kms-v3d。我不知道这是否有什么不同,但在我的图像上将其更改为fkms并重新启动并没有任何效果。

这是我的yocto构建的local.conf文件的摘录:

MACHINE ?= "raspberrypi4"
ENABLE_DWC2_HOST = "1"
RPI_USE_U_BOOT = "1"
MENDER_BOOT_PART_SIZE_MB = "40"
IMAGE_INSTALL_append = " kernel-image kernel-devicetree"
IMAGE_FSTYPES_remove += " rpi-sdimg"
MENDER_FEATURES_ENABLE_append = " mender-uboot mender-image-sd"
MENDER_FEATURES_DISABLE_append = " mender-grub mender-image-uefi"
MENDER_SERVER_URL = "https://hosted.mender.io"
MENDER_TENANT_TOKEN = [censored]

这个构建使用了meta-rasperrypi和meta-rpi64层。

如有任何帮助了解问题并使此显示器正常工作,我们将不胜感激。

谢谢!

我最终解决了这个问题。local.conf文件有另一个冲突的MACHINE ?= "raspberrypi3-cm"命令。我删除了这个并重新创建了图像。然后,当我仍然作为存储设备连接到PC时,我将dt-blob.bin文件添加到/boot/驱动器。

然后我启动了CM4,显示器工作了。

下一步是弄清楚如何在yocto构建中实现设备树覆盖,但这超出了这个问题的范围。

最新更新