.gitignore: ignore object files
[bcusdk.git] / bcu / ldscripts / bcu_0020histack.link
blobbcd449e27bb91513359864374e855ad92be2da87
1 /*
2     BCU SDK bcu development enviroment
3     Copyright (C) 2005-2008 Martin Koegler <mkoegler@auto.tuwien.ac.at>
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
10     In addition to the permissions in the GNU General Public License, 
11     you may link the compiled version of this file into combinations
12     with other programs, and distribute those combinations without any 
13     restriction coming from the use of this file. (The General Public 
14     License restrictions do apply in other respects; for example, they 
15     cover modification of the file, and distribution when not linked into 
16     a combine executable.)
18     This program is distributed in the hope that it will be useful,
19     but WITHOUT ANY WARRANTY; without even the implied warranty of
20     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21     GNU General Public License for more details.
23     You should have received a copy of the GNU General Public License
24     along with this program; if not, write to the Free Software
25     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
28 /* BCU 2 */
30 SYSLIB(.data:.data.hi:_low_ram_size:_low_ram_max)
31 SYSLIB(.bss:.bss.hi:_low_ram_size:_low_ram_max)
33 SECTIONS
35 . = 0xCE;
36 _bss_start = . ;
37 .loram : {
38         *(.debounce)
39         *(.timerval)
40         *(.register)
41         *(.ramflags)
44 ram_start = . ;
45 .ram : {
46         *(.ram)
48 .bss : {
49         *(.bss*)
51 _bss_end = . ;
52 _bss_size = _bss_end - _bss_start ;
54 . = 0x0972;
56 _bss_hi_start = . ;
57 .bss.hi : {
59 _bss_hi_end = . ;
60 _bss_hi_size = _bss_hi_end - _bss_hi_start ;
62 . = 0x100;
64 .text : {
65         _text_start = . ;
66         *(.bcuconfig)
67         *(.addrtab)
68 eeprom_start = . ;
69         *(.eeprom)
70 eeprom_end = . ;
71 readonly_start = . ;
72         *(.ratelimit)
73         *(.timerptr)
74         *(.timer)
75         *(.loconst)
76 _limit_1ff = . ;
77         *(.commobjs)
78         *(.init)
79         *(.init.1)
80         *(.eibobjects)
81         *(.text)
82         *(.eibpeihandler)
83         *(.rodata)
84         _text_end = . ;
86 _text_size = _text_end - _text_start ;
88 .data (_bss_end) : AT (_text_end) {
89         _data_start = . ;
90         *(.data.*)
91         _data_end = . ;
92         }
93 _data_size = _data_end - _data_start ;
95 _data_hi_img = _text_end + _data_size;
97 .data.hi (_bss_hi_end) : AT (_text_end + _data_size ) {
98         _data_hi_start = . ;
101 _data_hi_size = SIZEOF(.data.hi) ;
103 _data_hi_end = _bss_hi_end + _data_hi_size;
105 . = _text_end + _data_size + _data_hi_size ;
107 .checksum.1 : {
108         BYTE(0)
111 readonly_end = . ;
112 .eeprom : {
113         *(.assoctab)
115 param_start = . ;
116 .parameter : {
117         *(.parameter)
119 .checksum.2 : {
120         BYTE(_limit_1ff - 0x101)
122 param_end = . ;
124 _eeprom_size = param_end - _text_start ;
126 _stack_size = SPBASE + SPINIT - _data_hi_end ;
127 SPBASE = 0x0900 ;
128 SPINIT = 0xA8 ;
130 .loadcontrol 0x900000 : {
131         *(.loadcontrol)
132         SHORT(14)
133         SHORT(3)
134         SHORT(_eeprom_size)
135         SHORT(_stack_size)
136         SHORT(_data_size)
137         SHORT(_bss_size)
138         SHORT(_data_hi_size)
139         SHORT(_bss_hi_size)
141 _low_ram_size = _bss_size + _data_size;
142 _low_ram_max = 18 ;