我有一台Raspberry Pi CM4(带eMMC),运行一个使用Yocto构建的映像。CM4在CMIO官方董事会上运行。我想使用官方的Raspberry Pi 7";使用DSI界面显示,但我很难让它工作。显示屏根本没有打开。我需要帮助正确配置我的图像或yocto构建,以便使用此显示。
工作原理:
-
它在Raspberry Pi 4模式B上按预期工作。我可以将基于Yocto的图像闪存到SD卡,设备按预期引导,显示器工作
-
它使用官方的Raspberry Pi操作系统映像在CM4上工作,但只有在我完成以下操作之一之后:
a。按照计算模型文档中的说明添加dt-blob.bin文件
b。我在引导文件夹中的config.txt文件中添加了以下行:
dtoverlay=vc4-fkms-v3d
问题:
当我将基于Yocto的图像闪烁到树莓派时,屏幕不起作用。设备启动,我可以通过HDMI获得输出,但不能通过DSI接口。
我尝试过的
- 我已经将dt-blob.bin文件下载到设备上的/uboot/和/boot/文件夹中并重新启动,但它没有任何效果
- 我将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构建中实现设备树覆盖,但这超出了这个问题的范围。