]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/ref/resource-usage.html
RedBoot TX53 Release 2012-02-15
[karo-tx-redboot.git] / doc / html / ref / resource-usage.html
1 <!-- 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 >