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.

USBSTICK works without a PC?

Other Parts Discussed in Thread: TMS320VC5505

Hi everyone,

I have a USB current adapter that could be used to turn on the stick. The question is: The program that was loaded to the dsp from code composer is remained in the memory and just connecting the stick to the power (via USB adapter) that program is executed? Thanks for your replies. 

  • Hi Nemanya,

    When you load a program from Code Composer the code is getting placed directly into RAM, where it is read and executed by the DSP. Anything in RAM is volatile and will be lost when you remove power from the DSP.

    If you want the DSP to run your program at power-on, you will have to load your code into the EEPROM. At power-on, the DSP’s bootloader will find your program in EEPROM and copy it into the RAM for execution.

    You will need to use “hex55.exe” to convert the .out file to a binary file. Then you will need to run an EEPROM programmer on the DSP to write the binary file into the DSP’s EEPROM.

    For the C5505, you must use “hex55.exe” version 4.3.3 or later. We are in the middle of releasing this version and the EEPROM programmer tool to the public. It will be available soon, and I will post the information here when it is available.

    In case you need the tools urgently, please contact your local TI person (sales or FAE) and let the local TI person contact me.

     

    To learn more about the bootloader, see the TMS320VC5505 Data Sheet (http://www.ti.com/lit/gpn/tms320vc5505) in section 4.4

    To learn more about “hex55.exe”, see the TMS320C55x Assembly Language Tools Users Guide (http://www-s.ti.com/sc/techlit/spru280) in section 14

    Similar Forum Post: http://e2e.ti.com/forums/p/10616/44507.aspx

    Hope this helps.

     

    Thanks,

    Mark

     

  • Hi Mark,

     

    I also need to load my code into EEPROM.

    Can you give us an estimate as to when you expect the information to be available?

    Milton Cram

  • If number of respondents counts, please count me as needing this fairly urgently. I'll contact my FAE but I have an app that is being demo'd on the ezDSP board minus the computer emulation. Thanks.

  • Any news on the programmer tool?

    How do I get hex55.exe version 4.3.3 or later? I currently have 4.3.2.

     

    Regards

    Ricco

  • This EEPROM programmer is only for the C5505 eZdsp USBStick

    We have officially released our eZdsp Programming Tool. This download contains the programmer_USBKey.out file needed to write to the EEPROM of the eZdsp.

    Please see our open source c5505-eZdsp Google Group for the download: http://code.google.com/p/c5505-ezdsp/

    ----------------------------------------------------------------------------------------------------------------------------------------
    Using Hex55.exe and programmer_USBKey.out to load code to EEPROM of C5505 eZdsp USBStick:

    * Install the C5500 Code Generation Tools (v4.3.3 or higher):
    https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm#C5500

    * Build your project with Code Composer and locate the COFF object file (*.out) placed in .\Debug\<Project Name>.out

    * Run hex55.exe on your .out file to create a binary file:
    Hex55.exe is located in <C5500 Code Generation Tools Install Directory>\bin\hex55.exe
    For eZdsp USBStick, run it as follows:
    Open the DOS CMD line and change directory to the location of hex55.exe
    Run hex55.exe with the following options:
        hex55.exe -boot -v5505 -serial8 -b -i .\<COFF_OBJ_File>.out -o .\<Binary_Output_File >.bin

    This will create an ASCII-hexadecimal binary file suitable for loading into the EEPROM
    The command line should display the respective output:

        Translating c:\binaries\USBKey_LED.out to Binary format...
        "c:\binaries\USBKey_LED.out"   ==> .text     (BOOT LOAD)
        "c:\binaries\USBKey_LED.out"   ==> .cinit    (BOOT LOAD)
        "c:\binaries\USBKey_LED.out"   ==> .const    (BOOT LOAD)

    * Connect to the USBStick in Code Composer

    * Load the provided “programmer_USBKey.out” file to the target:
    Target --> Load Program… (CCS4.0)
    File --> Load Program… (CCS3.3)

    * Run the loaded program:
    When prompted to “Input your binary file path...” enter the full path to the binary file just created.
    The programmer should display the following output:
       
        Input your binary file path...
        c:\binaries\USBKey_LED_v435.bin
        SPI EEPROM...
        Writing data to device...
        Opening c:\binaries\USBKey_LED_v435.bin...
        Input file opened
        Programming Complete

    * Now your project will be found in the EEPROM by the DSP’s bootloader and should begin executing as soon after the device performs a Power on Reset

  • Thanks.  It was the new version of hex55.exe I was missing. 

    Why is this not released with CCS4.0 (or the update)? 

    Best Regards,

    Ricco

  • Hi,

    The default bootloader program provided with the eZdsp tool, plays two tones and blinks the LED. Where is the code for this program? What I want to see is, what are the other things that this program does. Does it configure some registers? Does it initialize the PLL? If I want the eZdsp to bootload from my program in EEPROM that I load using the above procedure, I should make sure that my program also has all the configurations and initializations. I do not think that if I take the AIC3204 test program, compile it, create .bin from .out and load to EEPROM, the eZdsp can run that program on power up, because PLL and other things might not be initialized. Can someone please tell what are the minimum things to include in a program for proper bootloading.

     

    Thanks in advance,

    Rijurekha

  • Continuing my query above, I understand that when I do Target->Connect from CCS, th following function in GEL file gets executed.

    OnTargetConnect()
    {
        GEL_Reset();
        Peripheral_Reset();
        ProgramPLL_100MHz();
        GEL_TextOut("Target Connection Complete.\n");
    }

    Should I include the above functions in the C program that I write, so that the program can run on the eZdsp on power on, without a PC?

    In the GEL file there are several other things also, like C5505_MapInit() . I am not sure where they are called from. 

     

    Thanks,

    Riju

  • I'm not sure where the source is for the program that is preloaded on the eZdsp.  Maybe someone else can provide that information.

    You are correct that the actions in the OnTargetConnect() gel function need to be incorporated into stand alone code.  In the case you referenced above you can ignore GEL_Reset() - This resets the processor and you don't need to repeat that in your code since you will be operating from a Power On condition.  And the GEL_TextOut() isn't required - CCS only command.  So, the remaining 2 commands need to be incorporated into your code.

    Regards.