Sign in

username:

password:



Not a member?

Search c28x



Search tips

Subscribe to c28x



Discussion Groups

Discussion Groups | TMS320C28x | Linker cmd for IQmath in F2812

Technical discussions about the TI C28x DSPs (including the C2810, C2811, C2812, F2801, F2806, F2808, F2810,, F2811, F2812, R2811 and R2812).

  

Post a new Thread

Linker cmd for IQmath in F2812 - naay...@gmail.com - Jun 24 15:36:54 2008



Hi all,

I want to confirm whether the following linker file is correct for handling IQmath in
RAM.Because all my computation values look very starnge to me.Can any one of you reply me? Its
urgent. If it is wrong then please tell me the correction. Many thanks
MEMORY
{
PAGE 0 :
   /* For this example, H0 is split between PAGE 0 and PAGE 1 */  
   /* BEGIN is used for the "boot to HO" bootloader mode      */
   /* RESET is loaded with the reset vector only if           */
   /* the boot is from XINTF Zone 7.  Otherwise reset vector  */
   /* is fetched from boot ROM. See .reset section below      */
    BEGIN      : origin = 0x3F8000, length = 0x000002
    RAMM0      : origin = 0x000000, length = 0x000400
                  
    PRAMH0     : origin = 0x3F8002, length = 0x000FFE             
  
    BOOTROM    : origin = 0x3FF000, length = 0x000FC0               

    RESET      : origin = 0x3FFFC0, length = 0x000002

PAGE 1 : 

   /* For this example, H0 is split between PAGE 0 and PAGE 1 */

   RAMM1    : origin = 0x000400, length = 0x000400
    DRAMH0   : origin = 0x3f9000, length = 0x001000          
}

SECTIONS
{
   /* Setup for "boot to H0" mode: 
      The codestart section (found in DSP28_CodeStartBranch.asm)
      re-directs execution to the start of user code.  
      Place this section at the start of H0  */

     codestart        : > BEGIN,       PAGE = 0   
     ramfuncs         : > PRAMH0       PAGE = 0   
     .text            : > PRAMH0,      PAGE = 0 
     .cinit           : > PRAMH0,      PAGE = 0  
     .pinit           : > PRAMH0,      PAGE = 0  
   
     .switch          : > RAMM0,       PAGE = 0
     .reset           : > RESET,       PAGE = 0, TYPE = DSECT /* not used, */
   
     .stack           : > RAMM1,       PAGE = 1
     .ebss            : > DRAMH0,      PAGE = 1       
     .econst          : > DRAMH0,      PAGE = 1      
     .esysmem         : > DRAMH0,      PAGE = 1      
     IQmath           : > PRAMH0,   PAGE = 0
     IQmathTables     : > BOOTROM, type = NOLOAD, PAGE = 0

}
------------------------------------

OMAP35x EVM jump-starts low-power apps
------------------------------------
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building
applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
You can post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c28x/1.php

_____________________________________




(You need to be a member of c28x -- send a blank email to c28x-subscribe@yahoogroups.com )

Re: Linker cmd for IQmath in F2812 - ruim...@yahoo.com - Aug 7 10:45:53 2008

Hi

 I had the same problem with IQmath library in same processor TMS320F2812. 
 I tried several tips like change the cmd file like this example:

MEMORY
{
PAGE 0:
    BEGINRAM:	 origin=0x3f8000, length=0x2
    BEGINFLASH:	 origin=0x3f7ff6, length=0x2
    CSM_PWL:	 origin=0x3f7ff8, length=0x8
    RAMH0:	 origin=0x3f8002, length=0x282A
    BOOTROM:	 origin=0x3ff000, length=0xfc0
    RESET:	 origin=0x3fffc0, length=0x2
    VECTORS:	 origin=0x3fffc2, length=0x3e
    FLASH:	 origin=0x3d8000, length=0x1fff6
    ZONE6P:	 origin=0x100000, length=0x8000
PAGE 1:
    OTP:	 origin=0x3d7800, length=0x800
    RAMM0M1:	 origin=0x0, length=0x800
    RAML0L1:	 origin=0x8000, length=0x259b
    ZONE6D:	 origin=0x108000, length=0x8000
}
SECTIONS
{
    .vectors:	 load = 0x000000000
    .text:	 > RAMH0, PAGE = 0
    .switch:	 > RAMH0, PAGE = 0
    .bss:	 > RAML0L1, PAGE = 1
    .ebss:	 > RAML0L1, PAGE = 1
    .far:	 > RAML0L1, PAGE = 1
    .cinit:	 > RAMH0, PAGE = 0
    .pinit:	 > RAMH0, PAGE = 0
    .const:	 > RAML0L1, PAGE = 1
    .econst:	 > RAML0L1, PAGE = 1
    .reset:	 > RESET, PAGE = 0, TYPE = DSECT
    .data:	 > RAML0L1, PAGE = 1
    .cio:	 > RAML0L1, PAGE = 1
    .sysmem:	 > RAML0L1, PAGE = 1
    .esysmem:	 > RAML0L1, PAGE = 1
    .stack:	 > RAMM0M1, PAGE = 1
    .rtdx_text:	 > RAMH0, PAGE = 0
    .rtdx_data:	 > RAML0L1, PAGE = 1
    codestart:	 > BEGINRAM, PAGE = 0
    IQmath:	 > RAMH0, PAGE = 0
    ramfuncs:	 > RAMH0, PAGE = 0
    IQmathTables: >  RAML0L1, PAGE = 1
}
-l "C:\Program
Files\MATLAB\R2007a\toolbox\rtw\targets\ccslink\ccslink\c2000\c281xPeripherals.cmd"

It was work but while my application was small because after that appeared a lot errors of
location in memory. These errors were really annoyed to solve.

After I found the solution of my problem. That was very simple, it was only to put input XMP/MC
= GND of TMS320F2812 to activate the BOOTROM option.

Now I can use all cmd files of TI examples without any problem :)

Cheers,

Rui Machado.

------------------------------------

OMAP35x EVM jump-starts low-power apps
------------------------------------
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building
applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
You can post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c28x/1.php

_____________________________________




(You need to be a member of c28x -- send a blank email to c28x-subscribe@yahoogroups.com )