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.

TMS320VC5510A BOOT

Other Parts Discussed in Thread: TMS320VC5510A

 

I am new to C5510. I am working on TMS320VC5510A. I am working on a prototype design which has this DSP interfaced with a FLASH memory in the CE1 space. The design that I am working on has to work independently without any link with external world i.e. CCS etc. I can use CCS for programming but finally the DSP will have to work independently. Basically, all the codes will be stored in the FLASH memory and DSP will execute all instructions from there. The first thing as I understand after POWER ON will be to boot the DSP. As of now , I am looking at only booting it up and not interested in any specific application as such. I have tried reading documents on booting and got confused. The doubts are as follows:

(a) The document "Using theTMS320VC5510 BootLoader" refers to input file 'my_app.out' in the examples on page 18. How do we get this file?

(b) I referred a document 'C54x Assembly Language Tools Users Guide'. Appendix C page C-19 gives an example. Is it all that I need to write to boot the DSP if I do not have a specific application in mind? How do I modify this code for C55?

 

  • Manish Kumar said:

    (a) The document "Using theTMS320VC5510 BootLoader" refers to input file 'my_app.out' in the examples on page 18. How do we get this file?

    The file "my_app.out" is just an arbitrary name for your actual application code that you want to run on the device.  You get it by creating an application program to run on the TMS320VC5510 with Code Composer Studio.

     

    Manish Kumar said:

    (b) I referred a document 'C54x Assembly Language Tools Users Guide'. Appendix C page C-19 gives an example. Is it all that I need to write to boot the DSP if I do not have a specific application in mind? How do I modify this code for C55?

    The C54x is not the same architecture as the C55x.  You should use the appropriate code generation tool user's guides for the C55x.

    http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&viewType=mostuseful&rootFamilyId=44&familyId=114&docCategoryId=6

     

  • Brandon,

    Thanx for replying.

    What is confusing me is how do I develop and run an application when the DSP has not booted only? Does it mean that the application I develop will take care of booting? If yes,how and does it imply that the DSP boots afresh for every other application? As I told you ,I have to store all the codes in FLASH, how do I ensure from my application code that the content at the first address of the FLASH is the bootcode for DSP and subsequently the code for any elementary application?

  • I want to make sure we are clear on the functionality of the bootloader code implemented in the C5510A's ROM memory.  The purpose of this code is to determine which interface to use to obtain the application code, copy that application code to either internal or external memory and then jump to it.  It will initialize some of the TMS320VC5510A, which is detailed in the Using the TMS320VC5510 Bootloader (Rev. C) in Chapter 2.  Depending on which interface is configured to supply the application code, the TMS320VC5510A rom code will initialize that interface accordingly.

    Your application code, which is what the ROM code bootloader will grab and move to internal or external memory, will be responsible for initializing the device to what you need for your specific application.

    How you ensure the application code is properly positioned and formatted for the ROM code bootloader, that is part of the configuration and build process in Code Composer Studio and using the aforementioned application note.  I would suggest using the examples that are part of DSP/BIOS which runs on the C55xx as a way to get familiar with this process.

  • BrandonAzbell,

    I am working on CCS version 2.10.00 and not using DSP/BIOS. As I discussed I was trying to develop a code which would be stored in external memory. DSP would be selected to boot from EMIF thru the BOOTM pins. For this I used the following .cmd file:

    -stack 0x2000

    --sysstack 0x1000

    -heap 0x 2000

    -c

    -l rts55.lib

    -u_Reset

    -o convol.map

    MEMORY{

    PAGE 0:

    MMR(RWIX): ORIGIN=0X000000, LENGTH=0X0000C0

    DARAM0(RWIX):ORIGIN=0X0000C0,LENGTH=0X00FF40

    SARAM0(RWIX):ORIGIN=0X010000,LENGTH=0X010000

    SARAM1(RWIX):ORIGIN=0X020000,LENGTH=0X020000

    SARAM2(RWIX):ORIGIN=OX040000,LENGTH=0X010000

    EXTSDRAM0(RWIX):ORIGIN=0X050000,LENGTH=0X200000

    PDROM(RIX); ORIGIN=0XFF8000,LENGTH=0X008000

    PAGE 2:

    IOPORT(RWI):ORIGIN=0X000000,LENGTH=0X020000}

    SECTIONS{

    .text>> SARAM0

    .stack>DARAM0

    .sysstack>DARAM0

    .data>>DARAM0

    .bss>>DARAM0

    .const>>DARAM0

    .sysmem>DARAM0

    .switch>SARAM1

    .cinit>SARAM1

    .pinit>SARAM1

    .cio>SARAM1

    .args>SARAM1

    vectors:0Xffff00}

    The .asm file is as follows(it isactually a no application as I am currently looking at preparing the DSP to run any application subsequently.

    .def convol;

    .mmregs;

    ..text;

    .c54cm_off;

    .arms_off;

    .cpl_off;

    convol:

    NOP;

    NOP;

    NOP;

    idle;

    .end. I added  this .asm file and the above.cmd file to a newly created project in CCS. After compiling there was no error. After clicking on Rebuild all-I get error saying undefined symbol _main in c/ti/c5500/cgtools/lib/rtslib.55. Please advise me on this. Besides, the generated map file has no mention of boot.obj programme which should have got loaded as I have usedthe -c option.