www.pudn.com > usbhost_source.rar > h83052-rom.x


/** 
*	ROM化対応リンカスクリプト 
*/ 
OUTPUT_FORMAT("coff-h8300") 
OUTPUT_ARCH(h8300h) 
ENTRY("_start") 
PROVIDE(_stack = 0xfff0b);   		/* スタックポインタ初期値 */ 
/** 
*	Memory Map 
*	0x000000 - 0x000ff (0x100 bytes)    : ROM Vector(256Byte) 
*	0x000100 - 0x7ffff (0x7FFFF bytes)  : ROM (512KB) 
*	0x080000 - 0x9fffb (0x1fffb bytes)  : RAM (128KB) 
*	0x09fffc - 0x9ffff (0x4 bytes) 
*	0xfdf10 - 0xfff0f  (0x2000 bytes)   : STACK (8KB) 
*/ 
MEMORY 
{ 
	vectors : o = 0x000000, l = 0x100 
	rom     : o = 0x000100, l = 0x1ffff 
	ram     : o = 0x080000, l = 0x1fffc 
	stack   : o = 0x0fff0c, l = 0x00004 
} 
SECTIONS 
{ 
.vectors :  {				/* 割り込みベクタテーブル */ 
	LONG(ABSOLUTE(_start))		/* 0:スタートアップ */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 7:nmi */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 12:IRQ0 */ 
	LONG(ABSOLUTE(_start))		/* 13:IRQ1 */ 
	LONG(ABSOLUTE(_start))		/* 14:IRQ2 */ 
	LONG(ABSOLUTE(_start))		/* 15:IRQ3 */ 
	LONG(ABSOLUTE(_start))		/* 16:IRQ4 */ 
	LONG(ABSOLUTE(_irq5))		/* 17:IRQ5 */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 20:WOVI(インターバルタイマ) */ 
	LONG(ABSOLUTE(_count1ms))	/* 21:CMI(コンペアマッチ) */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 24:IMIA0(コンペアマッチ/インプットキャプチャA0) */ 
	LONG(ABSOLUTE(_start))		/* 25:IMIB0(コンペアマッチ/インプットキャプチャB0) */ 
	LONG(ABSOLUTE(_start))		/* 26:OVI0(オーバーフロー0) */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 28:IMIA1(コンペアマッチ/インプットキャプチャA1) */ 
	LONG(ABSOLUTE(_start))		/* 29:IMIB1(コンペアマッチ/インプットキャプチャB1) */ 
	LONG(ABSOLUTE(_start))		/* 30:OVI1(オーバーフロー1) */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 32:IMIA2(コンペアマッチ/インプットキャプチャA2) */ 
	LONG(ABSOLUTE(_start))		/* 33:IMIB2(コンペアマッチ/インプットキャプチャB2) */ 
	LONG(ABSOLUTE(_start))		/* 34:OVI2(オーバーフロー2) */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 36:IMIA3(コンペアマッチ/インプットキャプチャA3) */ 
	LONG(ABSOLUTE(_start))		/* 37:IMIB3(コンペアマッチ/インプットキャプチャB3) */ 
	LONG(ABSOLUTE(_start))		/* 38:OVI3(オーバーフロー3) */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 40:IMIA4(コンペアマッチ/インプットキャプチャA4) */ 
	LONG(ABSOLUTE(_start))		/* 41:IMIB4(コンペアマッチ/インプットキャプチャB4) */ 
	LONG(ABSOLUTE(_start))		/* 42:OVI4(オーバーフロー4) */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start))		/* 44:DEND0A */ 
	LONG(ABSOLUTE(_start))		/* 45:DEND0B */ 
	LONG(ABSOLUTE(_start))		/* 46:DEND1A */ 
	LONG(ABSOLUTE(_start))		/* 47:DEND1B */ 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_start)) 
	LONG(ABSOLUTE(_scirx0err))	/* 52:ERI0 */ 
	LONG(ABSOLUTE(_scirx0))		/* 53:RXI0 */ 
	LONG(ABSOLUTE(_scitx0empty))	/* 54:TXI0 */ 
	LONG(ABSOLUTE(_start))		/* 55:TEI0 */ 
	LONG(ABSOLUTE(_scirx1err))	/* 56:ERI1 */ 
	LONG(ABSOLUTE(_scirx1))		/* 57:RXI1 */ 
	LONG(ABSOLUTE(_scitx1empty))	/* 58:TXI1 */ 
	LONG(ABSOLUTE(_start))		/* 59:TEI1 */ 
	LONG(ABSOLUTE(_start))		/* 60:A/D END */ 
	} > vectors 
.text :	{ 
	*(.text) 
	*(.rodata) 
	*(.strings) 
   	 _etext = . ;  
	} > rom 
.tors : { 
	___ctors = . ; 
	*(.ctors) 
	___ctors_end = . ; 
	___dtors = . ; 
	*(.dtors) 
	___dtors_end = . ; 
	} > rom 
__idata_start = .; 
.data : AT(__idata_start) { 
	__data_start = .; 
	*(.data) 
	_edata = . ; 
	} > ram 
__idata_end = __idata_start + SIZEOF(.data); 
.bss : { 
	_bss_start = .; 
	*(.bss) 
	*(COMMON) 
	_end = .; 
	} > ram 
.stack : { 
	 _stack = . ;  
	*(.stack) 
	}  > stack 
}