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.

[参考译文] CCS/AM5728:定制板的 SBL

Guru**** 2540720 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/855778/ccs-am5728-sbl-for-custom-board

器件型号:AM5728
主题中讨论的其他器件:EVMK2G

工具/软件:Code Composer Studio

我需要用于支持 MMCSD 和 QSPI 的定制板的 SBL。  我认为我已根据"Processor SDK RTOS 06_01_00_08、第3.1.3.6节"使用自定义名称创建电路板库"成功地向 PDK 添加了定制电路板库。  

接下来、我尝试按照"Processor SDK RTOS 06_01_00_08、第4.6.3.2.5节中的过程构建 SBL、但遇到错误。  看起来底层 makefile 需要修改、甚至可以识别"Board_name"。

请告诉我前进的道路。  是否存在描述需要更新哪些源文件的分步过程?

谢谢、

Dave

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

    您好、Dave、

    首先、您使用哪款电路板(evmAM571x、evmAM572x、idkAM571x、idkAM572x 或 idkAM574x)作为定制电路板的基础?

    您的定制板的目录名是什么 (用作目录名)?

     您的定制板的板名称是什么(用于 limit_boards)?

    您的客户电路板的 SOC 名称是什么(用于 LIMIT_SoC)?

    由于您希望从 MMCSD 和 QSPI 引导、因此您可能不希望将 EVM 用作模板。 它们不支持 AM57xx 的 QPSI 引导

    目录名称和电路板名称必须匹配。

    实际上、SBL 使用电路板库来设置定制电路板(如 PLL、DDR 等)。 如果您的 SBL 构建因未找到电路板而失败、则似乎表明您的电路板名称与目录名称不匹配、或者"Processor SDK RTOS 06_01_00_08、第3.1.3.6节"使用自定义名称创建电路板库"中提到的文件更改。  未完成。

    您能否发送 SBL 构建日志?

    Ming

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

    我认为,我有一个基本问题,在我尝试建立 SBL 之前,需要解决。  按照"1.4.5.1.2中的说明尝试清理 PDK 时出错。 在 Windows 环境中使用 gmake 生成 PDK。"  我执行的步骤如下:

    1.打开 DOS 命令 shell

    2.更改为目录"c:\ti\pdk_am57xx_1_0_16\packets"

    psksetupenv.bat

    4.清洁 这会产生误差、如下所示。

    请告诉我如何解决这些错误。  非常感谢、

    Dave

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

    您好、Dave、

    您 是从下载并安装所有组件的

    http://software-dl.ti.com/processor-sdk-rtos/esd/AM57X/latest/exports/ti-processor-sdk-rtos-am57xx-evm-06.01.00.08-Windows-x86-Install.exe 位于 C:\ti?

    我刚刚在 Windows10 PC 上执行了该操作。 我在执行"gmake clear"时、没有看到您在上一篇文章中描述的问题。

    Ming

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

    我尝试了您的建议、但仍然得到相同的错误。  如果我缺少任何内容、请告诉我。  请注意、我不是第一次生成 SDK。

    此致、

    Dave

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

    发现我的 PC 防病毒程序阻止了编译。  解决方案。  请等待我再次测试、然后再提供 TI 支持。  我会告诉您我发现了什么。

    谢谢、

    Dave

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

    您好、Dave、

    这是我的。

    Ming

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

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

    供参考- Gmake clean 现在可以工作。  我公司的防病毒软件导致了错误。  

    感谢你的帮助。

    Dave

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

    您好、Dave、

    在您的建筑问题得到解决后、您能否回答以下问题:

    首先、您使用哪款电路板(evmAM571x、evmAM572x、idkAM571x、idkAM572x 或 idkAM574x)作为定制电路板的基础?

    您的定制板的目录名是什么 (用作目录名)?

     您的定制板的板名称是什么(用于 limit_boards)?

    您的客户电路板的 SOC 名称是什么(用于 LIMIT_SoC)?

    由于您希望从 MMCSD 和 QSPI 引导、因此您可能不希望将 EVM 用作模板。 它们不支持 AM57xx 的 QPSI 引导

    目录名称和电路板名称必须匹配。

    实际上、SBL 使用电路板库来设置定制电路板(如 PLL、DDR 等)。 如果您的 SBL 构建因未找到电路板而失败、则似乎表明您的电路板名称与目录名称不匹配、或者"Processor SDK RTOS 06_01_00_08、第3.1.3.6节"使用自定义名称创建电路板库"中提到的文件更改。  未完成。

    您能否发送 SBL 构建日志?

    Ming

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

     

    参阅下面的红色答案。  当我从 packages 文件夹中键入以下命令时、我无法根据 evmAM572x 为名为"am572_phycore_RDK"的定制板生成 SBL:

    gmake all Board=am572x_phycore_RDK SOC=AM572x bootmode=mmcsd

    我按照"Processor SDK RTOS 06_01_00_08、第3.1.3.6节"使用自定义名称创建电路板库"的步骤操作。

    请告诉我是否还需要在"C:\ti\pdk_am57xx_1_0_16\packages/ti\boot\sbl\board"下添加自定义电路板的文件夹、因为这不在说明中。

     

    此致、

    Dave

     

    您好、Dave、

    首先、您使用哪款电路板(evmAM571x、evmAM572x、idkAM571x、idkAM572x 或 idkAM574x)作为定制电路板的基础?

    您的定制板的目录名是什么 (用作目录名)?

    am572_phycore_RDK

     您的定制板的板名称是什么(用于 limit_boards)?

    am572x_phycore_RDK

    您的客户电路板的 SOC 名称是什么(用于 LIMIT_SoC)?

    am572x

    由于您希望从 MMCSD 和 QSPI 引导、因此您可能不希望将 EVM 用作模板。 它们不支持 AM57xx 的 QPSI 引导

    此时、我将 evmAM572x 用作基准。 在进行任何修改之前、我将验证 evmAM572x 上创建的 mmcsd SBL。

    目录名称和电路板名称必须匹配。

    是的、am572_phycore_RDK 表示目录和电路板名称。

    实际上、SBL 使用电路板库来设置定制电路板(如 PLL、DDR 等)。 如果您的 SBL 构建因未找到电路板而失败、则似乎表明您的电路板名称与目录名称不匹配、或者"Processor SDK RTOS 06_01_00_08、第3.1.3.6节"使用自定义名称创建电路板库"中提到的文件更改。  未完成。

    对第3.1.3.6节的更改如下:

    创建的目录:C:\ti\pdk_am57xx_1_0_16\packages/ti\board\src\am572x_phycore_RDK

    a:已使用 C:\ti\pdk_am57xx_1_0_16\packages/ti\board\src\evmAM572x 中的文件填充此文件夹

    重命名为“src_files_am572x_phycore_RDk.mk”(位于 C:\ti\pdk_am57xx_1_0_16\packages/ti\board\src\am572x_phycore_RDK 中)

    3.我向 C 添加了以下行:\ti\pdk_am57xx_1_0_16\packages/ti\board\board_cfg.h

    #elif defed (am572x_phycore_RDK)

    #include

    4.按如下方式更新了 C:\ti\pdk_am57xx_1_0_16\packages\ti\board\build\makefile.mk:

    ifeq ($(Board)、$(filter $(Board)、evmAM335x icev2AM335x iceAMIC110 skAM335x bbbAM335x evmAM437x idkAM437x evmAM572x idkAM571x idkAM572x phymK2H evm57xx evmkmevm647_kmevm64xm apmevm64x_kmevmapm64xm apmevm64x_k_mapmevmapm64xm)

    #跨所有平台和内核的通用源文件

    SRCS_common += board.c

    字节序

    ***

    ifeq ($(Board)、$(filter $(Board)、evmAM572x idkAM571x idkAM572x idkAM574x idkAM574x am572x_phycore_RDK))

    包括$(pdk_Board_COMP_PATH)/src/$(Board)/src_files_$(Board).mk

    包括$(pdk_Board_COMP_PATH)/src/src_files_lld.mk

    字节序

    5.按如下方式更新了 C:\ti\pdk_am57xx_1_0_16\packages\ti\build\makerules \build_config.mk:

    CFLAGS_GLOBAL_am572x_phycore_RDK    =-DSOC_AM572x -Dam572x_phycore_RDK = am572x_phycore_RDK

    我还按如下方式更新了 C:\ti\pdk_am57xx_1_0_16\packages/ti\build\makerules\platform.mk。

    ???? 请确认我是否应该使用下面的 evmAM572xCustom 与 embAM572X。

     

    编号 AM572X

    ifeq ($(Board)、$(filter $(Board)、am572x-EVM am572x-idk evmAM572x idkAM572x am572x_phycore_RDK))

    SoC = am572x

    字节序

    ***

      ifeq ($(Board)、$(filter $(Board)、evmAM572x))

        Platform_XDC =" ti.platforms.evmAM572X"

      字节序

     

      ifeq ($(Board)、$(filter $(Board)、am572x_phycore_RDK)

        Platform_XDC =" ti.platforms.evmAM572X"

      字节序

    ***

      ifeq ($(Board)、$(filter $(Board)、evmAM572x))

        Platform_XDC =" ti.platforms.evmAM572X"

      字节序

     

      ifeq ($(Board)、$(filter $(Board)、am572x_phycore_RDK)

        Platform_XDC =" ti.platforms.evmAM572X"

      字节序

    ***

      ifeq ($(Board)、$(filter $(Board)、evmAM572x))

        Platform_XDC =" ti.platforms.evmAM572X"

      字节序

     

      ifeq ($(Board)、$(filter $(Board)、am572x_phycore_RDK)

        Platform_XDC =" ti.platforms.evmAM572X"

      字节序

     

    6.按如下方式更新了 C:\ti\pdk_am57xx_1_0_16\packages\ti\board\src\src_files_LLD.mk:

    ifeq ($(Board)、$(filter $(Board)、evmAM572x idkAM572x am572x_phycore_RDK))

    SRCDIR +=  $(pdk_install_path)/ti/drv/i2c/soc/am572x \

              $(pdk_install_path)/ti/drv/uart/soc/am572x \

              $(pdk_install_path)/ti/drv/spi/soc/am572x

     

    INCDIR +=  $(pdk_install_path)/ti/drv/i2c/soc/am572x \

              $(pdk_install_path)/ti/drv/uart/soc/am572x \

              $(pdk_install_path)/ti/drv/spi/soc/am572x

     

    #跨所有平台和内核的通用源文件

    SRCS_common += I2C_SoC.c UART_SoC.c SPI_SoC.c

    CFLAGS_LOCAL_COMMON +=-DPRU_ICSS_FW

    字节序

     

    7.更新了 C:\ti\pdk_am57xx_1_0_16\packages/ti\board\board_component.mk、如下所示:  

    Board_lib_BOARDLIST      = evmAM335x icev2AM335x iceAMIC110 skAM335x bbbAM335x evmAM437x idkAM437x evmAM572x am572x_phycore_RDK idkAM571x idkAM572x evmK2kkmK2kmK2kevmK2G kmK2kmK-2G evmK2kmK-2G evmK2kmK2kmK-2G

                              evmC6678 evmC6657 tda2xx-EVM evmDRA75x tda2ex-EVM evmDRA72x tda3xx-EVM evmDRA78x evmOMAPL137 lcdkOMAPL138 idkAM574x am65xx_evm am65xx_idk j721e_sim j721e_qe_tj721e_evm

    8.按如下方式更新了 C:\ti\pdk_am57xx_1_0_16\packages\ti\board\config.bld:

    var am572x_phycore_RDK ={

      名称:"am572x_phycore_RDK"、

      ccopts:"-Dam572x_phycore_RDK -DSOC_AM572x"、

      目标:[C66LE、A15LE、M4LE]、

      lldFiles:["$(pdk_install_path)/ti/drv/i2c/soc/am572x/I2C_soc.c、

              "$(pdk_install_path)/ti/drv/uart/soc/am572x/UART_soc.c "、

              "$(pdk_install_path)/ti/drv/spi/soc/am572x/SPI_soc.c

     

    /*在此处列出所有构建目标。 *

    build.targets =[ C66LE、C66BE、A15LE、M4LE、A9LE、 A8LE、ARM9LE、C674LE A53LE ];

    VAR 板=[ evmAM335x、icev2AM335x、skAM335x、bbbAM335x、evmAM437x、 idkAM437x、skAM437x、evmAM572x、idkAM571x、idkAM572x、 evmK2H、evmK2K、evmK2E、evmK2L、evmK2G、 evmC6678、evmC6657、evmOMAPL137 idkAM574x am65xx_evm 65xx_idk am572x_phycore_RDK ];

    按如下方式更新了 C:\ti\pdk_am57xx_1_0_16\packages/ti\board\package.bld:

    pkg.otherFiles[Pkg.otherFiles.length+]="src="am572x_phycore_RDK/src_files_am572x_phycore_RDK-mk;

     

    9.更新了 C:\ti\pdk_am57xx_1_0_16\packages/rules.make、如下所示:

    #export limit_boards?= evmAM572x am572x_phycore_RDK idkAM571x idkAM572x idkAM574x

    导出 limit_boards ?= am572x_phycore_RDK

    您能否发送 SBL 构建日志?

    请告诉我日志是否自动创建。 否则、请确认在 Windows 上创建日志的语法。

    Ming

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

    您好 Rei、

    是的、您需要在 C:\ti\pdk_am57xx_1_0_16\packages/ti\boot\sbl\board 下创建一个新文件夹。 只需复制 evmAM572x 并将其重命名为 am572x_phycore_RDK、然后 执行以下命令:

    gmake -C ./ti/boot/sbl 所有板=am572x_phycore_RDK SOC=AM572x bootmode=mmcsd

    步骤5是可选的、除非您已在 SYS/BIOS 中为 am572x_phycore_RDK 创建了一个新平台、否则您不必更改它。

    Ming

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

    我按照您的步骤构建了 SBL 并验证了硬件上的正确操作(即从 SD 卡引导的 LED 闪烁演示)。  但是、我需要向~pdk/packages/ti/boot/sbl/board/src/sbl_avs_config.c、h 添加 am572x_phycore_RDK 支持以修复编译器错误。  

    接下来的步骤是合并更改以支持定制的 Phytec 板。  我正在努力更好地了解这一过程、下面有几个问题。

    1.请告诉我软件是否调用了以下文件:

    C:\ti\pdk_am57xx_1_0_16\packages/ti\board\src\evmAM572x\evmAM572x_SR1.1.pinmux

    C:\ti\pdk_am57xx_1_0_16\packages/ti\board\src\evmAM572x\evmAM572x_SR2.0.pinmux

    根据我的理解、SBL_main.c 设置 Board_init_PINMUX_config。  请确认这会导致使用引脚多路复用工具输出的文件(即 boardPadDelay.h、 boardPadDelayDevice.c、 boardPadDelayInit.c 和 boardPadDelayTune.h)。

    3.我假设我的下一步是将第2步列出的 evmAM572x pinmux 文件替换为支持 Phytec 板的文件。  替换这些文件后、我能否只执行上述 make 命令(即 gmake -C ./ti/boot/sbl 所有板=am572x_phycore_RDK SOC=AM572x bootmode=mmcsd) )?  或者、我是否需要 gmake clean 或等来获取修改后的文件?

    感谢您的帮助!

    Dave

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

    >>1. 请告诉我以下文件是否由软件调用:

    C:\ti\pdk_am57xx_1_0_16\packages/ti\board\src\evmAM572x\evmAM572x_SR1.1.pinmux

    C:\ti\pdk_am57xx_1_0_16\packages/ti\board\src\evmAM572x\evmAM572x_SR2.0.pinmux

    [MV]这些文件是 pinmux 工具生成 boardPadDelay*文件的输入文件。 您将需要根据定制板更改*.pinmux 文件,并重新运行 pinmux 工具以生成 更新的 boardPadDelay*文件

    >>2. 根据我的理解、SBL_main.c 设置 Board_init_PINMUX_config。  请确认这会导致使用引脚多路复用工具输出的文件(即 boardPadDelay.h、 boardPadDelayDevice.c、 boardPadDelayInit.c 和 boardPadDelayTune.h)。

    [MV]你是对的。  调用 Board_init()时应设置它。

    >>3. 我假设我的下一步是用支持 Phytec 板的文件替换步骤2中列出的 evmAM572x pinmux 文件。  替换这些文件后、我能否只执行上述 make 命令(即 gmake -C ./ti/boot/sbl 所有板=am572x_phycore_RDK SOC=AM572x bootmode=mmcsd) )?  或者、我是否需要 gmake clean 或等来获取修改后的文件?

    [MW]当调用 board=am572x_phycore_RDK 的 gmake 时、makefile 将使用 board\src\am572x_phycore_RDK 文件夹中的文件、因此您需要在调用 gamke 之前更新 board\src\am572x_phycore_RDK 文件夹中的 boardPadDelay*文件。 这就是您需要在开头创建新 board\src\am572x_phycore_RDK 文件夹的原因。 board\src\evmAM572x 文件夹应保持不变。

    Ming

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

    您好、Dave、

    注意、您确实需要使用 gmake clean 来触发重新编译自定义电路板库。

    Ming

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

    感谢您的回应、因为我不清楚是否需要执行清洁。  我有来自 Phytec 供应商提供的 pinmux 工具的输出文件。  接下来、我将尝试将它们添加到~board\src\am572x_phycore_RDK 文件夹中。

    Dave

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

    您好、Dave、

    我将此主题标记为"TI 认为已解决"。 您可以通过响应此线程来重新打开它。

    Ming