⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 复件 f2812.cmd

📁 代码用于测试dsp2812的硬件功能
💻 CMD
字号:
/*
//###########################################################################
//
// FILE:	F2812.cmd
//
// TITLE:	Linker Command File For F2812 Device
//
//      |             |      | Added CSM Password locations to Page 0
//      |             |      |    in order to program new passwords
//      |             |      | Added CSM_RSVD memory section in FLASHA - this region
//      |             |      |    should be programmed with all 0x0000 when using the CSM
//###########################################################################
*/

/* ======================================================
// For Code Composer Studio V2.2 and later
// ---------------------------------------
// In addition to this memory linker command file, 
// add the header linker command file directly to the project. 
// The header linker command file is required to link the
// peripheral structures to the proper locations within 
// the memory map.
//
// The header linker files are found in <base>\DSP281x_Headers\cmd
//   
// For BIOS applications add:      DSP281x_Headers_nonBIOS.cmd
// For nonBIOS applications add:   DSP281x_Headers_nonBIOS.cmd    
========================================================= */

/* ======================================================
// For Code Composer Studio prior to V2.2
// --------------------------------------
// 1) Use one of the following -l statements to include the 
// header linker command file in the project. The header linker
// file is required to link the peripheral structures to the proper 
// locations within the memory map                                    */

/* Uncomment this line to include file only for non-BIOS applications */
/* -l DSP281x_Headers_nonBIOS.cmd */

/* Uncomment this line to include file only for BIOS applications */
/* -l DSP281x_Headers_BIOS.cmd */

/* 2) In your project add the path to <base>\DSP281x_headers\cmd to the
   library search path under project->build options, linker tab, 
   library search path (-i).
/*========================================================= */

/* Define the memory block start/length for the F2812  
   PAGE 0 will be used to organize program sections
   PAGE 1 will be used to organize data sections

   Notes: 
         Memory blocks on F2812 are uniform (ie same
         physical memory) in both PAGE 0 and PAGE 1.  
         That is the same memory region should not be
         defined for both PAGE 0 and PAGE 1.
         Doing so will result in corruption of program 
         and/or data. 
*/

MEMORY
{
PAGE 0:    /* Program Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */

   	ZONE0       : origin = 0x002000, length = 0x002000     /* XINTF zone 0 */
   	ZONE1       : origin = 0x004000, length = 0x002000     /* XINTF zone 1 */
   	RAML0       : origin = 0x008000, length = 0x001000     /* on-chip RAM block L0 */
   	ZONE2       : origin = 0x080000, length = 0x080000     /* XINTF zone 2 */
   	ZONE6       : origin = 0x100000, length = 0x080000     /* XINTF zone 6 */
   	OTP         : origin = 0x3D7800, length = 0x000800     /* on-chip OTP */
   	FLASHJ      : origin = 0x3D8000, length = 0x002000     /* on-chip FLASH */
   	FLASHI      : origin = 0x3DA000, length = 0x002000     /* on-chip FLASH */
   	FLASHH      : origin = 0x3DC000, length = 0x004000     /* on-chip FLASH */
   	FLASHG      : origin = 0x3E0000, length = 0x004000     /* on-chip FLASH */
   	FLASHF      : origin = 0x3E4000, length = 0x004000     /* on-chip FLASH */
   	FLASHE      : origin = 0x3E8000, length = 0x004000     /* on-chip FLASH */
   	FLASHD      : origin = 0x3EC000, length = 0x004000     /* on-chip FLASH */
   	FLASHC      : origin = 0x3F0000, length = 0x004000     /* on-chip FLASH */
   	FLASHA      : origin = 0x3F6000, length = 0x001F80     /* on-chip FLASH */
   	CSM_RSVD    : origin = 0x3F7F80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
   	BEGIN       : origin = 0x3F7FF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */
   	CSM_PWL     : origin = 0x3F7FF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */
   
/* ZONE7       : origin = 0x3FC000, length = 0x003FC0     /* XINTF zone 7 available if MP/MCn=1 */ 
   	ROM         : origin = 0x3FF000, length = 0x000FC0     /* Boot ROM available if MP/MCn=0 */
   	RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */
   	VECTORS     : origin = 0x3FFFC2, length = 0x00003E     /* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */

PAGE 1 :   /* Data Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */
           /* Registers remain on PAGE1                                                  */

   	RAMM0       : origin = 0x000000, length = 0x000400     /* on-chip RAM block M0 */
   	RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
   	RAML1       : origin = 0x009000, length = 0x001000     /* on-chip RAM block L1 */
   	FLASHB      : origin = 0x3F4000, length = 0x002000     /* on-chip FLASH */
   	RAMH0       : origin = 0x3F8000, length = 0x002000     /* on-chip RAM block H0 */
}

/* Allocate sections to memory blocks.
   Note:
         codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code 
                   execution when booting to flash
         ramfuncs  user defined section to store functions that will be copied from Flash into RAM
*/ 
/*===============================================================================*/
	/*cinit:Initialized constant table and variable,must be put in program memory;*/
	/*pinit: Constant and variable initialized by all region constructor,also in program memory ;*/
	/*text: All executable code and constant,program memory;*/
	/*ramfuncs: Must be run in RAML0 or RAML1,if code security module is used;*/
    /*stack: Space reserved for system stack,used for transferring declares to*/
			/* functions and local variable,in low address data memory;*/
	/*ebss: Space reserved for all region variable and static variable ,*/
   			/* used in far visit and large memory module,in anywhere of data memory;*/
	/*.esystem: Space reserved for dynamic memory assigning,used by extern funcion malloc,*/
			/* if not used ,the length is zero.in anywhere of data memory;*/
    /*.ecost Used in large memory module,include strings,declares and*/
  			/* surely intialized all region variable and static variable,*/
			/* in program memory or low address data memory;*/
	/*.switch: Tables used for change declares,in program memory or low address data memory;*/	

/*==================================================================================*/

 
SECTIONS
{   
	/*This part is used for running in on-chip flash */
/**/
   	.cinit              : > FLASHA,      PAGE = 0	
   	.pinit              : > FLASHA,      PAGE = 0	
   	.text               : > FLASHA,      PAGE = 0	
   	codestart           : > BEGIN,       PAGE = 0	

   	ramfuncs            : LOAD = FLASHD,  
                          RUN = RAML0, 					
                          LOAD_START(_RamfuncsLoadStart),
                          LOAD_END(_RamfuncsLoadEnd),
                          RUN_START(_RamfuncsRunStart),
                          PAGE = 0   				

   	//csmpasswds          : > CSM_PWL,     PAGE = 0
   	csm_rsvd            : > CSM_RSVD,    PAGE = 0
   
  
   	.stack              : > RAMM1,       PAGE = 1	
   	.ebss               : > RAML1,       PAGE = 1	
   	.esysmem            : > RAMH0,       PAGE = 1	

  	.econst             : > FLASHA,      PAGE = 0	
   	.switch             : > FLASHA,      PAGE = 0    
 
   	IQmath              : > FLASHC,      PAGE = 0                 
   	IQmathTables        : > ROM,         PAGE = 0, TYPE = NOLOAD  

   	.reset              : > RESET,      PAGE = 0, TYPE = DSECT
   	vectors             : > VECTORS,     PAGE = 0, TYPE = DSECT

/*----------------------------------------------------------------*/					
	/*This part is used for emulation*/
/*
	.cinit              : > ZONE2      PAGE = 0		
   	.pinit              : > ZONE2      PAGE = 0
   	.text               : > ZONE2      PAGE = 0
   	codestart           : > ZONE2      PAGE = 0

   	ramfuncs            : LOAD = ZONE2,  		
                          RUN = RAML0, 
                          LOAD_START(_RamfuncsLoadStart),
                          LOAD_END(_RamfuncsLoadEnd),
                          RUN_START(_RamfuncsRunStart),
                          PAGE = 0   		

   	csmpasswds          : > CSM_PWL     PAGE = 0
   	csm_rsvd            : > CSM_RSVD    PAGE = 0
   
  
   	.stack              : > RAMM0       PAGE = 1
   	.ebss               : > RAML1       PAGE = 1
   	.esysmem            : > RAMH0       PAGE = 1

   	.econst             : > RAML0      PAGE = 0
   	.switch             : > RAML0      PAGE = 0  
 
   	IQmath              : > ZONE2      PAGE = 0                  
   	IQmathTables        : > ROM         PAGE = 0, TYPE = NOLOAD 
   	.reset              : > RESET,      PAGE = 0, TYPE = DSECT
   	vectors             : > VECTORS     PAGE = 0, TYPE = DSECT
*/	  
	/*This part is used for emulation on our DSP2812 board*/
/*	 
	.cinit              : > ZONE1      PAGE = 0		
   	.pinit              : > ZONE1      PAGE = 0
   	.text               : > ZONE1      PAGE = 0
   	codestart           : > ZONE1      PAGE = 0

   	ramfuncs            : LOAD = ZONE1,  		
                          RUN = RAML0, 
                          LOAD_START(_RamfuncsLoadStart),
                          LOAD_END(_RamfuncsLoadEnd),
                          RUN_START(_RamfuncsRunStart),
                          PAGE = 0   		

   	csmpasswds          : > CSM_PWL     PAGE = 0
   	csm_rsvd            : > CSM_RSVD    PAGE = 0
   
  
   	.stack              : > RAMM0       PAGE = 1
   	.ebss               : > RAML1       PAGE = 1
   	.esysmem            : > RAMH0       PAGE = 1

   	.econst             : > RAML0      PAGE = 0
   	.switch             : > RAML0      PAGE = 0  
 
   	IQmath              : > ZONE1      PAGE = 0                  
   	IQmathTables        : > ROM         PAGE = 0, TYPE = NOLOAD 
   	.reset              : > RESET,      PAGE = 0, TYPE = DSECT
   	vectors             : > VECTORS     PAGE = 0, TYPE = DSECT
*/ 
/*---------------------------------------------------------------------------*/
/*
	.cinit              : > RAML0      PAGE = 0		
   	.pinit              : > RAML0      PAGE = 0
   	.text               : > RAML0      PAGE = 0
   	codestart           : > RAML0      PAGE = 0

   	ramfuncs            : LOAD = RAML0,  		
                          RUN = RAML0, 
                          LOAD_START(_RamfuncsLoadStart),
                          LOAD_END(_RamfuncsLoadEnd),
                          RUN_START(_RamfuncsRunStart),
                          PAGE = 0   		

   	csmpasswds          : > CSM_PWL     PAGE = 0
   	csm_rsvd            : > CSM_RSVD    PAGE = 0
   
  
   	.stack              : > RAMM0       PAGE = 1
   	.ebss               : > RAML1       PAGE = 1
   	.esysmem            : > RAMH0       PAGE = 1

   	.econst             : > RAML0      PAGE = 0
   	.switch             : > RAML0      PAGE = 0  
 
   	//IQmath              : > RAML0      PAGE = 0                  
   	IQmathTables        : > ROM         PAGE = 0, TYPE = NOLOAD 
   	.reset              : > RESET,      PAGE = 0, TYPE = DSECT
   	vectors             : > VECTORS     PAGE = 0, TYPE = DSECT
*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -