我的应用程序/设备在 ARM Cortex M3 (STM32) 上运行,没有操作系统但有 FatFs) 并且需要访问许多资源文件(音频、图像等)
- 代码从内部闪存(ROM,256Kb)运行。
- 资源文件存储在外部闪存(SD 卡,4Gb)上。
- 没有太多 RAM (32Kb),因此不能从包中 malloc 一个完整的文件。
由于用户可以访问资源文件夹以进行原子更新,我想将所有这些资源文件打包在一个(.dat、.rom、.whatever)中,这样用户就不会错误处理这些数据。
有人可以指出一个很好的解决方案吗?
我不介意在我的应用程序中重新映射 fopen、fread、fseek 和 fclose,但我不想从头开始(对序列化程序、目录、解析器等进行编码)。我的系统非常有限(没有 malloc,没有框架,只有 stdlib 和 FatFs)
感谢您给我的任何意见。
注意:我不是在寻找将资源嵌入代码(ROM)中的解决方案,因为显然它们太大了。