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.

[参考译文] EK-TM4C1294XL:将内部闪存用作 USB 大容量存储设备

Guru**** 2448780 points
Other Parts Discussed in Thread: EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/623059/ek-tm4c1294xl-utilizing-internal-flash-as-a-usb-mass-storage-device

器件型号:EK-TM4C1294XL

您好!

我一直在寻找将 tm4c 器件的内部闪存存储器(我目前正在使用 EK-TM4C1294XL)枚举为 USB 大容量存储器件的相关信息。 我已经看到 DK-TM4C129X 的 USB_DEV_msc 示例、该示例使用四通道 SPI 闪存存储介质、但我没有看到任何内部闪存。 动机是使用引导加载程序将内部闪存枚举为主机上的 USB 驱动器、用户只需将新的固件.bin 文件拖放到驱动器上、器件就会将新应用程序写入内部闪存。 基本上、它类似于 USB_stick_update 示例、但使用 tm4c 器件作为 USB 器件而不是主机。

我首先要将 USB_DEV_msc 示例移植到 CCSv7中的 EK-TM4C1294XL、方法是更改引脚分配并注释掉所有图形和 SPI 闪存相关的调用。 到目前为止、设备在设备管理器中枚举为大容量存储设备、在 Windows 资源管理器中显示为驱动器、但 Windows 弹出窗口显示"您需要在驱动器 E 中格式化磁盘、然后才能使用它。" 我会毫不犹豫地谨慎行事、并允许 Windows 将其格式化为 FAT 文件系统、以防它产生意外的后果。

我想我的问题有两个、第一个目标是让内部闪存作为 USB msc 设备进行固件更新? 如果可以像我认为的那样,那么要正确地“格式化磁盘”(或诱使 Windows 认为它的格式正确),具体需要什么?  

为了提供更多信息、我使用的是 TivaWare_C_Series-2.1.4.178。

谢谢、

Luke

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

    我们以前没有尝试使用 TM4C 内部闪存进行 USB 大容量存储。

    对于 Windows 来说、如果认为磁盘格式正确、则需要看起来像 FATFS 格式化为 Windows。 此外、虽然我同意您不应让 Windows 尝试设置格式、但我真的不认为它甚至可以设置格式-如果 Windows 知道如何在 TM4C 中设置闪存格式、我会感到惊讶...

    我们尚未尝试将内部闪存用于 FATFS 格式、因此不清楚如何实现这一点。 您需要调查 FATFS 格式并了解如何将其纳入其中。 将此用于引导加载程序也可能会使问题变得更加复杂... 根据 FATFS 格式的要求、您可能需要为其指定一部分闪存。 这将进一步限制您的应用程序空间、因为您需要闪存的 FATFS 部分、引导加载程序以及您的应用程序代码。

    这是否可行最终取决于您对 FATFS 格式的发现以及应用程序所需的空间大小。