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.

some questions about programme locate on memory and section

I design tms3206713b connect to a flash and a sram。

First,i want to know where locate my programme when i use ccs boot the dsp not burn the flash.So how can i write the cmd file?

        When i finish programme in ccs,how can i burn the flash and write the cmd file?

Second,the locate address of programme and run address of programme that are questions for me.You know in arm system,we burn the os and application programme in flash.When we run the arm system, we move all the programme from flash to sdram then run it.Are there difference between the dsp system and arm  system? How can i use internal ram in the tms3206173b(L1 and L2 internal RAM)?

Third.I find the example of  cmd file in ccs as follow(I attach  the timer1 project):

/*
 * Copyright (C) 2003 Texas Instruments Incorporated
 * All Rights Reserved
 */
/*
 *---------timer1.cmd---------
 *
 */

/* Memory Map 0 - the default */
MEMORY
{
 PMEM: o = 00000000h l = 00010000h
 BMEM: o = 00010000h l = 00030000h
}

SECTIONS
{   
    .text       >   PMEM
    .csldata >  PMEM
    .stack >   PMEM
    .far >   PMEM
    .switch >   BMEM
    .tables >   BMEM
    .data   >   BMEM
    .bss >   BMEM
    .sysmem >   BMEM
    .cinit >   PMEM
    .const >   BMEM
    .cio    >   BMEM
}
My  question is where is the definition of section name except .text and .data.I cannot find in the timer1 project.

When we set .text .csldata in the same PMEM memory,what's the difference about order of them in SECTION file? What's the address of them depend on the order? 

Fourth.Is there any difference between DSP/BIOS project and NO DSP/BIOS project on tms3206713b? Can i do my work without dsp/bios?

timer1.rar
  • YongchaoDeng said:

    First,i want to know where locate my programme when i use ccs boot the dsp not burn the flash.So how can i write the cmd file?

            When i finish programme in ccs,how can i burn the flash and write the cmd file?

    The cmd file, as written, will allow you to load your program into internal memory and run it from there. This is the easiest way to debug your program, if it works out for your application.

    To program the flash, you would use the Flashburn utility. It might already be installed for you, or you can get it through Update Advisor or the web www.ti.com . Also look for application notes on Flashburn.

    You will have to use a secondary bootloader to copy the program from flash into internal memory, since the DSP bootloader will only copy the first 1KB for you.

    YongchaoDeng said:

    Second,the locate address of programme and run address of programme that are questions for me.You know in arm system,we burn the os and application programme in flash.When we run the arm system, we move all the programme from flash to sdram then run it.Are there difference between the dsp system and arm  system? How can i use internal ram in the tms3206173b(L1 and L2 internal RAM)?

    The C6000 Assembly Language Tools User's Guide spru186 explains how the linker works and how you can create files to be used with boot loaders. Section 7.15 of spru186q discusses Copy Tables which are very useful for bootloaded applications. You will want to specify a LOAD address in Flash memory space and a RUN address in PMEM and BMEM space.

    YongchaoDeng said:

    Third.I find the example of  cmd file in ccs as follow(I attach  the timer1 project):

    My  question is where is the definition of section name except .text and .data.I cannot find in the timer1 project.

    When we set .text .csldata in the same PMEM memory,what's the difference about order of them in SECTION file? What's the address of them depend on the order? 

    The C6000 Optimizing Compiler User's Guide spru187 lists all of the sections that it creates for its use. That is where these other sections are created. The linker is in charge of the order of different sections placed in the same memory like PMEM. See spru186 for more information on this.

    To find the address where the different sections are created, look at your .map file that is generated by the linker in the same folder as the .out executable file. It will show the location and size of each memory section as determined by the linker.

    YongchaoDeng said:

    Fourth.Is there any difference between DSP/BIOS project and NO DSP/BIOS project on tms3206713b? Can i do my work without dsp/bios?

    There is a lot of difference between using DSP/BIOS and not using it. DSP/BIOS gives you a lot of capabilities and pre-configured features that can save you a lot of time in developing your application. But you definitely do not have to use it. Instead, you simply use the runtime support library, rts6700.lib, for your implementation. You will be responsible for setting up your interrupt vector table and any other system-level things that you need.

    Depending on your application, there might be no benefit gained from DSP/BIOS. But 75% of the simple test cases I write for any processor are DSP/BIOS applications even if I do not use much of the DSP/BIOS feature set.

    Your linker cmd file is a non-DSP/BIOS linker cmd file, or else it would have a lot of additional lines in it.