ZHCU820Y September 2004 – June 2021
链接器命令文件 显示了一个链接 32 位 C 程序的典型链接器命令文件。本示例中的命令文件名为lnk32.cmd ,且命令文件列出了几个链接选项:
−−rom_model | 通知链接器在运行时使用自动初始化功能 |
--stack_size | 通知链接器将 C 栈大小设置为 0x140 字节 |
--heap_size | 通知链接器将堆大小设置为 0x120 字节 |
--library | 通知链接器使用存档库文件 rts430.lib |
要链接该程序,请输入:
cl430 --run_linkerobject_file(s) --output_file=file --map_file=file lnk.cmd
--rom_model
--stack_size=0x0140
--heap_size=0x120
--library=rts430.lib
/*****************************************************************************/
/* SPECIFY THE SYSTEM MEMORY MAP */
/*****************************************************************************/
MEMORY
{
SFR(R) : origin = 0x0000, length = 0x0010
PERIPHERALS_8BIT : origin = 0x0010, length = 0x00F0
PERIPHERALS_16BIT: origin = 0x0100, length = 0x0100
RAM(RW) : origin = 0x0200, length = 0x0800
INFOA : origin = 0x1080, length = 0x0080
INFOB : origin = 0x1000, length = 0x0080
FLASH : origin = 0x1100, length = 0xEEE0
VECTORS(R) : origin = 0xFFE0, length = 0x001E
RESET : origin = 0xFFFE, length = 0x0002
}
/****************************************************************************/
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
/****************************************************************************/
SECTIONS
{
.bss : {} > RAM /* UNINITIALIZED GLOBAL, STATIC */
.sysmem : {} > RAM /* DYNAMIC MEMORY ALLOCATION AREA */
.stack : {} > RAM /* SOFTWARE SYSTEM STACK */
.cio : {} > RAM /* C I/O BUFFER */
.text : {} > FLASH /* PROGRAM CODE */
.data : {} > FLASH /* INITIALIZED GLOBAL, STATIC */
.const : {} > FLASH /* CONSTANT DATA */
.args : {} > FLASH /* PROGRAM ARGUMENTS */
.cinit : {} > FLASH /* GLOBAL INITIALIZATION DATA */
.init_array : {} > FLASH /* EABI C++ GLOBAL CONSTRUCTOR TABLE */
.mspabi.exidx : {} > FLASH /* EABI TDEH METADATA */
.mspabi.extab : {} > FLASH /* EABI TDEH METADATA */
.intvecs : {} > VECTORS /* INTERRUPT VECTORS */
.reset : > RESET