OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [a29k/] [portsw/] [startup/] [romlink] - Blame information for rev 493

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
;
2
;  $Id: romlink,v 1.2 2001-09-27 11:59:42 chris Exp $
3
;
4
;#{
5
;# SCCS INFORMATION:
6
;# SID          = @(#)sa29200.lnk       4.1;    DLU=95/09/14-11:05:57
7
;# Q            = @(#)  Copyright (C) 1995 Advanced Micro Devices, Inc.
8
;# Module Type  = @(#)  OSBOOT/DBG_CORE absolute liker file (AMD-EPD-29K, AMIR)
9
;# SCCS Path    = %P\%
10
;# SCCS File    = %F\%
11
;# FileName     = sa29200.lnk
12
;# SCCS ID      = 4.1
13
;# Date Update  = 14 Sep 1995, (DLU=95/09/14-11:05:57)
14
;# Date Extract = 12 Oct 1995, (DLE=95/10/12-16:27:31)
15
;#}
16
; @(#)sa29200.lnk       3.6 94/08/22 11:58:54, Srini, AMD.
17
; This is the linker command file used to bind the inrementally linked
18
; osboot.o module to a memory map. This also defines some link-time constants
19
; used in the code. These constants are genral for all 29K family members.
20
; You only need to customize, if necessary, the definitions that affect
21
; your target processor, and leave the rest alone.
22
; The default values in this file are for binding osboot.o for use with
23
; SA29200 stand-alone board with the -29200/-29205 option.
24
;
25
; Order the code segments according to the memory map structure.
26
; The defaul OSBOOT has only .text and .bss sections. You need to ORDER
27
; other sections of your applications that are not included below.
28
; We use separate ORDER statements below to distinguish the two memory
29
; regions used. The text section is bound to ROM memory region, and the
30
; data region to RAM memory space.
31
; MAKE SURE to order the BSS section at the very end. This is because the
32
; BSS section size could get adjusted after linking with raminit.o (produced
33
; by romcoff utility) or other initialization routines. This change in size
34
; could affect the offsets used by the program to refer to the remaining data
35
; sections that follow BSS.
36
ALIGN   ProcInit=16
37
ORDER   Reset=0x0
38
ORDER   ProcInit,OsbText,.text,!text
39
ORDER   .lit,!lit
40
ORDER   vectable=0x40000000
41
ORDER   msg_data=0x40000400
42
ORDER   .data,!data
43
ORDER   OsbBss,dbg_030,dbg_bss,cfg_bss,.bss,!bss
44
ORDER   HeapBase
45
ORDER   .comment
46
; For Stand-Alone application out of ROM use the ORDER statements below:
47
; For Stand-Alone application out of RAM use the ORDER statement below:
48
;ORDER  Reset=0x40010000,ProcInit,OsbText,.text,!text,.lit,!lit,.data,!data,msg_data,dbg_dat,.bss,!bss,HeapBase,.comment
49
;
50
; definitions of link time constants used in code.
51
;
52
; Definition of the initial value of CPS register.
53
; The value below is for an Am29200 processor. It sets TU, SM,DI, DA,IM fields
54
; bits in the register. You may modify it to suit your target environment.
55
; Like, changing the IM field for instance. IM is 0x11 by default enabling
56
; all INTR[0-3] lines.
57
;public _init_CPS=0x87F
58
public  _init_CPS=0x20813
59
;public  _init_CPS=0x2081F
60
;public  _init_CPS=0x081F
61
; Define the memory map in general values. The code - except for simulators -
62
; configures the external RAM at run-time and updates the DMemSize value.
63
; DMemStart and DMemSize are the most important values below. DMemStart is
64
; used to initialize the vector base address register (VAB). And DMemSize
65
; is used to find the highest addressable data memory to place the register
66
; and memory stacks. Remember, DMemSize is configured at run-time for hardware
67
; targets and updated.
68
public  VectorBaseAddress=0x40000000
69
public  IMemStart=0x0000000
70
public  IMemSize=0xfffff
71
public  DMemStart=0x40000000
72
#public DMemStart=0x100000
73
public  DMemSize=0xfffff
74
#public DMemSize=0x17ffff
75
#public DMemSize=0x3fffffff
76
public  RMemStart=0x0
77
public  RMemSize=0xfffff
78
public  EnableDRAMSizing=1
79
;
80
; For the 29K Microcontrollers, you need to define the ROM Control register
81
; value (RMCT_VALUE), the ROM Configuration register value (RMCF_VALUE), and
82
; the DRAM Control register value (DRCT_VALUE) based on DMemSize specified
83
; above. This could be overwritten in software targets such as the simulator.
84
; ROM and RAM Control registers. ROM COnfiguration. (not valid for Am2900X,
85
; Am29050, and Am2903X processors)
86
; The DRAM REFRATE value (in DRCT) must be specified here. To disable
87
; DRAM refreshing (on a system with no DRAM), set REFRATE field in DRCT
88
; to zero. Otherwise, set it to the desired frequency. The default is 0xFF
89
; The default values in this file are for Am2920X processors.
90
;public RMCT_VALUE=0x03030303
91
;public DRCT_VALUE=0x888800FF
92
;public RMCF_VALUE=0x00f8f8f8
93
;
94
public  RMCT_VALUE=0x4a424300
95
public  DRCT_VALUE=0xccc000f0
96
public  RMCF_VALUE=0x011121ff
97
;
98
;
99
; Execute trap handlers from ROM? If your trap handlers are in ROM space,
100
; then set _TRAPINROM to TWO (0x2). It is used to modify the tarp vector
101
; address installed to set the R bit when fetched. If the trap handlers in
102
; ROM or if there is no ROM-space (no RE bit in CPS), set _TRAPINROM to ZERO.
103
; The default in this file is for SA29200 board and _TRAPINROM is set to ZERO.
104
public  _TRAPINROM=0
105
;
106
; Define the processor clock frequencies. These values are used by the HIF
107
; kernel to provide some HIF services.
108
public  TicksPerMillisecond=16000
109
public  ClockFrequency=16000000
110
;
111
; There are some C functions which are not leaf functions. However, they are
112
; no expected to spill or fill registers. We ensure that by setting up a
113
; pseudo register stack before calling those functions. The code generated
114
; for those functions however do have the prologue and epilogue which refer
115
; to the symbols V_SPILL and V_FILL. The linker does not know about these
116
; symbols. So we define it here so that it does not complain.
117
; If you use the hc29 compiler driver to link the objects it will warn that
118
; the definitions here are already internally defined. You
119
; can use hc29 with -nocrt0 option to do the linking for linear memory spaces.
120
; public        V_SPILL=64
121
; public        V_FILL=65
122
;
123
; Set the UART debug/monitor port serial communications baud rate.
124
;
125
public UCLK=32000000
126
; INITBAUD defines the cold start baud rate. This is the baud rate
127
; the monitor would use when powered up. This can be overridden by
128
; defining BAUDRATE on the assembler/compiler command line.
129
public INITBAUD=9600
130
;
131
; Is there a SCC 8530 on the target?
132
; If there is an 8530 SC on target, define the symbols below appropriately.
133
; The routines in scc8530.s use these values to access the registers of
134
; SCC and program it. The default values are for EZ030 target.
135
; Baudrate can be specified on the command-line to override the default
136
; baud rate defined in scc8530.s.
137
; scc channel A control
138
;public SCC8530_CHA_CONTROL=0xC0000007
139
; scc channel B control
140
;public SCC8530_CHB_CONTROL=0xC0000003
141
; scc channel A data
142
;public SCC8530_CHA_DATA=0xC000000F
143
; scc channel B data
144
;public SCC8530_CHB_DATA=0xC000000B
145
; scc baud clock generator
146
;public SCC8530_BAUD_CLK_ENBL=3

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.