]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/ref/hal-porting-guide.html
RedBoot TX53 Release 2012-02-15
[karo-tx-redboot.git] / doc / html / ref / hal-porting-guide.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 >       Porting Guide</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="The eCos Hardware Abstraction Layer (HAL)"
23 HREF="the-ecos-hardware-abstraction-layer.html"><LINK
24 REL="PREVIOUS"
25 TITLE="Default Interrupt Handling"
26 HREF="hal-default-interrupt-handling.html"><LINK
27 REL="NEXT"
28 TITLE="HAL Structure"
29 HREF="hal-porting-structure.html"></HEAD
30 ><BODY
31 CLASS="CHAPTER"
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="hal-default-interrupt-handling.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 ></TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="hal-porting-structure.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="CHAPTER"
82 ><H1
83 ><A
84 NAME="HAL-PORTING-GUIDE">Chapter 11.    Porting Guide</H1
85 ><DIV
86 CLASS="TOC"
87 ><DL
88 ><DT
89 ><B
90 >Table of Contents</B
91 ></DT
92 ><DT
93 ><A
94 HREF="hal-porting-guide.html#HAL-PORTING-INTRO"
95 >Introduction</A
96 ></DT
97 ><DT
98 ><A
99 HREF="hal-porting-structure.html"
100 >HAL Structure</A
101 ></DT
102 ><DT
103 ><A
104 HREF="hal-calling-if.html"
105 >Virtual Vectors (eCos/ROM Monitor Calling Interface)</A
106 ></DT
107 ><DT
108 ><A
109 HREF="hal-porting-coding-conventions.html"
110 >HAL Coding Conventions</A
111 ></DT
112 ><DT
113 ><A
114 HREF="hal-porting-platform.html"
115 >Platform HAL Porting</A
116 ></DT
117 ><DT
118 ><A
119 HREF="hal-porting-variant.html"
120 >Variant HAL Porting</A
121 ></DT
122 ><DT
123 ><A
124 HREF="hal-porting-architecture.html"
125 >Architecture HAL Porting</A
126 ></DT
127 ></DL
128 ></DIV
129 ><DIV
130 CLASS="SECTION"
131 ><H1
132 CLASS="SECTION"
133 ><A
134 NAME="HAL-PORTING-INTRO">Introduction</H1
135 ><P
136 >eCos has been designed to be fairly easy to port to new targets. A
137 target is a specific platform (board) using a given architecture (CPU
138 type). The porting is facilitated by the hierarchical layering of the
139 eCos sources - all architecture and platform specific code is
140 implemented in a HAL (hardware abstraction layer).</P
141 ><P
142 >By porting the eCos HAL to a new target the core functionality of eCos
143 (infra, kernel, uITRON, etc) will be able to run on the target. It may
144 be necessary to add further platform specific code such as serial
145 drivers, display drivers, ethernet drivers, etc. to get a fully
146 capable system.</P
147 ><P
148 >This document is intended as a help to the HAL porting process. Due to
149 the nature of a porting job, it is impossible to give a complete
150 description of what has to be done for each and every potential
151 target. This should not be considered a clear-cut recipe - you will
152 probably need to make some implementation decisions, tweak a few
153 things, and just plain have to rely on common sense.</P
154 ><P
155 >However, what is covered here should be a large part of the
156 process. If you get stuck, you are advised to read the
157 <A
158 HREF="http://sourceware.cygnus.com/ml/ecos-discuss/"
159 TARGET="_top"
160 >ecos-discuss archive</A
161 >
162 where you may find discussions which apply to the problem at
163 hand. You are also invited to ask questions on the
164 <A
165 HREF="http://sourceware.cygnus.com/ecos/intouch.html"
166 TARGET="_top"
167 >ecos-discuss mailing list</A
168 >
169 to help you resolve problems - but as is always the case
170 with community lists, do not consider it an oracle for any and all
171 questions. Use common sense - if you ask too many questions which
172 could have been answered by reading the
173 <A
174 HREF="http://sourceware.cygnus.com/ecos/docs-latest/"
175 TARGET="_top"
176 >documentation</A
177 >,
178 <A
179 HREF="http://sourceware.cygnus.com/fom/ecos"
180 TARGET="_top"
181 >FAQ</A
182 > or
183 <A
184 HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/?cvsroot=ecos"
185 TARGET="_top"
186 >source code</A
187 >, you are likely to be ignored.</P
188 ><P
189 >This document will be continually improved by Red Hat engineers as
190 time allows. Feedback and help with improving the document is sought,
191 so if you have any comments at all, please do not hesitate to post
192 them on
193 <A
194 HREF="mailto:ecos-discuss@sourceware.cygnus.com?subject=[porting]<subject>"
195 TARGET="_top"
196 >ecos-discuss</A
197 >
198 (please prefix the subject with [porting]).</P
199 ><P
200 >At the moment this document is mostly an outline. There are many
201 details to fill in before it becomes complete. Many places you'll just
202 find a list of keywords / concepts that should be described (please
203 post on ecos-discuss if there are areas you think are not covered).</P
204 ><P
205 >All pages or sections where the caption ends in [TBD] contain little
206 more than key words and/or random thoughts - there has been no work
207 done as such on the content. The word FIXME may appear in the text to
208 highlight places where information is missing.</P
209 ></DIV
210 ></DIV
211 ><DIV
212 CLASS="NAVFOOTER"
213 ><HR
214 ALIGN="LEFT"
215 WIDTH="100%"><TABLE
216 SUMMARY="Footer navigation table"
217 WIDTH="100%"
218 BORDER="0"
219 CELLPADDING="0"
220 CELLSPACING="0"
221 ><TR
222 ><TD
223 WIDTH="33%"
224 ALIGN="left"
225 VALIGN="top"
226 ><A
227 HREF="hal-default-interrupt-handling.html"
228 ACCESSKEY="P"
229 >Prev</A
230 ></TD
231 ><TD
232 WIDTH="34%"
233 ALIGN="center"
234 VALIGN="top"
235 ><A
236 HREF="ecos-ref.html"
237 ACCESSKEY="H"
238 >Home</A
239 ></TD
240 ><TD
241 WIDTH="33%"
242 ALIGN="right"
243 VALIGN="top"
244 ><A
245 HREF="hal-porting-structure.html"
246 ACCESSKEY="N"
247 >Next</A
248 ></TD
249 ></TR
250 ><TR
251 ><TD
252 WIDTH="33%"
253 ALIGN="left"
254 VALIGN="top"
255 >Default Interrupt Handling</TD
256 ><TD
257 WIDTH="34%"
258 ALIGN="center"
259 VALIGN="top"
260 ><A
261 HREF="the-ecos-hardware-abstraction-layer.html"
262 ACCESSKEY="U"
263 >Up</A
264 ></TD
265 ><TD
266 WIDTH="33%"
267 ALIGN="right"
268 VALIGN="top"
269 >HAL Structure</TD
270 ></TR
271 ></TABLE
272 ></DIV
273 ></BODY
274 ></HTML
275 >