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.

Latest SDFlash Algo For TMS320C28346 (AT24C512B)

Other Parts Discussed in Thread: TMS320C28346, TMS320C28343

I'm trying to use SDFlash to load a program onto my TMS320C28346's EEPROM.  The algo that comes with SDFlash supports a C28346, but with the EEPROM AT49BV802D.

I can't seem to find any updates to the Algos.  Does one exist for this particular chip, or do I have to roll my own?

I spoke with Spectrum Digital's support line and they said that if it does exist it'll be on the TI site.

When all is said and done I want to load the boot image onto my chip via i2C and power cycle to verify that it has booted to my program.  For now I'll be using the LED blink program as my boot image.

  • I should have been more clear.  I am trying to find an SDFlash also for the TMSC28346 with the AT24C512B EEPROM.

  • Hi Frank,

    As best as I can tell, there is currently not a ready made solution for AT24C512B using SDFlash.  I think you will have to spin your own algorithm.  This app note should walk you through the process: http://www.ti.com/lit/an/spraaw0/spraaw0.pdf.  Let me know if you have any further questions.

  • Hi Devin and Frank,

    I have the same problem as Frank described. I was wondered if there is an update on using the SDFlash with the AT24C512B yet?

    I had a look at the spraaw0.pdf but so far I did not succeed in writing my own driver. Has anybody adapted the driver files successfully and is willing to share?

    Thanks a lot for your help,

    Janine

  • I never did get an answer to this so I ended up modifying the "i2c_eeprom" example.  I modified this to now load a boot image onto the EEPROM via I2C.

    Here are the problems I encountered and the solutions I found

    1) How to get the executable into the proper format for loading onto the EEPROM

    The Hex2000.exe utility does this for you.  The trick is figuring out the appropriate command line arguments.  These will vary with your processor.

    2) Loading the file from my PC through the JTAG to the executable running on the processor.

    fopen/fread can load a file from your PC into the program you're running on the processor.

    I would suggest using the "timed_led_blink" executable as your test file for loading onto the EEPROM since it actually does something you can observe.

  • Hi Frank,

    thank you for your fast reply. I am using the TMS320C28343 and I am now trying to modify the i2c_eeprom example as well. I'm having troubles in reading the file, I have found a tutorial about it and the pointer to the file seems to change when doing the fopen command. However, I am not able to read from the file, the array I am reading to stays empty and the return of the fread is zero.Before entering the while(1) loop, I tried reading the file with:

    fptr = fopen("Example_2834xLEDBlink.a00", "rb");

    readSize = fread(fileStr, sizeof(char), BUFSIZE, fptr);

    where fileStr is a char array of the size BUFSIZE, but the fileStr does not get any values. I also tried with .txt files or using the full path (C:...) to the file I would like to open, no success.

    How did you manage to load in your file? Thanks again for your help!!

  • I can't speak to the specific MCU you're using since I'm using a 28346.
    Your file pointer should have a different value after the fopen.  Hopefully from NULL to something non-NULL.
    Are you sure you're opening the file?  It should go in the same directory as your executable (at least at this ooint). 
    
    
    If you aren't successfully opening the file then your file pointer will be NULL after the fopen.
    Your fopen looks correct.  Your fread also looks correct.
    
    
  • Hi Frank,

    Were you able to program this EEPROM and have your Application run on the processor? I'm having the same issue.

    Tim