工具与软件:
我将使用以下软件:CCS 8.3.0、TIRTOS 2.16.1.14、编译器5.2.7、XDC 3.31.1333、TM4C1294NCPDT、 NDK_2_25_00_09
目前、我有一些代码可以使用 Tiva 上的单个 SPI 来读取和写入小型外部闪存芯片。 我可以通过 TFTP 在远程系统之间向小型闪存发送数据以及从小型闪存接收数据、以便进行功能实现。 该小闪存包含2个已知大小和类型的不同文件、并会根据两个预期文件的预期大小对存储器进行预分区。 示例:file1.txt 最大大小为400k、file2.bin 为5Meg、因此将闪存分区为第一个文件分配 Say 500K、为第二个文件分配6Meg。 这可能并不理想、但它可以正常工作并满足需求。
我将向 Tiva 上的单通道 SPI 通道(SPI 通道3)添加一个大1G 字节闪存芯片、用于提供更多外部存储。 使用4通道 SPI 比较好、但用于其他3个通道的引脚当前已在 Tiva 上使用、因此不能选择使用4通道 SPI。
我正在考虑是否有更好的方法来为外部闪存执行小型轻量级文件系统、但是由于 Tiva 是一个资源有限的小型微控制器、所以我不希望实现会消耗 Tiva 内用于固件的所有 RAM 和闪存空间的东西。 我确实可以重复使用上面所述的代码、这些代码可以使用 TFTP 发送和接收。 我可以像使用小闪存一样、通过预先定义1GB 闪存中的10个部分来预分配1G 字节闪存空间、最多只能分配10个文件。
闪存的长期规划是、我们只需要添加几个更多的文件、但一些文件的大小可能各为35Meg、因此绝不会期望有许多不同大小的小文件、因此预分区可能没问题、但会限制长期的灵活性。
是否有更好的方法可以考虑实施?
我看到 TI RTOS 有一个 RAM 磁盘、但我不知道我是否应该考虑在 TI RTOS 中还有其他任何内容用于闪存、或者我是否应该使用更好的方法?
谢谢!
道格