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.

[参考译文] BeagleBoard-X15:Android HMDI 显示问题

Guru**** 2935310 points

Other Parts Discussed in Thread: BEAGLEBOARD-X15, AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/669704/beagleboard-x15-android-hmdi-display-issue

器件型号:BeagleBoard-X15
主题中讨论的其他器件: AM5728

您好,  

环境:

硬件: TI AM5728 BeagleBoard-X15 板

软件: Android O (SDK 为 ti-processor-sdk-android-am57xx-evm-04.02.00.09-linux-x86-Install.bin)

问题:

该板通过 HDMI 连接到 LCD。
当我下载预编译映像并运行以下命令时:

ADB 根目录
ADB 重新安装
ADB shell 'echo "ro.hwc.primary.conn=HDMI">>/system/build.prop
ADB shell 'echo "ro.hwc.external.conn=dum">>/system/build.prop

显示屏正常。

但是、当我重建和下载这些图像时。 没有显示。

我发现替换 boot.img,显示正常。
此外,只需替换 ramdisk.img 中的"sefication"文件,显示正常。


为什么以及如何解决此显示问题?

此致、

Qu shenghui

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

    构建命令:

    导出 KERNELDIR=~μ C/ti-processor-sdk-android-am57xx-evm-04.02.00.09/board-support/linux-4.4.4.9.91+gitAUTOINC+a9f709f7cf-ga9f709f7cf/
    导出 TI_SDK_path=/home/ti_android/ti-processor-sdk-android-am57xx-evm-04.02.00.09
    导出 Android_Devkit_path=$TI_SDK_path/android-devkit
    导出 cross_compile=$androidate_devkit_path/arm-linux-androideabi-4.9.x/bin/arm-linux-androideabi-x
    导出 CC=$cross_compiling\gcc
    。 Build/envsetup.sh
    午餐 full_am57xevm-release
    使-j 48
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Qu Shenghui 您好、

    您能更详细地了解一下该器件吗?
    "我发现替换 boot.img、显示正常。
    此外,只需替换 ramdisk.img 中的"sefication"文件,显示正常。"

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

    处理方式如下:

    1.重建并下载这些映像,但不会显示这些映像。
    2.从预编译中获取 boot.img,并单独下载此 boot.img,显示正常。

    更进一步、
    1.重建并下载这些映像,但不会显示这些映像。
    2.从重建映像中获取 zImage 和 ramdisk.img,并将 ramdisk.img 解压到 root1目录。
    3.从预编译的目录中获取 ramdisk.img,然后将 ramdisk.img 解压到 root2目录。
    4.输入 root1目录,删除 sepolicy 文件,然后从 root2目录复制 sepolicy 文件。
    5.使用 root1目录创建 ramdisk_new.img。
    6.使用 zImage 和 ramdisk_new.img 创建 boot_new.img。
    7.然后下载 ramdisk_new.img,显示正常。

    如下所示创建 boot_new.img 命令:

    #cp ./AOSP-6AA.1.0/out/target/product/am57xevm/内核
    CP ./AoSP-6AA.1.0/out/target/product/am57xevm/ramdisk.img ./ramdisk_rebuild.img
    编号
    #cp ./prebuilt-images/ramdisk.img ./ramdisk_prebuild.img
    #mkdir root1.
    #gzip -d -S .img ramdisk_rebuild.img
    编号
    CD root1/
    编号
    #cpio -i -F ./ramdisk_rebuild
    编号
    #cd…
    #mkdir root2.
    编号
    #gzip -d -S .img ramdisk_prebuild.img
    编号
    #CD root2/
    #cpio -i -F ./ramdisk_prebuild
    编号
    #cd ./root1.
    编号
    rm 策略
    #cp ./root2/sepolicy
    编号
    编号
    #Find。 | cpio -o -H newc >../ramdisk_temp.img
    #cd…
    编号
    #gzip -c tmp_ramdisk.img > ramdisk_new.img
    编号
    #/home/ti_android/ti-processor-sdk-android-am57xx-evm-04.02.00.09/bin/mkbootimg --kernel kernel--ramdisk ramdisk_new.img --ramdisk_offset 0x01f00000 --base 0x80000000 --output boot_new.img
    编号
    此致、
    Qu Shenghui
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有一些异常的 log,zygote 已经被杀。
    为什么?

    [13.198396] INIT:从状态0退出未跟踪的 pid 305
    [13.204016] init:服务'gralloc-2-0'(pid 183)被信号6杀死
    [13.210531] INIT:正在发送信号9来为'gralloc-2-0'(pid 183)处理组服务...
    [13.218801] init: kill (183, 9) failed: no such process ([13.218801]初始化:kill (183,9)失败:无此
    [13.224100] init:正在发送信号9以服务'surveflinger'(pid 188)进程组...
    [13.238552] init:服务'surveflinger'(pid 188)被信号9杀死
    [13.245458] init:正在发送信号9以服务'surveflinger'(pid 188)进程组...
    [13.253716] init: Failed to open /acct/uid_1000/pid_188/cgroup.procs:no such file or directory
    [13.262523] init:killProcessGroup (1000、188、9) failed:device or resource busy
    [13.270157] init: kill (188, 9) failed: no such process (13.270157]初始化:终止(188、9)失败:无此
    [13.275421]初始化:发送信号9以处理'zygote'(pid 166)处理组...
    [13.330619] init:命令'start zygote' action=onrestart 返回0,花费55.1749ms。
    [13.339280]初始化:信号9导致服务' zygot'(pid 166)死亡
    [13.345399]初始化:发送信号9以处理'zygote'(pid 166)处理组...
    [13.353015] init:无法打开/acct/uid_0/pid_166/cgroup.procs:没有这样的文件或目录
    [13.361910] init:killProcessGroup (0、166、9) failed:device or resource busy
    [13.369169] init:write_file:Unable to open '/sys/android_power/request_state:no such file or directory
    [13.379035] init:write_file:Unable to write to '/sys/power/state:invalid arge.
    [13.386946] init:正在发送信号9以服务'audioserver'(pid 214)进程组...
    [13.402888] init:正在发送信号9以服务'cameraserver'(pid 215)进程组...
    [13.416575]初始化:正在发送信号9以服务'Media'(pid 222)进程组...
    [13.429640] init:正在发送信号9以服务'NETD'(pid 165)进程组...
    [13.443944]初始化:发送信号9为'wiicond'(pid 224)处理组服务...
    [13.458075] init:服务'NETD'(pid 165)被信号9杀死
    [13.464114] init:正在发送信号9以服务'NETD'(pid 165)进程组...
    [13.471580] init: Failed to open /acct/uid_0/pid_165/cgroup.procs:no such file or directory
    [13.480317] init:killProcessGroup (0、165、9)失败:设备或资源占线
    [13.488033] init:服务'audioserver'(pid 214)被信号9杀死
    [13.494532] init:正在发送信号9以服务'audioserver'(pid 214)进程组...
    [13.502576] init: Failed to open /acct/uid_1041/pid_214/cgroup.procs:no such file or directory
    [13.511544] init:killProcessGroup (1041、214、9) failed:device or resource busy
    [13.518982] init:kill (214、9) failed:no such process

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1) 1)对于 proc SDK Android 04.02版本、唯一支持的平台是 www.ti.com/.../TMDSEVM572Xwww.ti.com/.../TMDXIDK5728
    2) 2)对于仅限 HDMI 的配置、以下内容可能对 BeagleBoard x15有所帮助。 (假设您有 RevB)

    >>在环境分区中使用闪存 am57xx-beagle-x15-revb1.dtb 而不是 am57x-EVM-reva3.dtb。
    >>> sudo ./fastboot flash environment am57xx-beagle-x15-revb1.dtb、并保持其余映像相同。
    >>请在 processors.wiki.ti.com/.../6AO.1.0_Application_Notes 上尝试使用纯 HDMI 应用手册

    3) 3)不确定拆开包装和更新 SEPolicy 的意图。 不建议这样做。
    以下内容在 android-m 之前经过测试
    omappedia.org/.../Android_eMMC_Booting
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    无法通过更改 DTB 文件来解决此问题。

    检查内核日志、许多服务已被终止。

    内核日志已附加、请帮助检查?

    此致!

    Qu Shenghui

    e2e.ti.com/.../4048.self_2D00_image_2D00_log.txt

    e2e.ti.com/.../ps_2D00_A_2D00_nodisplay_2D00_log.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.也发送 logcat 输出。
    2.观察:看起来您使用的是 X15 Rev C (您使用的 Android SDK 版本不支持此功能、尤其是内核和 uboot 支持)。
    观察结果:您的内核日志显示了"机器模型:TI AM572x EVM 修订版 A3"。 这不正确。

    e2e.ti.com/.../2465793中所述
    如果您想在 X15修订版 C 上启动 Android。 您需要等待2018年的更高处理器 SDK 版本。
    "或"
    尝试从上游 uboot 和内核主分支中反向移植 revC 支持。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    附件是 logcat 和内核日志。

    我检查电路板,电路板是“BeagleBoard-X15”“PCB RevB1”。

    我想电路板版本是 X15修订版 B1、对吗?

    FLASH am57xx-beagle-x15-revb1.dtb、日志显示"机器模型:TI AM5728 BeagleBoard-X15修订版 B1"

    e2e.ti.com/.../self_2D002D00_RevB1_2D00_dtb_2D002D00_logcat.txt

    e2e.ti.com/.../self_2D002D00_RevB1_2D00_dtb_2D002D00_log.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来 gfx 未初始化、Android 初始化过程崩溃。 尝试 gfx 重建和闪存步骤
    processors.wiki.ti.com/.../6AO.1.0_Application_Notes


    您必须在今年晚些时候通过 proc ask Android 等待该平台支持。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在"processors.wiki.ti.com/.../6AO.1.0_Application_Notes"中找不到 gfx
    什么是 gfx?
    但我可以找到 SGX、是这样吗?

    不是 /system/lib/modules 目录、而是/vendor/lib/modules 目录。

    它在   /vendor/lib/modules 目录中有 pvrsrvkm.ko。  

    但  pvrsrvkm.ko 不是烟雾。

     

     

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

    嗨、伙计、您能给我更多建议吗?

    此致

     Qu Shenghui

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当前的 proc SDK Android 版本仅支持 www.ti.com/.../TMDSEVM572X 和 www.ti.com/.../TMDXIDK5728。

    X15 RevC 在您当前使用的基准中不是受支持的平台。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    为了阐明 Praneeth 如何确定电路板的修订版本:

    在引导日志中、它显示了

    U-Boot 2016.05-g6f6aaabf5a (2017年12月23日- 13:14:49 -0500)
    
    CPU:DRA752-GP ES2.0
    模型:TI AM5728 BeagleBoard-X15
    板:BeagleBoard X15 REV C.00 

    这意味着组装电路板时编程到板载存储器中的电路板信息表明您的电路板为修订版 C

    此致、  

    Nick

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

    Praneeth 和 Nick、您好、

    感谢您的回复!

    但我有一些问题。

    1 μ s 当我、预构建的映像时、电路板可以引导 Android。
    如何构建预构建映像? 使用了哪些命令?

    2、“X15 RevC 在您当前使用的基准中不是受支持的平台。”

    哪个版本的 proc adk Android 可以支持我的板?

    此致、

    Qu Shenghui

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

    Qu Shenghui 您好、

    请参阅 开始 Android 开发的步骤3-6。  

    2.我无法评论处理器 SDK Android 未来版本的内容。 将来的版本可能包含 X15 RevC 的器件树(DTS)文件。 由于该电路板不是由 TI 设计的、因此我将无法回答有关该电路板的问题、即使其 DTS 文件包含在将来的版本中也是如此。  

    此致、  

    Nick

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

    按照"开始 Android 开发"中的这些步骤进行操作。 "、可以构建 Android 文件系统。
    但闪存这些 Android 文件系统、HDMI 未显示、电路板无法引导 Android。
    但是、闪存预编译映像、显示正常、Android 可以引导。
    为什么?

    此致、

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

    Qu Shenghui 您好、

    构建 Android 文件系统时、您在使用 这些指令构建 Android 文件系统之前构建内核、对吧? 在这两种情况下、电路板是否至少达到 u-boot? 对于这两种情况、您的启动输出(从 uboot 到 Linux 内核的启动)是什么?

    此致、

    Nick

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

    您好、Nick、
    "在构建 Android 文件系统时、您在使用这些指令构建 Android 文件系统之前构建内核、对吧?"
    --是的,首先构建内核和 uboot,然后构建 Android 文件系统。

    在这两种情况下、电路板是否至少达到 u-boot?
    --是的,船用例中的板启动 Linux 内核。 但我的构建映像无法启动 Android。

    附件"prebuild-image-log.txt"是内核日志、即板闪存预编译映像。
    附件"self-image-log.txt"是内核日志,该板刷写我的构建映像。

    e2e.ti.com/.../prebuild_2D00_image_2D00_log.txt

    e2e.ti.com/.../5861.self_2D00_image_2D00_log.txt



    Qu Shenghui

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

    [7.678884]  PVR_K:UM DDK-(4081762)和 KM DDK-(4081762)匹配。 [确定]在 prebuild-image-log.txt 中看到,但在 self-image-log.txt 中看不到。

    --

    您是否遵循了发布页面中的所有说明、而没有在源存储库中进行任何本地更改并生成自映像?

    --

    根据 self-image-log.txt、

    图形模块未初始化。

    如果您在本地进行更改,请确保相应地构建图形模块

    参考文献: http://processors.wiki.ti.com/index.php/Processor_SDK_Android_Building_The_SDK#Building_SGX_Kernel_Module 

    --

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

    您是否遵循了发布页面中的所有说明、而没有在源存储库中进行任何本地更改并生成自映像?

    --是的,我按照发行页中的所有说明进行操作,不做任何更改。

    SGX 已构建完成。 我可以在供应商目录中找到 pvrsrvkM.ko,如下所示:

    I_Android@ecoli:~μ C/ti-processor-sdk-android-am57xx-evm-04.02.00.09/board-support/AOSP-6AA.1.0/out/target/product/am57xevm/vendor$查找-name *。ko
    /lib/modules/pvrsrvkm.ko

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

    正确的做法是、预编译代码的运行方式应与按照我们的说明编译的代码的运行方式相同。 但是、我无法帮助您完成该调试过程、因为您使用的是我们不支持的电路板、所以我无法复制您的结果。

    需要注意的一点是、预编译映像似乎正在加载 AM572x GP EVM 的 DTB 文件(请参阅日志中的"机器模型")、而您构建的映像正在加载 X15修订版 B1的 DTB 文件。 我不希望任何 DTB 文件能够完全用于您的电路板。

    此致、
    Nick