This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ATA FS C5535 without BIOS

Hello,

I want to use FAT on SD card with my board based on DSP C5535.

I can see that there is an example with ATAFS in CSL v3.01,
however it seem that the project is a RTSC project with BIOS since there is a Bios config file and task running.
This is needed by the ATAFS lib which is compiled with BIOS.


In my project is  a standard CCS project. I don't need to use BIOS an multitasking but I want to use ATAFS.
Is there any solution to compile the code of ATAFS  without the use of BIOS RTOS?
If not is there any other FAT file system which can work with the 16 bit only architecture of C55 familly?

Regards,

Max

  • I ported EFSL with some effort, and it now works well.  It has mechanisms for pulling data from data structures that can accommodate the 16-bit architecture.

    Regards,

    Bill

  • Hi Bill,

    1) Can you be more precise about to the effort needed for makes working EFSL? (Only the SD hardware interface or also some other thing for accomodate 16bit wide char on C55 => tab index, mask bit...)

    2) So for you now the library can create a file in FAT filesystem?

    3) If possible can you share this?

    PS: I already give a try to port another embedded FS which is FatFs, for now the SD card answer but since there is a lot of mask bit and index defined for a 8 bits tab access, all fail....

    Regards,

    Max

  • Max,

    1) Quite a bit, spread over two projects.  It basically provides a file system on an SD card that you can access from your DSP program.

    2) It sure can.  FAT16 or FAT32.  I even have a translation layer so you can use C file streams (i.e. fopen).  The only missing piece are long file names, mostly because they are such an ugly hack and I've managed to live without them.

    3) I don't think I can give out the source, but I could probably give you a compiled library, if that would be useful for you.  Send me your email privately.

    Regards,

    Bill

  • Hi,

    Please confirm me as a friends otherwise it seem I can't send you a mail...

    Regards,

    Max

  • Hi, did you solve this problem ? If so, could you please share the source code ? Thanks.
  • Hello,

    Yes I finally succeed to use the default "atafs_bios_drv_lib" which finally works without using the BIOS.
    Unfortunately I cannot share the full project code because it is part of quiet a big closed source project.

    But I will join the dirty FAT part when I was testing that.

    It make quiet a long time I not used this project so here are the step I remember to do:

    1) I get the last "atafs_bios_drv_lib" (c55xx_csl\ccs_v5.0_examples\drv\atafs) project in my CCS and compiled it for get the library with the right memory model.
        It produce a library "atafs_bios_drv_lib.lib" which I then import in my project. (Properties -> C5500 Linker -> File Search Path)
        You can find the library compiled in the joined files (compiled in large memory model).

    2) You then just use the library in your non RTSC project like in the example available in "c55xx_csl/ccs_v5.0_exmples"
    Here I join some old file from the project in case it help.

    FAT.zip


    Regards.