我需要在外部flash中储存一个大概500k的文件,并且需要对它进行读写操作。
例如,我从网络上获得文件保存在flash中,发现超过69000个字节左右的时候,就报错了。
于是我用C:\TI\CC3200SDK_1.0.0\cc3200-sdk\example\file_operations的例程测试,把原来限制的64Kbyte 改成69Kbyte,结果出现同意的现象。
sl_FsWrite的返回值是 -15,
进一步查得应该是宏:#define SL_FS_ERR_OFFSET_OUT_OF_RANGE (-15)
你们那个文件系统的操作函数,是不是有大小限制?我现在必须要保存大于64K字节的文件,请问这应该怎么办?
我一个帖子中看到了有人和我碰到了同样的问题,已经解决了,但是没有解决方案,我没有办法去联系发帖者,我现在也碰到了一样的问题,希望能帮我解答一下
user3676850:
回复 Viki Shi:
太感谢了,我刚解决这个问题了,我写入文件前先检查是否存在,如果存在就先删除。 的确是这个问题导致的,看来不少人碰到 这个问题。返回的错误-15的确是太让人迷惑,不容易定位问题。 希望有后面的版本能提供更好的提示
user3676850:
回复 Viki Shi:
我是想实现OTA功能,现在这个问题解决了,下载的新固件保存了。如果用它替换默认的mcuimg.bin呢,我本来想的是两个思路,1删除mcuimg.bin, 把下载的固件改名为mcuimg.bin,重启。2设置启动时加载ota固件,而不是mcuimg.bin。问题是1似乎没有提供更名的API函数,删除更名过程如果出意外,将无法恢复,2,方案2不知道如果 去设置