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.

[参考译文] RTOS/PROCESSOR-SDK-AM335X:创建引导 SD 卡时出现问题

Guru**** 2935310 points

Other Parts Discussed in Thread: AMIC110

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/671561/rtos-processor-sdk-am335x-problem-creating-boot-sd-card

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:AMIC110TMDXICE110

工具/软件:TI-RTOS

你(们)好。  

我正在尝试创建我的 SD 卡。 我通过此链接创建的应用文件:

http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_BOOT_AM335x/AM437x#Tools_and_Binary_formats

要创建_ti.bin、我 使用以下命令:C:\ti\pdk_am335x_1_0_7\packages/ti\starterware\tools\ti_image\tiimage.exe 0x80000000 none myapp.bin myapp_ti.bin。我将名称更改为 app。 我通过此脚本将应用文件复制到构建 SC 卡  

sudo [SDK 安装目录]/bin/create-sdcard.sh [SDK 安装目录]/prebuilt-sdcards/[EVM DIR]/SD_card_files/ 


然后我将卡加载到 BBB 中。 这是"血 "显示的内容:

我的程序未启动。 我已尝试此解决方案 https://e2e.ti.com/support/development_tools/compiler/f/343/t/669472?tisearch=e2e-sitesearch&keymatch=am335x%20ti%20rtos%20sd%20card%20ti%20bin%20image 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试了上面发布的解决方案、但在创建 custom.cmd 文件后、我无法构建项目
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    仅当您不使用 GNU GCC 编译器进行编译时、才需要在另一个线程上发布的解决方案。 另一个线程上的 Christopher Weber 使用 TI ARM 编译器构建官方 TI Processor SDK RTOS 不支持的代码、因此需要进行定制。

    您能否确认您正在使用 GNU GCC 编译器进行应用程序构建? 您的应用程序是否使用 OCMC 或 SRAM 区域? 是引导 RTOS 应用程序还是裸机应用程序。 n`t 您使用其中一个 PDK 示例进行引导、请注意在编译结束时、编译后处理步骤会运行脚本 pdkAppImageCreate.bat、因此您应该不需要在编译结束时手动生成应用程序。

    您是否尝试过我们在此处介绍的调试步骤:
    processors.wiki.ti.com/.../AM437x

    根据您的输出日志、SBL 似乎已由 ROM 引导加载程序正确引导。 是否尝试从 MLO 的.out 加载符号以查看引导 ROM 失败的原因。

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

    我将使用 GNU GCC 构建我的应用。 我的应用程序使用 OCMC、我使用的是 PRU-ICSS。 我将引导 RTOS 应用程序。 我尝试使用创建的自动创建的应用程序启动它、它跳转到应用程序代码、但在它显示测试失败后。 我没有研究过它。 我创建了自己的应用程序、因为我想加载应用程序、当我通过 JTAG 加载时、该应用程序工作正常。 我没有尝试从.out 加载符号。 我该怎么做?

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

    Rafal、

    当前版本的 SBL 旨在与从 DDR 运行的应用配合使用。 我们引入了支持无 DDR 用例的 SBL 版本、其中 OCMC RAM 中的应用程序是在最新版本中使用的、但 AMIC110用户是为了运行不带 DDR 存储器的工业应用程序而使用的。 您的用例将需要定制 SBL 代码。 您可以通过在源代码中跟踪 DDRLESS 宏来引用我们对引导加载程序源代码中的 AMIC110 ICE 所做的定制。

    您可以在此处参阅将应用程序加载到 OCMC 存储器中的无 DDRless build 选项:
    processors.wiki.ti.com/.../AM437x

    有关更多详细信息、请访问:
    processors.wiki.ti.com/.../PRU_ICSS_EtherCAT

    n`t SBL 也从 OCMC 存储器运行、因此在将应用程序引导到 DDR 存储器时、您需要确保 SBL 和应用程序存储器部分重叠、并且在创建应用程序时、不使用0x8000000 (DDR 起始地址)、 您需要使用 OCMC 内存中的起始地址。 另请注意、此器件上的 OCMC +SRAM 小于128 KB、因此请确保您有空间从该区域运行 SBL 和应用程序。

    此致、
    Rahul

    无 DDRless 定制仅针对 AMIC110 ICE 板用户完成、而不是针对 BeagleBone 用户完成。

    www.ti.com/.../TMDXICE110

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

    抱歉、我给您的程序从 DDR 0x80000000内存运行、但它也使用 OCMC 内存来配置错误。 我还有一个问题、这可能是我在调试 CCS 开始时通过 JTAG 进行调试时遇到的问题、运行 GEL 文件我是否必须将 GEL 文件复制到我的应用中? 也许所有启动都正常、但我的应用程序缺少 GEL 文件中的初始化?

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

    作为快速测试、您可以将缓冲区放入 DDR 存储器中、看看这是否可以消除引导问题。 可以通过一些方法来告诉引导加载程序不要在 OCMC 中加载堆段、以防止发生这种情况、但要测试此论点、最好先查看将所有代码移动到 DDR 是否解决了引导问题。

    此致、
    Rahul
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、我将缓冲器移动到 DDR 存储器、但它没有解决我的问题。 我还可以尝试哪些方法、因为我使用的是默认引导加载程序、所以可能需要更改 MLO 文件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我创建了默认 SD 卡、我看到程序运行得更远、但运行测试失败。 我从文件夹/rebuilt-sdcards/evmam335x/sd_card_files 创建了 SD 卡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试使用我在 MyExampleProjects\UART_BasicExample_bbbAM335x_armExampleProject 下找到的示例项目我使用了已生成的应用文件。 插入 SD 卡后、我最终跳转到 StarterWare 应用程序... 如第一个打印屏幕上所示、我认为问题不是我的应用程序、而是生成的应用程序文件的问题。 我使用此命令生成_ti.bin 我是否正确? 我是否使用0x8000000作为正确的映像加载地址?
    C:\ti\pdk_am335x_1_0_9\packages/ti\starterware\tools\ti_image\tiimage.exe 0x8000000无 C:\ti\pdk_am335x_1_0_9\packages/MyBaspleProjects\UART_BasicExamExamExample_AM335x_armExampleProject\app.bin \myBQ135_0_\AM335_\AM335_\AM_bExample_Project\app_ti.bin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    可能我必须生成扩散 MLO 引导加载程序?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我尝试创建新的 MLO 文件、但遇到错误(Błąd 2表示错误2我有抛光窗口)。 看起来 make 文件很旧。 第一次运行 gmake bootlioader 时、它找不到 c:/ti/ccsv6/utils/cygwins/mkdir、它在旧的 CCS 版本中搜索、现在我有版本7。 我更改了它、但遇到了更多错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在这个打印屏幕上、它看起来像是在寻找 QSPI_FLASH.c、但我在文件夹中没有它、我不知道为什么它不在那里
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我犯了个错误、现在我将 mcspi 更改为 mmcsd、但它没有帮助

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

    您没有使用正确的步骤来构建引导加载程序。

    您需要按照入门指南中的说明设置 SDK 构建环境、然后为引导加载程序调用该构建。 在 Windows 平台上、基于 makefile 的编译使用 gmake。  

    请尝试以下步骤:

    1.设置 SDK_INSTALL_PATH=  默认假设为 C:\ti

    2. cd pdk_am335x_1_x_x\packages/ti\starterware

    gmake bootloader BUILDCFG=引导引导模式=mmcsd platform=AM335x-EVM profile=debug -s KW_build=no

    希望这对您有所帮助。

    此致、

    Rahul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在默认路径 c:\ti 中安装所有内容、我特别做的是不自行设置 SDK_INSTALL 路径。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有解决我的问题
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否尝试使用 gmake 而不是您尝试使用的 Cygwin make.exe。 我刚刚尝试过这个指令、这看起来是无缝的。 此外、请不要使用 ENABLE_PRU 选项、因为该选项仅用于特定的工业引导用例。

    此致、

    Rahul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这就是我在运行 gmake 时得到的结果:

    "gmake"不能识别为内部或外部命令、
    可操作的程序或批处理文件。

    我将尝试在 Linux 下运行它、也许它可以正常运行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这向我表明您的 SDK 构建环境设置不正确。 gmake 实用程序位于 C:\ti\xdctools_3_50_03_33_core 中
    每个 Processor SDK RTOS 版本都在 Windows 和 Linux 上进行了验证、因此这肯定会导致环境损坏或设置脚本问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否在运行 setup.bat 脚本后发布屏幕截图、以显示如何在您的环境中检测到路径。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如您所见,脚本开头有许多错误,表明 path2dos 实用程序不在您的环境中。 此实用程序应位于 xdctools_3_50_03_33_core\packages\XDC\services\io\release

    您的计算机上的 xdctools 安装很可能已损坏、从而导致此问题。 运行脚本后、我上面指出的路径应添加到您的 Windows %path%变量中。 n`t 情况并非如此、或者如果 path2dos 确实存在、则可能需要重新安装 SDK 并确保该实用程序是安装的一部分。

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

    好的、我修复了它、现在我尝试创建引导加载程序



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    现在一切正常! 感谢你的帮助! 现在、我将尝试创建引导加载程序
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、问题出在 mu *。cfg 文件。 在改变东西后、它开始工作。