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.

[参考译文] Linux/processor-SDK-AM57X:编译 SDK

Guru**** 2555630 points
Other Parts Discussed in Thread: TMDXIDK5718, TMDSEVM572X, BEAGLEBOARD-X15, AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/591796/linux-processor-sdk-am57x-compiling-the-sdk

器件型号:PROCESSOR-SDK-AM57X
主题中讨论的其他器件:TMDXIDK5718TMDSEVM572XBeagleBoard-X15AM5728PMP

工具/软件:Linux

大家好、

我们已从 TI 购买 TMDXIDK5718和 TMDSEVM572X 开发板。

我已下载 ti-processor-sdk-linux-am57xx-evm-03.03.00.04-Linux-x86-Install.bin 并能够在 Ubuntu 14.04上成功运行。 我使用 setup.sh 安装了必要的软件包、感谢您的帮助。

我的兴趣是对 AM571x 和 AM572x 这两个不同的 CPU 变体使用相同的内核源。

以下是我的问题:

1) 1)如何选择 LOADDR 进行内核编译、

从 u-boot/include/configs/am57xx.h 我没有获得有关 LOADDR 的详细信息、请提供帮助。

2) 2)我已经选择 tisdk_am57xx-evm_defconfig 来构建内核、从.config 中、我看到它适用于 SMP 内核、即 AM572x、这是正确的吗?

3) 3)基于 AM571x 的 EVM 的内核配置如何? 只需禁用 SMP 或通过 u-boot 参数即可

4) 4) am57xx_evm_defconfig 是用于构建 u-boot 的正确配置。

5) 5)我读取的内核映像文件应该是 RFS 的一部分、而不是引导 FAT 分区、如果我错了、请更正我。

请帮我输入您的信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Biser
    感谢您、等待软件团队的意见。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    1)。 这在 ti_armv7_common.h 中定义:
    #define DEFAULT_LINUX_BOOT_ENV \
    "loadaddr=0x82000000\0"\
    "kernel_addr_r=0x82000000\0"\
    "fdtaddr=0x88000000\0"\
    "FDT_addr_r=0x880000\0"\
    "rdaddr=0x88080000\0"\
    "ramdisk_addr_r=0x88080000\0"\
    "脚本地址=0x80000000\0"\
    "pxefile_addr_r=0x80100000\0"\
    "bootm_size=0x10000000\0"\
    "BOOT_FDT=Try \0"
    2)。 是的、tisdk_am57xx-evm_defconfig 是用于构建内核的正确文件。

    3)。 使用 tisdk_am57xx-evm_defconfig 文件。

    4)。 请参阅顶级 Rules.make (ti-processor-sdk-linux-am57xx-evm-03.03.00.04/Rules.make):
    u-boot 机器
    uBoot_machine=am57xx_evm_config

    这是 include/configs/am57xx_evm.h 文件。

    5)。 是的,内核映像和设备树文件位于 rootfs /boot 文件夹中。

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

    Yordan、您好!

    感谢您的回答。 我已收到 TMDSEVM572X、并能够使用 SD 卡上预加载的映像引导至 Matrix UI 应用程序。

    现在、我的主要目标是使用从源编译生成的内核、dtb 和 u-boot 映像。 我已将 uSD 卡的"boot"分区中的 MLO 和 u-boot.img 替换为从源编译生成的映像。

    我看到内核停止引导,它只是在最后的打印“正在启动内核...”时停止。 以下是引导日志

    U-Boot SPL 2016.05-00319-g8d0b2ca-脏 污(2017年5月3日- 17:22:03)
    DRA752-GP ES2.0
    尝试从 MMC1引导
    读取 args
    SPL_load_image_fat_os:读取图像参数时出错、错误--1
    正在读取 u-boot.img
    正在读取 u-boot.img
    正在读取 u-boot.img
    正在读取 u-boot.img


    U-Boot 2016.05-00319-g8d0b2ca-脏 污(2017年5月3日- 17:22:03 +0530)

    CPU :DRA752-GP ES2.0
    型号:TI AM5728 BeagleBoard-X15
    电路板:AM572x EVM 修订版 A.3A
    DRAM: 2GiB
    MMC:  sdr104没有 pinctrl
    ddr50没有 pinctrl
    sdr50没有 pinctrl
    sdr25无 pinctrl
    sdr12没有 pinctrl
    OMAP SD/MMC:0、OMAP SD/MMC:1.
    正在读取 uboot.env

    **无法从 mmc0:1读取"uboot.env"**
    使用默认环境

    SCSI: SATA link 0 timeout。
    AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
    标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
    正在扫描设备总线...
    找到0个器件。
    网络:   
    警告:以太网@48484000使用 ROM 中的 MAC 地址
    eth0:以太网@48484000
    按任意键停止自动引导: 0
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    正在读取 BOOT.SCR
    **无法读取文件 boot.scr **
    正在阅读 uEnv.txt
    607b 在4ms (147.5KiB/s)内读取
    从 uEnv.txt 加载了 env
    正在从 mmc0导入环境...
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    在181ms (17.9 MIB/s)内读取3395008字节
    **找不到文件/boot/am57xx-evm-reva3.dtb **
    内核映像@ 0x82000000 [ 0x000000 - 0x33cdc0 ]

    正在启动内核...

    以下是我的问题:

    1) 1)我意识到 u-boot 正在寻找 rootfs//boot/am57xx-evm-reva3.dtb 文件、我已将此文件从 kernel/arch/arm/boot/dts 文件夹复制到 uSD 卡的 rootfs/boot。

    在此之后,我看不到打印“** File not found /boot/am57xx-evm-reva3.dtb **”,但在打印“Starting kernel....”之后内核启动停止。

    我是否需要修改任何控制台端口更改?? 请提供您的意见。

    U-Boot SPL 2016.05-00319-g8d0b2ca-脏 污(2017年5月3日- 17:22:03)
    DRA752-GP ES2.0
    尝试从 MMC1引导
    读取 args
    SPL_load_image_fat_os:读取图像参数时出错、错误--1
    正在读取 u-boot.img
    正在读取 u-boot.img
    正在读取 u-boot.img
    正在读取 u-boot.img


    U-Boot 2016.05-00319-g8d0b2ca-脏 污(2017年5月3日- 17:22:03 +0530)

    CPU :DRA752-GP ES2.0
    型号:TI AM5728 BeagleBoard-X15
    电路板:AM572x EVM 修订版 A.3A
    DRAM: 2GiB
    MMC:  sdr104没有 pinctrl
    ddr50没有 pinctrl
    sdr50没有 pinctrl
    sdr25无 pinctrl
    sdr12没有 pinctrl
    OMAP SD/MMC:0、OMAP SD/MMC:1.
    正在读取 uboot.env

    **无法从 mmc0:1读取"uboot.env"**
    使用默认环境

    SCSI: SATA link 0 timeout。
    AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
    标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
    正在扫描设备总线...
    找到0个器件。
    网络:   
    警告:以太网@48484000使用 ROM 中的 MAC 地址
    eth0:以太网@48484000
    按任意键停止自动引导: 0
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    正在读取 BOOT.SCR
    **无法读取文件 boot.scr **
    正在阅读 uEnv.txt
    607字节在3ms (197.3 KiB/s)内读取
    从 uEnv.txt 加载了 env
    正在从 mmc0导入环境...
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    在180ms (18 MIB/s)内读取3395008字节
    在65ms (1.5 MIB/s)内读取103020字节
    内核映像@ 0x82000000 [ 0x000000 - 0x33cdc0 ]
    ###展开的设备树 blob、88000000
      使用0x88000000处的 FDT blob 进行引导
      正在将设备树加载到8ffe3000,结束8ff26b... 好的

    正在启动内核...

    2) 2)我发现、EVM 附带的 uSD 卡上预加载的映像使用"am57xx-EVM-es2plus.dtb"、但编译内核源代码不会生成此文件。 我使用的是 TI-SDK 的内核源代码。 我已经为 tisdk_am57xx-evm_defconfig 构建了内核、我是否需要选择不同的配置??

    3) 3) EVM 的正确机器型号是什么?

    机器模型:TI AM572x EVM ES2+

    型号:TI AM5728 BeagleBoard-X15

    请尽早提供您的意见。

    谢谢、此致、

    Vamshi G.

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

    1)。 您的电路板版本是什么? reva3 dtb 可能不适用于您的主板、这是一种非常常见的情况、当引导在启动内核时停止...
    2)。 [引用]我已经为 tisdk_am57xx-evm_defconfig 构建了内核、我是否需要选择不同的配置??
    不、您不应使用其他 defconfig 文件。
    3)。 再次查看您的电路板的修订版本、并查找类似的 DTB。 如果没有、则需要使用 comon dts 文件:am57xx-evm.dts

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

    Yordan、您好!

    1) 1)以下是详细信息、这些是否足以满足问题板版本的要求? 如果没有、请告诉我从哪里可以找到它。
    CPU:DRA752-GP ES2.0
    型号:TI AM5728 BeagleBoard-X15

    电路板:AM572x EVM 修订版 A.3A

    2) 2)您已要求我为配置 tisdk_am57xx-evm_defconfig 构建内核、但我在 DTS 文件夹中看到没有名为 am57xx-evm-es2plus.dTB 的文件、如何解决此问题? 因为 SD 上预加载的映像使用上述文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    让我跳到这里...
    我看到有关 TI 电路板以及 Beagleboard.org 上 X15的评论。
    只需确保...您的问题与 TI EVM/IDK 或 BeagleBoard X15有关?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的帮助、我可以说我已经从 TI 购买了此电路板 www.ti.com/.../TMDSEVM572X。 当我构建随 SDK 提供的 u-boot 源码并运行时、可以看到以下打印内容

    U-Boot 2016.05-00319-g8d0b2ca-脏 污(2017年5月3日- 18:16:36 +0530)

    CPU:DRA752-GP ES2.0
    型号:TI AM5728 BeagleBoard-X15
    电路板:AM572x EVM 修订版 A.3A

    请帮助我确认它是什么板。

    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复...好的、我们的 TI EVM TMDSEVM572x 已经推出。 Yordan 将在这里为您提供帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、我正在等待 Yordan 的意见
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yordan、您好!

    我从 SDK 提供的源代码构建了以下内容。

    U-boot => am57xx_evm_config

    内核=> tisdk_am57xx-evm_defconfig

    交叉编译器=> arm-linux-gnueabi-

    build-root =>文件系统

    dtb-file =>am57xx-evm.dtb

    我能引导到 shell、恐怕是因为以下原因

    1) 1)未检测到 TMDSEVM572X 上的 USB 集线器

    2) 2)从 U-boot 打印出来的内容有点令人担心、我没有看到这些打印内容以及通过 EVM 接收到的预加载图像

    MMC: sdr104没有 pinctrl

    ddr50没有 pinctrl

    sdr50没有 pinctrl

    sdr25无 pinctrl

    sdr12没有 pinctrl

    3) 3)我仍在寻找构建配置、在该配置中、我可以生成适当的映像文件(u-boot、am57xx-EVM-es2plus.dTB、zImage)、以复制随 EVM 一起接收的预加载映像功能

    请帮帮我。 我下周将不可用。 我将在此页面轮询您的输入。

    提前感谢。

    VamshiG

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

    有关此帖子的任何更新、请尽早为我提供帮助
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您使用的交叉编译器错误。 您应该使用 arm-linux-ghabihf-而不是 arm-linux-gnueabi-

    [引用] 1)未检测到 TMDSEVM572X 上的 USB 集线器[/引用]
    您的内核中是否包含所有 USB 驱动程序?

    [引用]2)在 U-boot 中打印之后、我可能会担心这些打印件与 EVM[/quot]接收到的预加载图像不会一起显示[/引用]
    这很奇怪 您能否尝试使用顶级 Makefile 来重建 u-boot。 构建步骤包括:
    cd ~/ti-processor-sdk-linux-am57xx-evm-03.03.00.04
    使 u-boot_clean
    进行 u-boot

    [引用]3)我仍在寻找构建配置、在此配置中、我可以生成适当的映像文件(u-boot、am57xx-EVM-es2plus.dTB、zImage)来复制随 EVM[/quot]一起接收的预加载映像功能
    再次尝试使用 Toplevel makefile 文件:
    cd ~/ti-processor-sdk-linux-am57xx-evm-03.03.00.04
    使 u-boot_clean
    进行 u-boot =>这将构建 u-boot
    使 Linux_clean 成为问题
    构建 Linux =>这将构建 Linux 内核。

    我已验证这适用于我的 GP EVM。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回答、我将在5月19日尝试您的步骤(现在、我正在出差)、并在此处更新观察结果。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yordan、您好!

    我按照上面提到的步骤、准备了引导 micro SD 卡、该卡具有随 SDK 提供的 tisdk-rootfs-image-am57xx-evm.tar.xz、内核、U-boot 和 MLO、这些内核是从编译的源代码构建的。 我能够顺利引导至矩阵 GUI 应用。

    我有以下问题:

    1) 1)我仍然在 u-boot 中看到以下打印件、担心打印件为红色

    U-Boot SPL 2016.05-00319-g8d0b2ca-脏 污(2017年5月23日- 11:45:11)

    DRA752-GP ES2.0

    尝试从 MMC1引导

    读取 args

    SPL_load_image_fat_os:读取图像参数时出错、错误--1

    正在读取 u-boot.img

    正在读取 u-boot.img

    正在读取 u-boot.img

    正在读取 u-boot.img

    U-Boot 2016.05-00319-g8d0b2ca-脏 污(2017年5月23日- 11:45:11 +0530)

    CPU :DRA752-GP ES2.0

    型号:TI AM5728 BeagleBoard-X15

    电路板:AM572x EVM 修订版 A.3A

    DRAM: 2GiB

    MMC: sdr104没有 pinctrl

    ddr50没有 pinctrl

    sdr50没有 pinctrl

    sdr25无 pinctrl

    sdr12没有 pinctrl

    OMAP SD/MMC:0、OMAP SD/MMC:1.

    正在读取 uboot.env

    请提供您的意见

    2) 2)我尝试使用使用内置文件生成的自定义根文件系统、我准备了具有内置文件系统的启动 micro SD 卡、我看到未检测到 USB 集线器。 我了解在本例中、一些模块未加载。 我是否需要在系统引导期间使用脚本按顺序加载一组模块?

    等待您的输入、

    谢谢、此致

    Vamshi G.

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

    对我之前的答复的任何意见都将大有帮助。

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

    1)中的调试打印不会出现问题。

    2)。 是的、您应该按顺序模拟器件驱动程序、因为其中一些驱动程序之间存在相关性。
    您可以使用 modprobe --show-depends ;您可以检查 lsmod 输出中的“使用者”列,也可以使用 modfo、depmod -n,或者可以执行 cat /lib/modules/4.4.32-gadde2ca9f8/modules.dep、/lib/modules/4.4.32-gadde2ca9f8/modules.order

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

    感谢您的响应、我看到在 uSD 卡上启动预构建映像后安装的以下模块列表。
    模块 使用的大小
    蓝牙 314427 2.
    IPv6 319670 26.
    gdbserverproxy 4597 0
    cryptodev 36165 1.
    cmemk 30509 0
    USB_storage 46211 0
    xhci_plat_hcd 4517 0
    xhci_hcd 102954 1 xhci_plat_hcd
    子内核 191845 3 USB_storage、xhci_plat_hcd、xhci_hcd
    图3 60550 0
    Joydev 8618 0
    rpmsg_rpc. 19680 0
    Virtio_rpmsg_BUS 12427 1 rpmsg_rpc.
    UDC_CORE 11572 1个 dwc3.
    AHCI 平台 2880 1.
    libahci_platform 8445 1 AHCI_platform
    evdev 9585 3.
    libahci 27461 2 libahci_platform、AHCI_platform
    GPIO_keys 8446 0
    ST_drv 18535 0
    omapdrm_PVR 343250 0
    ExtCON_USB_GPIO 2842 0
    libata 195836 3 libahci、libahci_platform、ahci_platform
    LED_GPIO 3497 0
    SND_SoC_simple_card 7015 0
    SND_SoC_OMAP_HDMI_AUDIO 4541 0
    OMA_WDT 4121 0
    PHY_OMAP-USB2 5393 2.
    RTC_PALMAS 5019 0
    Palms_pwrbutton 3483 0
    Extcon_Palmas 5509 0
    TI_VIP 25729 0
    像素 cir_i2c_ts 6695 0
    mt9t11x 14669 0
    SND_SoC_tlv320aic3x 41480 1.
    RTC_ds1307 9182 0
    TI_VPE 42041 0
    dwc3_OMAP 4516 0
    TI_vpdma 14682 2 ti_VIP、ti_VPE
    Extcon 13349 4 dwc3、extcon_Palmas、dwc3_OMAP、extcon_USB_GPIO
    RTC_OMAP 7449 0
    OMA_Rng 4533 0
    RNG_CORE 8050 2 OMAP_Rng
    debugss_kmodule 6702 0
    omap_remoteproc 7509 4.
    远程处理器 27139 2 OMA_remoteproc、rpmsg_RPC
    Virtio 7364 2 remoteproc、virtio_rpmsg_bus
    Virtio_ring 11848 2 remoteproc、virtio_rpmsg_BUS
    root@am57xx-EVM:~#


    请告诉我 USB 3.0集线器连接 SCSI 设备所需的所有模块都是什么。

    谢谢、此致、
    Vamshi G.