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/BEAGLEBK:为 BeagleBone Black 构建 TI-RTOS 应用

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/776833/rtos-beaglebk-building-ti-rtos-applications-for-beaglebone-black

感谢以下 Rahul`s 响应;这非常有帮助、我能够很快为 BeagleBone Black 构建 UART 示例项目。

https://e2e.ti.com/support/processors/f/791/p/768982/2869998#2869998 

但是、问题是我无法使用输出二进制文件制作可引导 microSD 卡。 我参考 了这里的文档。 (第1.1.11和1.1.12节)下面是我尝试过的:

  • 首先、我使用以下设置连接了电路板的 UART。 (我通过正常启动电路板并从 Linux shell 读取和写入字符来验证 UART 是否正常工作。)
  • 我使用了 HP USB 磁盘存储格式工具来格式化 microSD 卡。 然后、我选择了"ti/AM335X_StarterWare_02_00_07/二进制/armv7A/CGT_CCS/AM335x/BeagleBone/bootloader/MLO"文件和 CCS 创建的"project_name.bin"文件、将后者重命名为"app"并手动将其放入 SD 卡中。 之后、我将卡插入电路板、并在按住 S2引脚的同时将其通电(使其通过 SD 卡引导)。 没有发生任何情况;串行端口上没有打印任何内容,甚至没有启动消息。
  • 我使用 tiobj2bin 工具生成的 bin 文件尝试了相同的操作、但这并没有什么不同。
  • 我还尝试了路径"ti/processor_sdk_rtos_am335x_5_02_00_10/prebuilt-sdcards/evmAM335x/sd_card_files"中的预编译文件、但这也不起作用。
  • 我还尝试了"TI_SDCard_BOOT_UTILITY_v1_0"、它成功运行至完成状态、但未执行任何操作。
  • 最后、我尝试在 RTOS SDK 目录中运行"create-sdcard.sh"脚本、该脚本也运行到完成状态、但没有执行任何操作。

我在64 GB SDXC 卡和16 GB SDHC 卡上都尝试过这些操作、但都不能正常工作。 我的下一个动作应该是什么?

再次感谢、

Okan

电源 很抱歉在文本中插入编译日志;我应该按照您稍后的建议将其作为文件附加。

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

    OkCalis、

    Beagle Bone Black 上的硬件设置可能存在一些问题。 我复制了 SD 卡上的预构建映像、并通过以下日志成功引导卡上的映像。 您需要首先确保电路板使用预构建的映像进行引导、以确保 SD 引导正常工作。

    您是否擦除了 eMMC 映像、以便电路板可以从 SD 引导? n`t 插入 SD 卡、您会看到 UART 引导 ping 字符"CCC"。 这n`t 着当器件上的 ROM 引导加载程序在 eMMC 和 SD 上找不到映像时、它会成功进入 UART 引导并在终端上发送 ping 字符。

    请在此处参考我的回答:

    https://e2e.ti.com/support/processors/f/791/p/630153/2324907

    此致、

    Rahul

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

    我没有擦除 eMMC 闪存、因为我不想丢失其中的出厂闪存 Linux 映像。 但 BeagleBone 文档指出、我可以通过在通电的同时按住 S2按钮来强制电路板从 microSD 而不是 eMMC 引导。 如果我不在上电时按住 S2按钮、我可以看到 U-Boot 启动并在多个设置中加载 Linux 内核。 但是、如果我按住按钮、则不会发生任何情况、也不会在串行端口上打印任何内容、这使我认为我已成功跳过 eMMC 引导模式。

    至于您的另一个问题、不、当我尝试在移除 microSD 卡时从 SD 引导时、我在串行端口上看不到任何"CCC"字符。

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

    由于我无法重现此问题、我建议您与社区成员核实他们还尝试了什么。 n`t 电路板上的相同步骤一致、我不认为这是 RTOS 引导加载程序问题。

    我还将在内部检查有关选项的信息、并在有其他指导时更新该帖子。

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

    Rahul、

    取得了一些进展。 通过 Linux shell 脚本格式化 microSD 卡后、我尝试通过 Windows 将"app"和"MLO"文件复制到 microSD 卡。 对预编译文件执行此操作将产生以下串行输出。

    然后、我在两个 PDK 示例(即"GPIO_LedBlink_bbbAM335x_armTestProject"和"UART_BasicExample_bbbAM335x_armExampleProject")上尝试了相同的操作、这些示例返回以下输出:

    但不幸的是、没有其他东西。 不会通过 UART 打印任何内容、用户 LED 也不会切换。

    您建议接下来做什么? 预构建映像输出上的"某些测试失败"字符串是否符合预期? 如果是、我是否可以以错误的方式(从示例 PDK 工程的输出)生成 bin 文件?  

    此致、

    OkCalis

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

    您好、Rahul、

    如果您可以验证所附项目(默认示例)中的 bin 文件是否可以在 microSD 卡上正常工作、我会很高兴。 正如我在之前的帖子中提到的、我的板不会超过"跳转到 Starterware 应用程序"行。

    期待收到您的回复、

    此致、

    OkCalis

    e2e.ti.com/.../6201.UART_5F00_BasicExample_5F00_bbbAM335x_5F00_armExampleProject.tar.gz

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    请至少有人确认 Processor SDK 示例是否与 Starterware 引导加载程序、i.e、MLO 兼容?
    在引导阶段、我从 UART 输出推断引导加载程序会使电路板通过初始化例程(因为它打印"BOARDinit 状态0x0")。
    我怀疑、由于示例代码在启动 SYS/BIOS 之前也调用 Board_Init()函数、它可能会由于第二次初始化尝试而卡住。 因此,我注释掉了 Board_Init()函数调用,但这也不能解决。 这对我来说不起作用的原因必须有一个简单的解释。

    再次感谢您的帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、处理器 SDK 示例与 PDK 随附的 Starterware 引导加载程序兼容。 我们的系统测试团队使用处理器 SDK 驱动程序示例测试 MLO、以确认此设置。

    您是否仍然遇到此问题? 我找到了一个 BBB 来尝试此操作、并将在我尝试您提供的 UART 示例时提供和更新。

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

    您好、Rahul、

    感谢您对此问题的支持和耐心。

    一段时间前、我在以下论坛主题的帮助下解决了这个问题:  

    我使用 Win32DiskManager 工具来格式化 microSD 卡、我认为这解决了问题。

    再次感谢。

x 出现错误。请重试或与管理员联系。