OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [ref/] [resource-usage.html] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 28 unneback
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2
<!-- This material may be distributed only subject to the terms      -->
3
<!-- and conditions set forth in the Open Publication License, v1.0  -->
4
<!-- or later (the latest version is presently available at          -->
5
<!-- http://www.opencontent.org/openpub/).                           -->
6
<!-- Distribution of the work or derivative of the work in any       -->
7
<!-- standard (paper) book form is prohibited unless prior           -->
8
<!-- permission is obtained from the copyright holder.               -->
9
<HTML
10
><HEAD
11
><TITLE
12
>RedBoot Resource Usage</TITLE
13
><meta name="MSSmartTagsPreventParsing" content="TRUE">
14
<META
15
NAME="GENERATOR"
16
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17
"><LINK
18
REL="HOME"
19
TITLE="eCos Reference Manual"
20
HREF="ecos-ref.html"><LINK
21
REL="UP"
22
TITLE="Getting Started with RedBoot"
23
HREF="getting-started-with-redboot.html"><LINK
24
REL="PREVIOUS"
25
TITLE="RedBoot Startup Mode"
26
HREF="startup-mode.html"><LINK
27
REL="NEXT"
28
TITLE="Configuring the RedBoot Environment"
29
HREF="configuring-the-redboot-environment.html"></HEAD
30
><BODY
31
CLASS="SECT1"
32
BGCOLOR="#FFFFFF"
33
TEXT="#000000"
34
LINK="#0000FF"
35
VLINK="#840084"
36
ALINK="#0000FF"
37
><DIV
38
CLASS="NAVHEADER"
39
><TABLE
40
SUMMARY="Header navigation table"
41
WIDTH="100%"
42
BORDER="0"
43
CELLPADDING="0"
44
CELLSPACING="0"
45
><TR
46
><TH
47
COLSPAN="3"
48
ALIGN="center"
49
>eCos Reference Manual</TH
50
></TR
51
><TR
52
><TD
53
WIDTH="10%"
54
ALIGN="left"
55
VALIGN="bottom"
56
><A
57
HREF="startup-mode.html"
58
ACCESSKEY="P"
59
>Prev</A
60
></TD
61
><TD
62
WIDTH="80%"
63
ALIGN="center"
64
VALIGN="bottom"
65
>Chapter 1. Getting Started with RedBoot</TD
66
><TD
67
WIDTH="10%"
68
ALIGN="right"
69
VALIGN="bottom"
70
><A
71
HREF="configuring-the-redboot-environment.html"
72
ACCESSKEY="N"
73
>Next</A
74
></TD
75
></TR
76
></TABLE
77
><HR
78
ALIGN="LEFT"
79
WIDTH="100%"></DIV
80
><DIV
81
CLASS="SECT1"
82
><H1
83
CLASS="SECT1"
84
><A
85
NAME="RESOURCE-USAGE">RedBoot Resource Usage</H1
86
><P
87
>  </P
88
><P
89
>RedBoot takes up both flash and RAM resources depending on its
90
startup mode and number of enabled features. There are also other
91
resources used by RedBoot, such as timers. Platform-specific resources
92
used by RedBoot are listed in the platform specific parts of this
93
manual.</P
94
><P
95
>Both flash and RAM resources used by RedBoot depend to some
96
degree on the features enabled in the RedBoot configuration. It is
97
possible to reduce in particular the RAM resources used by RedBoot by
98
removing features that are not needed. Flash resources can also be
99
reduced, but due to the granularity of the flash (the block sizes),
100
reductions in feature size do not always result in flash resource
101
savings.</P
102
><DIV
103
CLASS="SECT2"
104
><H2
105
CLASS="SECT2"
106
><A
107
NAME="AEN2631">Flash Resources</H2
108
><P
109
>On many platforms, a ROM mode RedBoot image resides in the first
110
flash sectors, working as the board's primary boot monitor. On these
111
platforms, it is also normal to reserve a similar amount of flash for
112
a secondary RAM mode image, which is used when updating the primary
113
ROM mode image.</P
114
><P
115
>On other platforms, a ROMRAM mode RedBoot image is used as the
116
primary boot monitor. On these platforms there is not normally
117
reserved space for a RAM mode RedBoot image, since the ROMRAM mode
118
RedBoot is capable of updating the primary boot monitor image.</P
119
><P
120
>Most platforms also contain a FIS directory (keeping track of
121
available flash space) and a RedBoot config block (containing RedBoot
122
board configuration data).</P
123
><P
124
>To see the amount of reserved flash memory, run the <B
125
CLASS="COMMAND"
126
>fis
127
list</B
128
> command:
129
<TABLE
130
BORDER="5"
131
BGCOLOR="#E0E0F0"
132
WIDTH="70%"
133
><TR
134
><TD
135
><PRE
136
CLASS="SCREEN"
137
>RedBoot&#62; <TT
138
CLASS="USERINPUT"
139
><B
140
>fis list</B
141
></TT
142
>
143
Name              FLASH addr  Mem addr    Length      Entry point
144
RedBoot           0x00000000  0x00000000  0x00020000  0x00000000
145
RedBoot[RAM]      0x00020000  0x06020000  0x00020000  0x060213C0
146
RedBoot config    0x0007F000  0x0007F000  0x00001000  0x00000000
147
FIS directory     0x00070000  0x00070000  0x0000F000  0x00000000</PRE
148
></TD
149
></TR
150
></TABLE
151
></P
152
><P
153
>To save flash resources, use a ROMRAM mode RedBoot, or if using
154
a ROM mode RedBoot, avoid reserving space for the RedBoot[RAM] image
155
(this is done by changing the RedBoot configuration) and download the
156
RAM mode RedBoot whenever it is needed. If the RedBoot image takes up
157
a fraction of an extra flash block, it may be possible to reduce the
158
image size enough to free this block by removing some features.</P
159
></DIV
160
><DIV
161
CLASS="SECT2"
162
><H2
163
CLASS="SECT2"
164
><A
165
NAME="AEN2641">RAM Resources</H2
166
><P
167
>RedBoot reserves RAM space for its run-time data, and such
168
things as CPU exception/interrupt tables. It normally does so at the
169
bottom of the memory map. It may also reserve space at the top of the
170
memory map for configurable RedBoot features such as the net stack
171
and zlib decompression support.</P
172
><P
173
>To see the actual amount of reserved space, issue the
174
<B
175
CLASS="COMMAND"
176
>version</B
177
> command, which prints the RedBoot banner,
178
including the RAM usage:
179
<TABLE
180
BORDER="5"
181
BGCOLOR="#E0E0F0"
182
WIDTH="70%"
183
><TR
184
><TD
185
><PRE
186
CLASS="SCREEN"
187
>RedBoot&#62; <TT
188
CLASS="USERINPUT"
189
><B
190
>version</B
191
></TT
192
>
193
 
194
RedBoot(tm) bootstrap and debug environment [ROM]
195
Non-certified release, version UNKNOWN - built 13:31:57, May 17 2002
196
 
197
Platform: FooBar (SH 7615)
198
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
199
 
200
<SPAN
201
CLASS="emphasis"
202
><I
203
CLASS="EMPHASIS"
204
>RAM: 0x06000000-0x06080000, 0x06012498-0x06061000 available</I
205
></SPAN
206
>
207
FLASH: 0x00000000 - 0x00080000, 8 blocks of 0x00010000 bytes each.</PRE
208
></TD
209
></TR
210
></TABLE
211
></P
212
><P
213
>To simplify operations that temporarily need data in free
214
memory, the limits of free RAM are also available as aliases (aligned
215
to the nearest kilo-byte limit). These are named
216
FREEMEMLO and
217
FREEMEMHI, and can
218
be used in commands like any user defined alias:
219
<TABLE
220
BORDER="5"
221
BGCOLOR="#E0E0F0"
222
WIDTH="70%"
223
><TR
224
><TD
225
><PRE
226
CLASS="SCREEN"
227
>RedBoot&#62; <TT
228
CLASS="USERINPUT"
229
><B
230
>load -r -b %{FREEMEMLO} file</B
231
></TT
232
>
233
Raw file loaded 0x06012800-0x06013e53, assumed entry at 0x06012800</PRE
234
></TD
235
></TR
236
></TABLE
237
>
238
<TABLE
239
BORDER="5"
240
BGCOLOR="#E0E0F0"
241
WIDTH="70%"
242
><TR
243
><TD
244
><PRE
245
CLASS="SCREEN"
246
>RedBoot&#62; <TT
247
CLASS="USERINPUT"
248
><B
249
>x -b %{FREEMEMHI}</B
250
></TT
251
>
252
06061000: 86 F5 EB D8 3D 11 51 F2  96 F4 B2 DC 76 76 8F 77  |....=.Q.....vv.w|
253
06061010: E6 55 DD DB F3 75 5D 15  E0 F3 FC D9 C8 73 1D DA  |.U...u]......s..|</PRE
254
></TD
255
></TR
256
></TABLE
257
></P
258
><P
259
>To reduce RedBoot's RAM resource usage, use a ROM mode
260
RedBoot. The RedBoot features that use most RAM are the net stack, the
261
flash support and the gunzip support. These, and other features, can
262
be disabled to reduce the RAM footprint, but obviously at the cost of
263
lost functionality.</P
264
></DIV
265
></DIV
266
><DIV
267
CLASS="NAVFOOTER"
268
><HR
269
ALIGN="LEFT"
270
WIDTH="100%"><TABLE
271
SUMMARY="Footer navigation table"
272
WIDTH="100%"
273
BORDER="0"
274
CELLPADDING="0"
275
CELLSPACING="0"
276
><TR
277
><TD
278
WIDTH="33%"
279
ALIGN="left"
280
VALIGN="top"
281
><A
282
HREF="startup-mode.html"
283
ACCESSKEY="P"
284
>Prev</A
285
></TD
286
><TD
287
WIDTH="34%"
288
ALIGN="center"
289
VALIGN="top"
290
><A
291
HREF="ecos-ref.html"
292
ACCESSKEY="H"
293
>Home</A
294
></TD
295
><TD
296
WIDTH="33%"
297
ALIGN="right"
298
VALIGN="top"
299
><A
300
HREF="configuring-the-redboot-environment.html"
301
ACCESSKEY="N"
302
>Next</A
303
></TD
304
></TR
305
><TR
306
><TD
307
WIDTH="33%"
308
ALIGN="left"
309
VALIGN="top"
310
>RedBoot Startup Mode</TD
311
><TD
312
WIDTH="34%"
313
ALIGN="center"
314
VALIGN="top"
315
><A
316
HREF="getting-started-with-redboot.html"
317
ACCESSKEY="U"
318
>Up</A
319
></TD
320
><TD
321
WIDTH="33%"
322
ALIGN="right"
323
VALIGN="top"
324
>Configuring the RedBoot Environment</TD
325
></TR
326
></TABLE
327
></DIV
328
></BODY
329
></HTML
330
>

powered by: WebSVN 2.1.0

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