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.

Getting a binary boot file to run, and also the cleaner

Other Parts Discussed in Thread: TMS320C5515

I am trying to get a boot file to run on my 5515EVM board. I have successfully taken the *.out file and converted it to a *.bin file.  I was able to load the binary boot file per the Wiki's guidance into the NOR flash using the boot loader programmer.  But the program does not run after power cycling.  Nothing happens at all.  Also I am not sure on how to run the "cleaner" binary file, so that might be part of the issue.  Guidance on how to run the cleaner would be most appreciated.  Even worse, something is now corrupted as I can't get the program to run correctly in Debug now.  Any help would be most appreciated.

James McPherson

CTO Leo Technologies

  • Hi, James, I'm trying to perform the same. You can use 'cleaner.bin' by running the 'programmer' in CCS and exhibit the command: 2<enter> which selects the NOR, 2<enter>, which selects CS2, followed by for instance 1C:\tmp\cleaner.bin, which write cleaner.bin to the NOR. In my case I noticed I noticed I have to power-recycle the EVM5515 each time 'programmer' has run. I'm still trying to find out how to get my software, using BIOS5.3 running on NOR as well. Maybe we can work together on this. Help from TI is welcome of course.

    Which CCS version do you use?

     

    regards, Laurent

     

  • Thank you Laurent, I will "clean" the on board memory, and try it again.  Hopefully together we can figure it out. 

    I wonder if the hex55 conversion comand I used was wrong.  The command shown in the Wiki page: hex55 -i filename.out -o boot_image_file_name.bin -boot -v5505 -b -serial8  gave me an error saying that if could not find serial8.out.  I tried again without the -serial8 part, and the boot binary file was generated with no problem.  Did you use the full command?

    I am using CCS v4, since it came with my EVM.  I can upgrade to v5 if I really need to.

     

    Best Regards,

    James

  • Hi James,

    no, I choose to make a command(.cmd) file which is called by a batch file. This is more suitable, I guess, and enables more flexibility. Also it allows for additional settings like starting points, register settings. Still finding out how its mend to work. Question! Do you have the following documents?

    http://www.ti.com/lit/ug/spru280i/spru280i.pdf

    http://www.ti.com/lit/an/sprabd7a/sprabd7a.pdf

    as well as "TMS320C5515 Evaluation Module(EVM).pdf" from Spectrum Digital.

    I tried the command as you phrased it and it works ok. To be sure, you operate on a released compilation and, you incorparted all relevant GEL actions in your code? Like setting the PLL etcetera?

     

    regards, Laurent

     

     

  • Hello Laurent,

    I do have the EVM document, but not the boot loader documents, so thank you.  I have some reading to do.  Yes at the moment I am using code that TI developed to be used with the EVM and the analog sensor front end.  I have been able to compile it and it works fine in Debug mode.  What are the specific issues you are having with the command file approach?

    Thanks again,

    James

  • OK well I have learned a little bit more.  You don't want to use the -i command when using the hex55 program.  That tells it to put it in Intel format.  I think part of the issue is that the NOR flash is, I believe a 16 bit parallel device, so you can't use the -serial8 command.  But you cant use the -b binary format in the -parallel16 mode.  What do you think, the -a ascii format instead for the boot file?

     

    James

  • Hi James,

    I have been able to program the NAND successfully with the EVM_sample.bin. You can download this from Spectrum Digital.

    http://support.spectrumdigital.com/boards/evm5515/revb/

    You should download all of it and use the Demo called EVM_Sample. Import it in CCS, change some colors in lcd.c, somewhere at the bottom of the file. Change for instance 0xF0 into 0xFF. This gives the color white. Use the serial8 and -b option. Clear the  NOR and NAND using cleaner.bin. Then load the original sample in the SPI-EEPROM and run it. Confirm the colors on the LCD. Then load the modified EVM_Sample to the NAND. Re-power and confirm the white colors. It should work.

    I'm now going to find out how to program the NOR. Let me know you're results?

    Laurent

     

     

  • Hi James and Laurent,

    It is great to see E2E is in action, engineers sharing information. I have been watching the excahanges and would like to bring to your attention about this site which is listed on the left side of E2E if you have not already aware of it. Furthermore, the NOR used on EVM is different to the one on ezDSP.

    http://processors.wiki.ti.com/index.php/C5515_Boot-Image_Programmer

    Hope this help.

    Regards.

  • Hi Steve,

    Actually I started out working on the boot programming with that Wiki page.  I guess my question for you is if I can't use the -serial8 and -b binary formats with the NOR flash then what should I use?  There is the -a ascii format, but would that still be a -b option, and a .bin file?  An example of a working DOS command for programming the NOR would be great.

    Regards,

    James

  • What problem you have with -b and -serial8 options? I used this example command in Bootloader Apps Note with no problem:

    hex55 -i file_name.out -o file_name.bin -boot -v5505 -b -serial8

    Regards.

  • Well I can run hex55 fine, but I do not get a boot up file that boots when I power cycle.  The -i option makes it a INTEL format.  I have tried it without the -i, and it creates the .bin boot file, but again it does not work on boot up.  This is the essence of my issue.  Everything seems to work fine, but I don't get a working boot file.  So I have been trying other formats for the NOR flash in hopes that that will work...

     

    James

  • Are you doing this with a C5515EVM?

  • Yes I have a TMS320C5515 EVM from Spectrum Digital.

    James

  • James,

    I just downloaded the Demo Software zip file from Spectrum Digital's C5515 EVM site: http://support.spectrumdigital.com/boards/evm5515/revb/

    and tried out the programmer.out follwoing the instructions with my C5515EVM. It works fine with the NOR selection. I also followed the instructions in hex_converter to generate a 2 new .bin files. One using the EVM_Sample.cmd file which generates the EVM_Sample.bin and one using commend line with the hex55 -i EVM_Sample.out -o EVM_Sample_i_serial8.bin -boot -v5505 -b -serial8. I downloaded successfully with bothbin files with a clean in between. Attached is my demo.zip file.

     7462.demo.zip

    Hope this help.

    Regards.

  • Hi James & Steve,

    -Make sure you setup the PLL in you're code. If possible use CSL(the Chip Support Library). I use it and, I like it. I also use DSP/BIOS as framework and rewrote the ECG sample project reducing the interrupt routine. I also provide a User.cmd file to create:

    .bss: block(0x20000)    {} > SARAM PAGE 0, fill = 0   ALIGN = 2

    for initialsation of arrays to 0.

    I'm able to program the NAND with the following command file:

  • Ah Thank you Laurent, that might be a big part. The PLL is being set to 100MHz when I Connect to the EVM in Debug mode, but it might need to be set to 12.288MHz.  What did you set it too for the NAND?

     

    James

  • Thank you Steve, so the Intel format set up by the -i command is the correct on for NOR and NAND flash?

    James

  • Hi Laurent and Steve,

    With your excellent help I have successfully loaded working boot code for my program into the NAND flash.  Interestingly it got corrupted somehow if I didn't make sure I cleaned both the NOR and the NAND.  If I was not diligent about this it then a corrupted version of my program was loaded that was only semi-functional.  I used the -b and -serial8 commands to get there.  Thanks so much for all of your help!

    Best Regards,

    James

  • Hi James,

    first you need to program the PLL in you're source code. Actually if you can run you're code in the debugger without having the GEL file initialize registers and the PLL then you're good. The 12.228 MHz is only required for the serial device. The NAND and NOR can run on 100Mhz but, can also be programmed at 12.228MHz. So for the NAND I use 100MHz. You don't need to erase upfront.

    k.rgds, Laurent

     

     

  • Hi James,

    I created simple executable blinking LED on EVM5515.

    With CCS it runs OK.

    I created boot image using cmd file:

    -boot
    -v5505
    -b
    -map leds.map
    -o leds.bin
    leds.out

    I copied the BIN to the NOR FLASH - using my code (modification of the example provided by Spectrum).

    In debugger I see the NOR content:

    09AA    0000    96DD    0001    FFFF    0100    12E8    0000    0060    46B3    2020    2020    2020
    F031...

    It looks OK and the NOR FLASH is first in the sequence the boot loader is checking.

    BUT, it is not working - after energizing the original code displaying information on LCD is running!!!

    I tried also byte width - the same result.

    I added EMIF initialization taken from NOR example:

    --reg_config 0x1004,0x0080,0x00E4

    The same result.

    May it is necessary to initialize some registers in boot file?

    Any advices? Thanks in advance!