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.

[参考译文] Starterware/AM3352:SRAM 中的板名称

Guru**** 2551110 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/621443/starterware-am3352-board-name-in-sram

器件型号:AM3352

工具/软件:Starterware

您好!

在 SDK 3.0.0.4、u-boot/include/configs/AM335x-evm.h 中、通过检查 board_name 来选择 ftdfile、例如 A335x_SK 或 A33515BB。 我想让 u-boot 下载 mydt.dtb。  我正在处理 am3352。 am3352的 board_name 应该是什么?

我查看了 u-boot/board/ti/AM335x/board.c 和其他文件、并发现从 NON_SECURE_SRAM_IMG_END - SZ_1K 读取 board_name。  

board_name 字段是预设值,还是需要修改某个位置以编辑 board_name?  

谢谢。

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

    在 AM335x EVM 板上、从板载 EEPROM 读取板名称。 如果您的电路板没有 EEPROM、则需要跳过 EEPROM 检查并对所需的值进行硬编码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、
    谢谢。
    通过深入了解 u-boot 代码、我发现该字段存储在0x4030B800 - SZ_1k 中、根据 TRM 中的存储器映射、该字段用于 SRAM 和 L3 OCMC。
    如果您是指该 SRAM、是的、我确实拥有它。
    我可以在 u-boot 代码中的哪个位置设置 board_name?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、英杰、

    在 U-Boot 控制台上执行:

    => setenv board_name A335X_SK 

    此外、检查此表达式如何选择器件树。

    findfdt=if test $board_name = A335BONE;then setenv fdtfile AM335x-bon.dtb;fi;if test $board_name = A335BNLT;then setenv fdtfile AM335x-bonebold.dtb;fi;if tests $board_name = A335bnlbtb;then 文件 AM335btbtb;tbv_env_env_env_dtb;tb 如果 TEST $board_name = A335_ICE;那么 setenv fdtfile AM335x-icev2.dtb;fi;如果 TEST $fdtfile = undefined;则回显警告:无法确定要使用的设备树;fi;

    此致、
    Kemal

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

    您好、Kemal、

    如何将其硬编码到 SRAM 中?  

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

    您最好像 在这个线程中那样在 U-Boot 中对其进行硬编码。

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

    您好、Kemal、

    您提供的链接未显示如何更改 EEPROM 中的值、它显示了如何更改读出值。  

    由于我只关心 u-boot 将使用的 DTB 文件、因此我更改了 am335x-evm.h 并删除了所有 if test 语句、并设置 fdtfile = my dtb。  

    我仍然对如何更改 EEPROM 板名称感到好奇、但项目时间紧迫、我必须选择更简单的方法。

    如果您有其他建议、请在此主题中发帖、我对此表示赞赏。  

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

    您可以尝试按照 本帖子中的说明从 U-Boot 控制台更改 EEPROM 板名称、或者使用 启动器件诊断工具 (如果需要源代码)、此 链接中提供了该工具。 U-Boot 的 EEPROM 命令也是一种变体。

    您可以在以下链接中查看入门套件和 EVM 的 EEPROM 存储器布局:
    processors.wiki.ti.com/.../AM335x_Starter_Kit_ID_Memory_Programming
    processors.wiki.ti.com/.../AM335x_General_Purpose_EVM_HW_User_Guide

    如果可用、此代码将设置 EEPROM 中的 board_name:

    board/ti/common/board_detect.c

    void __ment_unused set_board_info_env (char *name)
    {
    char *unknown ="unknown";
    struct ti_common_eeprom *ep = TI_EEPROM_data;
    
    if (name)
    setenv ("board_name"、name);
    否则(ep->name)
    setenv ("board_name"、
    "env"
    、"env"(env");setenv (env ("ep->unknown)
    
    ;
    ep->version);
    else
    setenv ("board_rev"、未知);
    
    if (ep->serial)
    setenv ("board_serial"、ep->serial);
    否则
    setenv ("board_serial"、未知);
    }