Ave, Today i encounter another problem with Keil libraries... The problem applies to fopen() function in update mode "w+" and SPI Flash memory. In such situation fopen() returns NULL. There is no problem when accessing uSD card nor SPI Flash without "+" qualifier (i.e. "w" or "a"). Documentation says it should work. Particulary I need to create *.json file and I need to overwrite data inside the file. Is there any solution/workaround for this? Finally I can use row data on SPI Flash memory but FAT file system is better solution.
My IDE is MDK Proffessional 4.54
Best regards, Slavo
I can duplicate this problem but I am not sure if this is a limitation of the Embedded File System (EFS). I'll let you know in this thread as soon as possible.
Hans Schneebauer Technical Support Germany
All file update modes with "+" are not supported with the Embedded File System. This is already mentioned in the 'Note' below the mode-description of fopen(). Please see: www.keil.com/.../group__stdio__routines.html
We will mention this issue in the list of EFS limitation as well in the near future. Please see: www.keil.com/.../emb_fs.html
>You are right, "+" is not supported in EFS, whih means in all Flash chips
No, the EFS is only used for NOR Flashes and SPI NOR Flashes. NAND Flashes and other media use the FAT files system. Please see for more details: http://www.keil.com/pack/doc/mw/FileSystem/html/index.html
>Unfortunately the is no such a 'Note' in uVision embedded help.
The help in uVision is identical to the help on our website. If you select 'fopen' in your source file and if you then press F1, your browser should open with this local file:
file:///C:/Keil_v5/ARM/PACK/Keil/MDK-Middleware/6.6.0/Doc/FileSystem/html/group__stdio__routines.html#ga76a21223ed39a2692fdfc854aab93b2c
The manuals on the web and our offline help comes from the same database.
Thank You for quick response. You are right, "+" is not supported in EFS, whih means in all Flash chips. Unfortunately the is no such a 'Note' in uVision embedded help.
OK, I missed that, NAND Flash is supported. In my uVision help (V4.54) there is no 'Note' tab in fopen() description.
View all questions in Keil forum