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.

TMS320F28069M: Needing SD Card Driver Example

Part Number: TMS320F28069M
Other Parts Discussed in Thread: C2000WARE

Dear Support:

I am needing to get a working uSD card driver example working on the F28069m launchpad (LP) and am using C2000Ware v1.00.06.00 and found in the utilities/third_party directory there are 4 processor directories provided:

f2806x
f2807x
f2837xd
f2837xs

Under each of these directories, there is a fatfs directory that looks like it provides an example on how to use the FatFs module to interface to a uSD card over the starndard 4-pin interface.  However there are very noticeable differences in the mmc file in the port directory of the respective processor.  This mmc file performs the SPI transactions for the respective processor.  (mmc_F2837x.c for the f2837xs, mmc_c28x.c for the f2806x, etc).  I see in this file for the f2837xs example where the SPI port is initialized (i.e. master vs slave, data length, modes, bitrate, etc), however this is missing for the f2806x and hence I don't even see how this would work for the f2806x. 

Bottom line, I am needing a known working example that I can get working on the f2806x and from looking at what is provided in the f2806x directory for this FatFs module, I don't see how this could work since I don't see where the SPI port is initialized.  I also noticed that the f2837xs has an example sdcard CCS project, but the f2806x does not.  So I am assuming that the f2806x was never confirmed working, hence no example was provided in the example directory for it.

So can you tell me how to best go about creating an uSD card example to use the FatFs module provided in the 3rd party directory.  Really want to get start from a known working example and it doesn't look like the f2806x directory in the third party directory of C2000 Ware is a good place to start since the code looks incomplete in the third party directory and there is no CCS example.  Your recommendations as to how to best go about putting something together.  And can you provide some background on what was checked out on what processors and why we have sd_card examples for some processors, but not for others like the f2806x which I need?

Thanks,
Tim 

  • Tim,

    At the moment, we do not have a released example for the F2806x SD card. The best recommendation I have is to take the F2837xS example and port it to be the F2806x. The SPI is functionally equivalent for these devices, so the port should be reasonably straightforward. There is no issue that would prevent the connection from working.

    See these other threads which have addressed the question:
    e2e.ti.com/.../657278
    e2e.ti.com/.../559822

    I acknowledge that this question has been asked many, many times, and the fact is that it is still on the project backlog to port for older devices, but I cannot commit to any timeframe for it to be completed.

    Regards,
    Mark
  • Hey Mark:

    Ok, thanks for the info and recommendation.  The more I dove down into the F2806x example, the more I got confused.  There are very notable differences between what is provide in the third_party directory for the f2806x vs the other 3 processors and the fact that the f2806x did not have a CCS example for an sd_card whereas the others did made it more confusing as to where to start.  I will do as you say and start with the F2837xS example so I can have a known working quantity and then reverse engineer it to work on the f2806x. 

    Thanks,
    Tim

  • Tim,
    Please let me know if you end up having questions on this. When you get the port working, it may accelerate an official release if you share it with us offline after.

    The major differences between the F2837xS and the F2806x will be the system control functions. To be honest, you might just be able to take a clean/basic F2806x project, drop in the sd_card.c file, and go from there. You will need to resolve the inc/ and driverlib/ includes at the beginning to point to equivalent F2806x support files. There will be other things, but that is my very quick assessment.

    -Mark