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:适用于 eMMC 的 FAT 引导

Guru**** 2589275 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/575830/starterware-am3352-fat-booting-for-emmc

器件型号:AM3352

工具/软件:Starterware

大家好

我对 Starterware 的 AM335x 有疑问。

我的客户希望从 eMMC 启动 FAT。
他们希望知道如何为 fat boot 设置格式。

Starterware 包括引导加载程序。
AM335X StarterWare 引导和刷写 用户手册(UserGuide_02_00_01_01.pdf)中介绍了 FAT 格式。

但我认为它是关于 SD 卡格式的描述。
我可以对 eMMC 使用相同的方法吗?

此致
高贵须

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

    尊敬的 Hiroyasy:


    我通常使用 Linux 发行版(如 Debian)进行格式化、以便从 SDCard 启动、

    然后像卡设备一样访问 eMMC。

    首先使用 fdisk 格式化,然后使用 mkfs.vfat 创建分区。 然后、只需在应用程序"app"之后复制 MLO 即可。

    此致

    Fabio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    eMMC 将使用与 SD 卡相同的格式进行引导。 很遗憾、我无法获取 elm-Chan 的 FATFS 库来创建 ROM 引导加载程序将接受的格式。 我已经通过编写一个从 SD 卡运行的简单应用程序来使用原始磁盘写入将磁盘映像复制到 eMMC。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Fabio 和 James

    还可以 谢谢!

    此致
    高贵须
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 James:
    我有一个基于 BeagleBoneBlack 的定制板。 我一直在开发 StarterWare 应用程序以测试所有功能、但我还无法与 eMMC 通信。 我还尝试在其中启动 Linux、但也不会枚举 eMMC。 我想详细了解您编写的应用程序、该应用程序使用原始磁盘写入将磁盘映像复制到 eMMC。 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于我的应用、我只需要在 eMMC 上使用几 MB 的空间。 我创建了一个大小为40 MB 的 FAT32文件系统的磁盘映像,并将该映像保存在 SDCard 上作为常规文件。 该应用只需打开该文件、读取512个字节、然后将其写入从块0开始的 eMMC。 之后、它使用 FATFS 打开 eMMC、并将终端应用程序的 MLO 和应用程序复制到新的文件系统中。 如果您的应用相当稳定、您只需将 MLO 和应用放入磁盘映像中、然后跳过将其写入 eMMC 的步骤。

    块复制使用 FATFS 读取磁盘映像文件、但通过直接调用驱动程序来写入原始块来完成对 eMMC 的写入。 我最终编写了新的低级驱动程序、因为我无法让 Starterware 驱动程序快速可靠地写入 SDCard 或 eMMC。 这是几年前完成的、因此驾驶员的情况可能有所改善。

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

    感谢您的回答。 我认为最近驱动程序发生了变化(声称支持 eMMC)、但我无法对其进行原始读取/写入。 您是否有机会共享驱动程序和执行初始化和 eMMC 读取/写入的应用程序?

    谢谢、

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

    很抱歉、Carlos、但该代码是根据合同编写的、我的客户对以任何形式发布该代码没有兴趣。  我可以告诉您、从头开始编写驱动程序所花的时间比尝试使 Starterware 代码正常工作所花的时间更少。  由于 Starterware 代码未按生产标准编写、因此很少有代码会将其输入到我的最终产品中。  公平地说、TI 认为 Starterware 只是示例代码、并不像任何其他产品那样进行宣传。

    自从我与 Starterware 合作几年以来、我只在我的一个旧帖子上出现一封电子邮件时才访问此网站。  如果我理解正确、TI 已将支持从 Starterware 转移到他们的 RTOS 和/或某种 SDK。  也许这里的其他人可以为您提供该方向的指导、以查找工作示例或经过生产测试的代码。

    祝您好运、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没问题。 我将介绍 RTOS SDK。 感谢 James 的帮助!

    谢谢、

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

    James、

    感谢您的参与和参与讨论。

    卡洛斯、

    正如 James 提到的、Processor SDK RTOS 将是您的不二之选择。 http://software-dl.ti.com/processor-sdk-rtos/esd/AM335X/latest/index_FDS.html

    除了 Starterware 之外、您还可以在 C:\ti\pdk_am335x_1_0_7\packages\MyExampleProjects\MyExamples.

    请记住、需要通过运行 processors.wiki.ti.com/.../Rebuilding_The_PDK 中提到的.bat 文件来创建 MyExampleProjectas。 它们是 MMCSD 专用的、但希望这将对您有所帮助。

    Lali

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

    James 和 Lali 您好、

    感谢您抽出时间尝试帮助我。  我终于找到了我们的设计的问题。

    我们无法在 Linux 上安装 eMMC、只有当我们将速度降低到10MHz 以下时、它才会出现在/dev/dev 下。  我们发现这是由于信号完整性问题所致。  我们最终将此错误跟踪到硬件设计问题(并非所有线路都已正确上拉-我们认为是这样)。

    无论如何、在解决硬件问题后、我的 eMMC 测试现在会运行(在具有当前"固定"mmcsdlib 文件的 Starterware 下)、并且我们可以以52MHz 的频率将其安装在 Linux 下。  我也设法使用 CCS 从 RTOS SDK 运行一些测试。  一切似乎都正常工作。  再次感谢!

    谢谢!

    Carlos