一根油条 发表于 2024-4-3 10:39:56

请教Fatfs读取较大的配置文件该如何定义读取buffer大小

向大家请教问题:使用json作为配置文件,一般文件大小有个10K以内,文件保存在U盘中,STM32 OTG接口,使用 cjosn来解析,如果按行来读取文件数据,那肯定会有些情况下josn解析失败,如果按固定字节数读取文件,那在大多数情况下都会导致后边的一个字符串被截断,导致json解析失败,是不是只能先获取文件大小,然后malloc申请同等大小的buffer,将文件全部数据读取回来再解析?那如果是文件更大了,那就需要更大的RAM了?有没有更好的办法呢,节省RAM

eric2013 发表于 2024-4-3 11:24:22

对于H7系列,有1MB的RAM空间,几十KB的json文件完全可以全部加载进来解析。如果是几MB的JSON,可以外部SDRAM。

如果没有外部SDRAM,得考虑实现边读取边解析的方案了。

一根油条 发表于 2024-4-3 11:36:02

eric2013 发表于 2024-4-3 11:24
对于H7系列,有1MB的RAM空间,几十KB的json文件完全可以全部加载进来解析。如果是几MB的JSON,可以外部SDRA ...

目前使用的STM32F407,192K RAM,如果是全部读取回来也够了,这个办法就是有点占RAM

eric2013 发表于 2024-4-3 13:32:38

一根油条 发表于 2024-4-3 11:36
目前使用的STM32F407,192K RAM,如果是全部读取回来也够了,这个办法就是有点占RAM

可以看看其他的json解析库,支持边读取边分析的,内存占用小的。
页: [1]
查看完整版本: 请教Fatfs读取较大的配置文件该如何定义读取buffer大小