What I am using
For some reason once I put more than 2GB of data in the Data folder the selected folder after 2GB returns invalid info about the files is in the folder. Each of the folder contain the same amount of data (1.09 GB) and the same exact files. Does anyone know what I need to do to fix this?
Correct
Incorrect
So no more help with fixing your MFS file system library?
I do not think what you sent me is going to work. The RTOS is heavily dependent on an int for the file not MQX_FILE_PTR. The only way I can see this working is if I change the all of the libraries I use. Do you have a version of the MFS file system that uses an int for the file that do not have the bug that prevents the use of SD cards larger then 2 GB
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:239:21: error: conflicting types for '_io_get_fs_by_name'
extern MQX_FILE_PTR _io_get_fs_by_name(char *fs_name);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:52:5: note: previous declaration of '_io_get_fs_by_name' was here
int _io_get_fs_by_name(char *fs_name);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:240:21: error: conflicting types for '_io_get_fs_name'
extern int32_t _io_get_fs_name(MQX_FILE_PTR fs_ptr, char *fs_name, int32_t fs_name_len);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:53:5: note: previous declaration of '_io_get_fs_name' was here
int _io_get_fs_name(int fd, char *fs_name, int32_t fs_name_len);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:241:21: error: conflicting types for '_io_is_fs_valid'
extern bool _io_is_fs_valid(MQX_FILE_PTR fs_ptr);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:54:5: note: previous declaration of '_io_is_fs_valid' was here
int _io_is_fs_valid(int fd);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:243:21: error: conflicting types for '_io_unregister_file_system'
extern uint32_t _io_unregister_file_system(MQX_FILE_PTR fd_ptr);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:57:10: note: previous declaration of '_io_unregister_file_system' was here
uint32_t _io_unregister_file_system(int fd);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:244:21: error: conflicting types for '_io_register_file_system'
extern uint32_t _io_register_file_system(MQX_FILE_PTR fd_ptr,char *name_ptr);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:56:10: note: previous declaration of '_io_register_file_system' was here
uint32_t _io_register_file_system(int fd, char *name_ptr);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:255:16: fatal error: io.h: No such
I added the file. Do I need to add a define anywhere? Is so what and where do I add it.
I get a compiler error. It doesn't know what MQX_FILE_PTR is. What is MQX_FILE_PTR?
Hi @MattJCole
Please refer to my attached fio.h
Location is mqx/source/include in MQX 4.2
Regards
Daniel
That is a no go. The files you sent me match the files. I think you didn't send me the files that fixed the problem. I believe you are correct that it is a MFS file system issue. The MFS file system code is using 32 bits for the address instead of 64 bits. Can you send me the code in mfs\source\generic and mfs\include. I will merge what I need.
Hi @MattJCole :
attached source code is from MQX 4.2.0. (same with KSDK1.3)
the code I attached in last post is based on this version (MQX 4.2.0).
Regards
Daniel
Hi @MattJCole :
This seems a MFS file system issue.
Could you please merge my attached source code and try it again?
Regards
Daniel