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/AM3358:自定义设备树问题

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/619242/linux-am3358-custom-device-tree-issue

器件型号:AM3358

工具/软件:Linux

尊敬的所有人:

我的定制板有问题、

我的定制电路板设计基于 AM335x 入门套件板、我在此 板上使用了 ti-processor-sdk-linux-am335x-evm-04.00.04-linux。

我可以为此板在 SD 卡上自定义 U-boot 和引导 MLO、u-boot.img、但当我尝试为此板自定义器件树时、我认为它不会运行  

在/include/config/am335x_evm.h 文件中,我更改了--- >"Fdtfile=undefined\0"更改为->"Fdtfile=AM335x-evmsk.dtb\0"

在 AM335x-evmsk.dts 中,我尝试更改--- >型号="TI AM335x EVM-SK";更改为--> 型号="我的定制板3358";

但是、当我将文件 AM335x-evmsk.dTB 添加到/rootfs/root 并启动 SD 卡时、termianl alway 会显示:  

CPU:AM335X-GP 修订版2.1
型号:TI AM335x EVM-SK  
DRAM:128 mib

我不知道为什么该模型只显示"TI AM335x EVM-SK"、有人能帮我吗?

非常感谢。

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

    您好 Nguyen、

    我更改了字符串、它起作用了。 没有理由不起作用。 请确保您已重新编译 U-Boot、并将旧映像正确替换为正确的映像。 该字符串来自 U-Boot 的设备树 no 以及内核。

    /board-support/u-boot- /common/board_info.c

    #ifdef CONFIG_OFF_CONTROL
    REGAL_GLOBAL_DATA_PTR;
    const char * model;
    
    model = FDT_getprop (gd->FDT_BLOB、0、"model"、 空);
    
    if (model)
    printf ("模型:%s\n"、model);
    #endif 

    此致、
    Kemal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Shakir 先生:
    非常感谢您的回复,当我远程访问 SD 卡上的 AM335x-evmsk.dTB 文件时,模型仍然显示:TI AM335x EVM-SK,您能向我解释一下吗?

    U-Boot SPL 2017.01-00319-g7752743-脏(2017年8月21日- 15:21:45)

    尝试从 MMC1引导
    正在读取 uboot.env

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

    正在读取 u-boot.img
    正在读取 u-boot.img
    正在读取 u-boot.img
    正在读取 u-boot.img


    U-Boot 2017.01-00319-g7752743-脏(2017年8月21日- 15:21:45 +0700)

    CPU:AM335X-GP 修订版2.1
    型号:TI AM335x EVM-SK
    DRAM:128 mib

    NAND:0 MIB
    MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
    正在读取 uboot.env

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

    未设置。 验证第一个电子保险丝 MAC
    网络:
    无法获取 cpsw: Addr 0的 PHY
    CPsw、USB_ether
    按任意键停止自动引导:0
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    正在读取 BOOT.SCR
    **无法读取文件 boot.scr **
    正在阅读 uEnv.txt
    **无法读取文件 uEnv.txt **
    切换到分区#0,确定
    mmc0是当前器件
    正在扫描 MMC 0:1...
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    3590040字节在841ms (4.1 MIB/s)内读取
    **找不到文件/boot/am335x-evmsk.dtb **

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

    有两个设备树:
    /board-support/u-boot- /arch/arm/dts/am335x-evmsk.dts
    /board-support/linux- /arch/arm/boot/dts/am335x-evmsk.dts
    您需要修改的设备树为:
    /board-support/u-boot- /arch/arm/dts/am335x-evmsk.dts

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Shakir 先生、
    请指导我如何编译器件树 /board-support/u-boot- /arch/arm/dts/am335x-evmsk.dts、因为当我尝试使用命令时:

    使 arch=arm cross_compile=arm-linux-gnueabihf- dtbs

    终端显示许多错误:

    scripts/kconfig/conf --silentoldconfig Kconfig
    检查 包括/ config.h
    配置 u-boot.cfg
    /include/common.h:421:73:致命错误:asm/u-boot-sandbox.h:无此类文件或目录
    #包含 /* TODO (sjg)需要修复什么? *
    ^μ A
    编译已终止。
    目标'u-boot.cfg 的脚本/Makefile.autoconf:79:配方失败
    make[1]:***[u-boot.cfg 错误1
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    重建 U-Boot、器件树嵌入在其中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我一直在重建,它也在工作,非常感谢 Shakir 先生:)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Shakir 先生、
    我还有一个问题、请帮助我
    对于定制板、当我需要定制器件树时 /board-support/u-boot- /arch/arm/dts/am335x-evmsk.dts
    当我需要将定制器件树放入时 /board-support/linux- /arch/arm/boot/dts/am335x-evmsk.dts
    谢谢,:)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您始终需要这两者。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请您解释更多详细信息吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    复制文件 AM335x-evmsk.dts、对定制板进行更改、重命名该文件并将其名称分配给 fdtfile=xxxxxx.dtb。 在代码 AM335x-evmsk.dts 中查找其他位置、然后重命名它们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复、
    我看到了、但我只想知道何时在 u-boot 中使用器件树文件以及何时在内核中使用器件树、因为我看到的类似
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件树状结构用于描述硬件配置、它们比板级配置文件更灵活。 它们首先在内核中引入、然后 U-Boot 项目也开始使用它们。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那么、对于定制板、我只需要 u-boot 或内核中的定制器件树?
    您是否有有关 u-boot 项目开始使用器件树的任何文档或信息、谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是根据你的愿望进行的。 如果需要、您只能在 U-Boot 中依赖设备树、只能在内核中使用、两者均不使用或不使用。 如何配置系统由您决定。 您可以参阅以下 U-Boot 链接:
    www.denx.de/.../LinuxFDTBlob
    www.denx.de/.../UBootFdtInfo
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您的回答:)