This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-AM335X:BeagleBone Black 上的 U-Boot 启动界面

Guru**** 2478765 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1507520/processor-sdk-am335x-u-boot-splash-screen-on-beaglebone-black

器件型号:PROCESSOR-SDK-AM335X


工具/软件:

您‘D、我目前有一个 BeagleBone Black 运行预构建映像“Mbian 11.x (Bullseye) Minimal Snapshot “、我已经完成了启动时运行 Python Qt 应用程序所需的所有配置。
现在、我有一项新要求:向 U-Boot 添加启动界面映像。
我遵循 Linux SDK 中的“‘09_03_05_02“指南、最近在该指南中添加了此功能、但我仍然不清楚确切的步骤。
我的想法是使用 SDK 在主机 PC 上编译新的 U-Boot、首先根据‘3.1.2.5 节对其进行配置。 U-Boot 启动界面“
编译后、我想安装我在主机 PC 上已经工作的预构建映像、并将原始 U-Boot 替换为新编译的 U-Boot。
我不确定这是不是正确的程序。 如果有人能指导我,我会非常感激。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    正确无误。

    SDK 在主机 PC 上编译新的 U-Boot、首先根据‘3.1.2.5 节对其进行配置。 U-Boot 启动界面。'

    不确定您的意思是“装载我已在主机 PC 上运行的预构建映像“。
    在 SD/eMMC 上  安装 Linux 文件系统、并使用 在 SD/eMMC 中安装引导二进制文件时提供的命令替换为新的 U-Boot 二进制文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、提前感谢您的帮助。  我已经编译了 U-Boot 并生成了文件MLOu-boot.bin、和u-boot.img,但由于我的 SD 卡没有引导分区(它只有分区)rootfs,我复制MLOu-boot.img/boot内目录rootfs. 我是否正确执行此操作、或者是否应该为引导创建单独的分区? 另外、我的第二个问题是、稍后我需要像fatload mmc 0 $loadaddr archivo.bmp.gz在 U-Boot 控制台中那样使用命令、并且由于它使用了fatload、我假设我需要在 SD 卡上使用 FAT 分区。  最后、这个 BMP 映像附带 SDK、我应该将其复制到 SD 卡中、对吧?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 SD (ls /media/ingenieria3/rootfs/boot) 上的分区内有以下文件:
    -config-5.10.168-ti-R72 -System.map-5.10.168-ti-R72 -uEnv.txt
    -dtbs -ti_logo_414x97_32bpp.bmp.gz -vmlinuz-5.10.168-ti-r72
    -mlo -uboot
    -SOC.sh -u-boot.img
    我成功地使用 ext4load MMC 0:1 $loadaddr /boot/ti_logo_414x97_32bpp.bmp.gz 加载映像、
    但当我运行 bmp display $loadaddr 时、我得到:
    未知命令'bmp'-尝试'help'。
    我已经将 CONFIG_CMD_BMP 添加到 AM335x_evm_defconfig 并重新编译 U-Boot。 可能缺少哪些内容?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:

    、“dbian‘D11.x (Bullseye) minimal Snapshot、’

    尽管我们最近推出的器件支持 Debian、但我们并未正式在 AM335x 上提供/支持(查看 AM6x 产品)。 因此、我们在 E2E 上所说的功能有限、但我们可以尝试一下。

     我已经编译了 U-Boot 并生成了文件MLOu-boot.binu-boot.img、但由于我的 SD 卡没有引导rootfs分区(它只有分区)、我将MLO和复制u-boot.img/boot内侧的目录rootfs

    BeagleBone Black 处理社区映像的方式是 以“原始“方式从 eMMC 或 SD 卡加载 MLO 和 U-Boot、因此需要直接编程到介质中、例如使用`dd`命令。 此主题提供了大量有关如何执行此操作的适用信息: https://forum.beagleboard.org/t/updating-to-2022-u-boot/31598/14  、然后再看一些、似乎 BeagleBone Black 社区软件/脚本的较新版本已移至基于文件系统的引导(MLO 和 U-Boot 将位于 FAT 格式的引导分区中)。 因此、您看到的任何错误都可能是由于 U-Boot 未按预期进行编程或加载、但为此、我们需要首先了解您的确切引导流程。

    您能否共享完整的引导日志、以便或许我们可以看到 U-Boot 的加载位置?

    您还可以将 MLO/U-Boot 版本字符串/Git COMMIT ID 与源树中的内容进行比较、以查看是否仍在使用“旧“U-Boot、或者您自己构建的 U-Boot。

    据说、将 TI SDK v9.x U-Boot 堆栈与 Debian 社区映像结合使用时、您可能会也可能不会遇到问题;因为 BeagleBone U-Boot 可能具有映像所依赖的一些自定义设置(典型项目是“覆盖“等 — 但我稍后没有研究过这些内容)。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    感谢您的答复。

    随附:
    Boot(引导 log.txt)-完成引导日志
    commands.txt — 所有编译命令

    我的编译 U-Boot 版本:
    2a13324e (ti-u-boot-2023.04、标签:09.03.05)

    e2e.ti.com/.../5265.boot-Log.txt

    e2e.ti.com/.../4617.commands.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:

    感谢文件。 在深入探讨之前、我需要先问一个问题。 您希望启动界面功能如何工作? 是否像 AM335x EVM 板那样连接了 LCD 显示屏? 因为这是预期的结果、也是我们 SDK U-Boot 支持的唯一方法。 如果您预计 HDMI 接口上会出现启动屏幕、这将无法正常工作且不受支持(缺少基础设施,例如 HDMI 发送器的驱动程序和用于配置它的代码等)。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    感谢您的澄清。 是的、我使用的是 LCD 显示屏、而不是 HDMI。

    此致、
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    > U-Boot SPL 2022.04-ge0d31da5 (Aug 04 2023 - 18:48:26 +0000)
    > Trying to boot from MMC2

    这里有两件事。

    1. 这不是您构建的 U-Boot、您可以判断版本不同、并且您怀疑这已经是因为您的`bmp`命令不起作用

    2. 从“MMC2_"引导“引导表示 U-Boot 正在使用 AM335x SoC 上的第二个 MMC 接口/外设、它实际上称为 mmc1 或 MMC1(我知道这会令人困惑)。 无论如何、如果您查看 BeagleBone Black 原理图、它会显示连接了一个 eMMC 模块、这是您现在要从的引导位置。 因此、难怪您的 SD 卡相关更改没有影响。

    为了需要从 SD 卡使用 U-Boot、您需要...

    1. 通过在上电期间按住 BeagleBone Black 上的按钮(应该是标记为“S2"的“的开关的开关)来强制 SD 卡引导。 BBB 文档提供了有关此方面的更多信息。

      ...或者...

    2. 从 eMMC 擦除 U-Boot、这样会始终自动回退到从 SD 卡引导

    然后、您当然需要在 SD 卡上正确安装 U-Boot、最好是在专用的 FAT 格式化的引导分区中。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的详细说明。

    我们已经尝试了从 SD 卡引导 U-Boot 的两个选项:在上电期间按住 S2 按钮、并从 eMMC 擦除 U-Boot。 完成此操作后、该消息现在显示:

    > Trying to boot from MMC1

    但是、我们仍然看到相同的版本:

    > U-Boot SPL 2022.04-ge0d31da5 (Aug 04 2023 - 18:48:26 +0000)

    因此、我们构建的 U-Boot 似乎仍然没有从 SD 卡加载。

    关于在专用 FAT 格式的引导分区上安装 U-Boot 的注意事项、我们不完全确定如何处理。 我们目前正在考虑三个选项:

    1. 为 BeagleBone 查找符合电路板要求并包含 SDK 支持的社区构建映像、

    2. 尝试修改当前映像以添加正确的 FAT 引导分区、

    3. 或使用 SDK 从头开始构建所有内容、尽管这可能需要更多时间、并且需要更深入的知识和对该过程的完整掌握。

    随附:
    log2.txt日志文件。

    e2e.ti.com/.../4338.boot-Log2.txt
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid=“404688" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1507520/processor-sdk-am335x-u-boot-splash-screen-on-beaglebone-black/5810702 #5810702“]
    > Trying to boot from MMC1

    但是、我们仍然看到相同的版本:

    > U-Boot SPL 2022.04-ge0d31da5 (Aug 04 2023 - 18:48:26 +0000)

    因此、我们构建的 U-Boot 似乎仍然没有从 SD 卡加载。

    [/报价]

    您能否将 TI AM335x SDK 映像编程到 SD 卡中并直接从该映像进行引导、看看您最终是否获得了要加载的不同 U-Boot?

    [图像下载 URL]
    https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-1BUptXj3op/09.03.05.02/tisdk-default-image-am335x-evm-09.03.05.02.wic.xz

    【如何引导】
    https://software-dl.ti.com/processor-sdk-linux/esd/AM335X/09_03_05_02/exports/docs/linux/How_to_Guides/Target/How_to_Boot_Beagle_Bone_Black_with_Processor_SDK_Linux.html

    如果这样做,你可以用你的 Debian 发行版替换 rootfs 分区内容。

    此致。 Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    首先、我验证了默认 SDK 映像是否根据需要包含两个分区:boot1 和 rootfs。 使用该映像进行引导会产生以下结果。

    附加的引导映像默认值:引导映像 default.txt

    e2e.ti.com/.../8547.boot-image-default.txt

    然后、我替换了 MLO、u-boot.img 和 ti_logo 文件、重新启动系统并获得了此结果

    附加的引导映像默认值+编译的 u-boot:引导映像默认值+ u-boot splash.txt

    e2e.ti.com/.../2262.boot-image-default-_2B00_-u_2D00_boot-splash.txt

    如您所见、现在已加载 U-Boot I 编译的、但会出现内存错误。

    我刚才记得我没有将我的自定义 uEnv.txt(在我的 Debian 环境中配置)复制到 SDK 映像中。 复制后、内存错误仍然存在。 以下是我的 uEnv.txt 配置(如果它有用):uEnv.txt

    e2e.ti.com/.../2262.uEnv.txt

    最后,由于我注意到 uEnv.txt 包含依赖于文件系统的覆盖层,我使用 rsync 将 Debian rootfs 复制到 SDK 映像中。 但是、内存错误仍然存在。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我目前正在出差、所以无法详细了解这一点、但您提到了“存储器错误“、您能否比较 AM335x EVM 板(用于 LCD 演示的目标板)器件树文件和您使用的板中的 DDR 大小定义、看看是否存在差异。 我认为 BBB 具有 512MB、但 AM335x EVM 具有 1GB。 因此、根据内存的分配方式、这可能是您的问题;您需要检查和更新这些定义、并以适合 BBB 的方式重新排列内存映射。 此外、我认为您还可以使用具有 1GB DDR 的 BeagleBone 型号。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的指导。 您说的是、我编译的带有启动界面的 u-boot 是为 AM335x EVM 准备的、而不是为 BeagleBone Black (BBB) 准备的、这可能是导致存储器问题的原因吗?

    我注意到、在我的uEnv.txt文件中、“dtb'行被注释掉、因此我不确定dtb'引导过程引用的是哪个“文件。

    /media/path/boot1我编译的 u-boot 的引导分区 () 中、我找到了'am335x-boneblack.dtb'文件、其中包含以下代码:

    memory@80000000 {
    device_type = "memory"; reg = <0x80000000 0x20000000>;
    };

    am335x-evm.dtb文件包含以下其他代码:

    memory@80000000 {
    device_type = "memory"; reg = <0x80000000 0x10000000>;
    };

    我不确定这是否是您所指的。

    在另一个问题上,我在论坛“https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1459592/processor-sdk-am335x-uboot-splash-screen“上遇到了一个讨论,在那里有人有类似的内存问题。 虽然他们提到使用设备树和修补程序、但我并不完全理解他们是如何解决的。 您能帮我澄清一下吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我目前正在国际出差。 请等待几天的答复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您告诉我、Andreas。 当您回来时、我将等待您的答复。 祝您旅途顺利、安全。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:

    memory@80000000 {
    device_type = "memory"; reg = <0x80000000 0x20000000>;
    };

    am335x-evm.dtb文件包含以下其他代码:

    memory@80000000 {
    device_type = "memory"; reg = <0x80000000 0x10000000>;
    };

    我不确定这是否是您所指的。

    [/报价]

    是的、这就是我所指的。 您可以看到 BBB 具有 512MB、而 AM335x EVM 具有 1GB。

    虽然这是一种差异 、但实际上并不重要。 由于我刚刚在 E2E 中搜索并在此处找到了这个帖子、因此显示的错误消息与您遇到的错误消息相同:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1459592/processor-sdk-am335x-uboot-splash-screen/5600267

    在此 E2E 主题中、使用了仅具有 256MB DDR 的定制电路板、比您拥有的电路板少、并使用了 LCD 启动界面。 查看上面发布的 DTS 文件、我没有看到任何关于 DDR 大小或显示缓冲区放置的引用、也没有任何与此问题相关的内容。

    该解决方案建议将“bootph-all"添加“添加到 U-Boot 阶段的关键 DTS 节点、只需在本例中将“am335x-evm-u-boot.dtsi"文件“文件添加到“am335x-boneback.dts"中“中即可完成该操作。 您能否试一试、看看这是否能让您通过错误。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    感谢您以前的指导。 遵循您的建议:

    1. DTB 修复:  我包括 am335x-evm-u-boot.dtsi  am335x-boneblack.dts、重新编译了 dtb、并加载了更改。 这解决了存储器错误、并且该 bmp 命令现在在 U-Boot 中可用。

    2. BMP 加载:  我已成功将映像加载到存储器:

      fatload mmc 0 $loadaddr ti_logo_414x97_32bpp.bmp.gz 

      (读取 12,285 字节,无错误)。

    3. 问题:  运行时:

      BMP display $loadaddr m m 

      未显示任何输出 没有错误信息、显示屏上没有可视输出、控制台也没有变化。

     E2E 主题中、用户通过添加 LCD 引脚多路复用配置来解决此问题:

    LCD_pin_mux 和 CONFIG_Module_pin_mux (LCD_pin_mux)


    您建议我再试一次什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:

    您建议我下一步做什么?

    另一个开机自检出现背光灯未打开问题、导致液晶屏显示为黑色。 您可能需要再次检查此项(最好在液晶屏上进行测量)。

    沿相同的线路、使用逻辑分析仪并探测 LCD 线路、以查看是否有任何有意义的活动。 这有助于缩小问题可能的位置(引脚多路复用,连接,电气,时序等)

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    感谢您的持续支持。

    按照您的建议、我们在运行 bmp display $loadaddr m m 命令后执行了测量。 我们确认 LCD 背光已正确供电。 然而、当我们探测 LCD 数据和控制线时、我们没有检测到任何活动、没有观察到任何转换或信号变化。

    为了提供完整的上下文信息、在我们当前的 Debian 映像设置中、与 LCD 相关的唯一配置是以下器件树叠加层:

    uboot_overlay_addr0=/lib/firmware/BB-BONE-4D7N-01-00A1.dtbo

    这是我们为启用 LCD 所做的唯一修改。 除了此覆盖之外、我们尚未应用任何其他引脚多路复用设置或自定义 DT 配置。

    请告知我们您的下一步建议。

    此致、
    拉斐尔·弗洛雷斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:

    首先、您应该检查内核日志中是否有显示驱动程序探测/活动的迹象。 您可以搜索“drm"和“和“lc"并“并查看是否有任何内容。 我没有此设置、因此我无法准确告诉您预期会发生什么、因此您需要自己解决此问题。 您还可以在处检测 LCD 外设驱动程序  drivers/GPU/DRM/tildc/tildc_drv.c 解决这些问题 printk() 例如、在 probe 和 init 函数中键入指令、以查看是否调用了这些指令。 这意味着您的设备树更改已正确应用。

    此外、系统启动后、您还可以通过中的 sysfs 接口访问有效的设备树、以检查该树  /sys/firmware/devicetree/base 。 如果您在其中导航、您应该能够确定是否正确应用了与显示相关的设置。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    感谢您的详细答复。

    我遵循你的建议,并运行dmesg | grep drmdmesg | grep lcd.
    我也探索/sys/firmware/devicetree/base/. 下面、我附上了log.txt文件的内容以及我获得的结果:
    e2e.ti.com/.../logSDK.txt

    至于printk(),我还没有这样做,因为我还没有经历内核编译过程—我仍然需要研究它。 到目前为止、我只使用您提到的配置编译了 U-Boot。 此外,只是提醒一下,根文件系统是 Debian,我使用复制了它rsync

    最后、我将从当前在我的硬件上运行的 Debian 映像中附加启动日志、因此您可以比较:

    e2e.ti.com/.../logDebian.txt

    此致、
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    只是简单地跟进此事—我理解您很忙、所以没有压力。

    根据之前的交易、我开始认为这个问题可能与 TI SDK 中如何处理叠加有关。 在 Debian 中,我只需添加BB-BONE-LCD7-01-00A3.dtbo到就uEnv.txt可以启用 LCD ,它就可以正常工作。

    但是、在 SDK 中、即使具有相同的覆盖层、它似乎也不会生效。 我的问题是:

    TI SDK 是否uEnv.txt像 Debian 那样实际上支持通过加载覆盖层、或者是否应该在中手动描述.dts并重建 LCD 设置?

    问题可能是由于叠加不能正确应用。

    再次感谢、
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:

    TI SDK 实际上是否支持uEnv.txt像 Debian 那样通过加载覆盖层、或者是否应该在中手动描述 LCD 设置.dts并重新构建?

    不是、这是一项特定于 BeagleBone 社区的功能、在主线和 TI SDK 中不可用。 您需要手动应用/集成 DTS 更改。 或者、您仍可以使用 U-Boot / U-Boot 脚本应用覆盖层(将它们添加到`name_overlays` U-Boot ENV 变量中、至少在我们当前用于其他平台的 v11 SDK 中 — 不确定 AM335x SDK v9.x)。

    听起来您想先执行手动集成方法、看看是否可以使其在 TI SDK 环境中完全正常工作、然后再考虑集成的理想方法。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    再次感谢您的持续支持。

    在调试 LCD 启动画面的过程中、我想与您分享我遵循的流程以及一些文件:

    • 首先、我附上 覆盖层 我在 Debian 下成功使用了 (BB-BONE-4D7N-01-00A1.dts)。 此覆盖层在引导时激活 LCD。

      e2e.ti.com/.../BB_2D00_BONE_2D00_4D7N_2D00_01_2D00_00A1-dts.txt
    • 然后、我附上原件 am335x-boneblack.dts从 TI SDK (09.03.05.02)、unmodified.e2e.ti.com/.../am335x_2D00_boneblack-dts.txt 下载
    • 我知道 SDK 中不支持重叠、因此我尝试了 手动合并 SDK 的覆盖层am335x-boneblack.dts。 我对设备树的使用经验不是很丰富、但我尽量复制面板和 pinmux configurations.e2e.ti.com/.../am335x_2D00_boneblack-2-dts.txt
    • 我编译了生成的 dts、替换了引导分区上的 dtb、并确认 U-Boot 已正确加载(我设置并验证是否使用了它)CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"
    • 当前状态:

      运行以下 U-Boot 命令时:

      => fatload mmc 0 $loadaddr ti_logo_414x97_32bpp.bmp.gz
      => bmp display $loadaddr m m

      我得到这个错误:

      Error: 16 bit/pixel mode, but BMP has 0 bit/pixel

      到目前为止、我已经验证过:

      • 映像已正确加载到 RAM(读取 12,285 字节)。

      • 液晶屏背光亮起。

      • 我使用示波器看到 LCD 数据和控制线上的活动。

      • 我尝试将 BMP 转换为 24bpp、但这没有帮助。

      • 我怀疑我可能是 DTS 中缺少一些配置 、可能与颜色深度或显示模式有关。

      对于哪些内容可能缺失或配置错误、您是否有任何建议?

      再次感谢您的指导!

      此致、
      Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    继上一条消息之后、我想和大家分享一下我针对启动界面问题执行的其他几项测试。

    我将 32bpp 压缩 BMP 图像转换为未压缩的 16bpp BMP 版本。 然后、使用以下命令:

    => fatload mmc 0 $loadaddr ti_logo_414x97_16bpp.bmp

    U-Boot 不再显示错误消息、但启动界面仍然不会显示在屏幕上。

    此外、我还重新编译了器件树panel-info、并将以下设置调整为 32bpp:

    panel-info { ac-bias = <255>;
    ac-bias-intrpt = <0>;
    dma-burst-sz = <16>;
    bpp = <32>;
    fdd = <0x80>;
    sync-edge = <0>;
    sync-ctrl = <1>;
    raster-order = <0>;
    fifo-th = <0>; };

    我再次尝试使用 32bpp 压缩 BMPti_logo_414x97_32bpp.bmp.gz ()、但尽管 U-Boot 没有报告错误、但启动界面仍然没有显示。

    因此、我怀疑面板配置或帧缓冲区分配中可能仍然缺少设置。

    如有任何建议或见解、我们将不胜感激。

    此致、
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:

    很高兴看到您能够推进这部分。 我已将此主题重新分配给我们的显示子系统 (DSS) 专家、以便对可能的配置问题进行评论。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    再次感谢您在整个调试过程中提供的所有帮助和指导。 你的支持帮助我取得了这一成就。

    感谢您将该主题重新分配给 DSS 专家、我将根据他们的意见继续处理此问题。

    再次感谢、此致、
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:
    内部调查、请在 3 天内回复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Divyansh:
    感谢您的跟进。 我期待您的答复。
    此致、
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:
    对拖延表示歉意、但我们的另一位专家正在研究这一问题、我们希望他们很快就会作出答复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:
    我正在处理这个问题。
    此显示在内核中是否适合您?
    如果是、内核和 U-Boot 中的面板信息和显示时序是否都相同?
    另外、您是否在运行“bmp 显示“后得到像素时钟 (pclk)?
    我有一个类似的显示屏;我将尝试使用 BeagleBone Black 进行更新。

    此致、

    Sukrut

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rafael:

    您是否使用 16 位 (LCD_DATA0 - LCD_DATA15) 显示屏?
    我已经使用 PFA 补丁在 BBB 上测试了 16 位显示器 Gen4-4DCAPE-70CT-CLB(重命名为.patch)。
    看起来您在 mux.c 中缺少引脚多路复用更改

    请确保您的.config 文件包含“CONFIG_CLK_TI_GATE=y"。“。
    如果要在 16 位显示器上显示 16bpp BMP、请在配置中添加“CONFIG_BMP_16bpp=y"。“。

    我还测试了 CAPE-N-ND   BBB 上的 24 位显示 NHD-7.0CTP-BBB(这需要额外的引脚多路复用和显示/面板信息更改)。

    如果这对您有用、或者您发现任何问题、请告知我们。

    e2e.ti.com/.../u_2D00_boot_5F00_bbb_5F00_dts_5F00_splash_5F00_screen_5F00_16bit_5F00_LCD.txt

    e2e.ti.com/.../u_2D00_boot_5F00_bbb_5F00_mux_5F00_splash_5F00_screen_5F00_16bit_5F00_LCD.txt

    此致、

    Sukrut

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sukrut:

    对延误深表歉意—我完全参与了另一个项目、无法尽快与您联系。

    是的、我的显示屏是 16 位 (LCD_DATA0 - LCD_DATA15)、我没有对内核进行任何修改。 我仅更新了 U-Boot 中的器件树并相应地配置了启动界面。

    很抱歉、我们很快就回复了。我将详细了解所有内容、并对星期一作出更全面的回复。 感谢您的耐心以及您迄今为止提供的所有支持。

    再次感谢、此致、
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Sukrut,我应用了.config更改 (CONFIG_BMP_16BPP=y,CONFIG_CLK_TI_GATE=y) 并更新了两个.dtsmux.c 文件基于你的补丁—闪屏现在显示,谢谢!  Raised handsμ s

    图像略微倾斜或透视—我正在附加一张照片、因此您可以看到它:

    下面我将介绍到目前为止我所遵循的步骤。

    e2e.ti.com/.../step-summary.txt

    接下来我们要看的是:

    1. 校正图像的倾斜度/透视度

    2. 让启动界面在引导时自动运行、而不会中断 U-Boot

    3. 了解如何将所需的所有内容集成到此 SDK 映像中、以便它可以像我的 Debian 设置一样启动 Python Qt 应用程序

    再次感谢您的帮助!
    Rafael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sukrut:

    快速更新—我将图像替换为我自己生成的一个格式为 16 位 BMP 格式 (RGB565 ),分辨率为 800x480。 当我加载它未压缩(而不是).bmp.bmp.gz,它现在正确地显示在屏幕上,没有任何倾斜或失真。

    我不确定是什么导致了原始图像的倾斜 — 也许是与压缩或 BMP 格式相关的东西 — 但如果你对此有任何见解,我肯定会感兴趣。

    现在、我将转到下一步:在启动时自动加载启动界面、无需用户交互。
    您是否有任何官方指南或建议的实现步骤?

    再次感谢您的支持!

    此致、
    Rafael