Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2604426
  • 博文数量: 877
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5920
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-05 12:25
个人简介

技术的乐趣在于分享,欢迎多多交流,多多沟通。

文章分类

全部博文(877)

文章存档

2021年(2)

2016年(20)

2015年(471)

2014年(358)

2013年(26)

分类: 嵌入式

2014-07-21 15:18:52

#//author : jeffasd
# linker.Lcf - C*Core CS320D系列连接器命令文件


MEMORY
{     
//VECTORS (R) : ORIGIN = 0x00803C00, LENGTH = 0x00000200 
TEXT (RX) : ORIGIN = 0x00002000, LENGTH = 0x00000000 
ROMDATA (R) : ORIGIN = AFTER(TEXT), LENGTH = 0x00000000         
DATA (RW) : ORIGIN = 0x00800000, LENGTH = 0x00000000 
BSS (RW) : ORIGIN = AFTER(DATA), LENGTH = 0x00000000      
}


SECTIONS    

//. vectormap :  //定义向量表,放在最前面。       
//{ 
// .=ALIGN(Ox400); //向量表1KB对界。         
// __exception_table_begin= . ;
// vector_table.c(.rodata)  // 向量表文件。         
// __exception_table_end= . ;     
//} > VECTORS  //向量表空间映像, 偏移地址0x000 ~ 0x1FF
    
    .main_application :    // 定义程序代码段      
   { 
Startup.c (.text)    //复位起始程序         
//standalone.c  (.text)    //主程序 
//isr_PIT.c     (.text)    // PIT中断服务程序

* (.text) //所有的代码段

} > TEXT     //代码段空间映像,偏移起始地址0x2000
    
     __data_begin = 0x00800000;
 
    .main_application_data :   //定义数据段, 
{                       //需要复制到RAM的已初始化变量    
* (.rodata)     //保存在ROM中的常数      
. = ALIGN(0x1);
__data_ROM_begin= . ; //记录数据复制起始地址       
* (.data)     //所有模块中的数据        
__data_ROM_end= . ;   //记录数据复制终止地址

//* (.vtables)       
//* (.exception)       
//__sinit_= . ;   //仅用于C++程序       
//STATICINIT        
} > ROMDATA

//该连接命令文件中没有提及"DATA"的内容安排,由MEMORY指示保证其存在并对应SRAM空间

   .main_app_bss :    //未初始化数据,被startup.c赋0值    

__bss_begin= . ;      
* (.bss) 
__bss_end= . ;  
} > BSS


// Calculations and assignments of section sizes
    __stack_end  = (. + 7) & ~7;   // 定义程序栈空间     
    __stack_begin = __stack_end + 0x1500;

    __alt_stack_end = __stack_begin;   //定义交换栈空间    
__alt_stack_begin = __alt_stack_end + 0x0200;

    __heap_addr = __alt_stack_begin;  //定义堆空间    
__heap_end  = __heap_addr + 0x0600;    
__heap_size = __heap_end - __heap_addr; 

// Comment out next line to do a copy of the __data_ROM data from ROM to RAM
    __data_size = __data_ROM_end - __data_ROM_begin; //定义RAM实际运行空间       
//__exception_table_size=__exception_table_end - __exception_table_begin;    
}

阅读(472) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~