Mercurial > ecos-v3_0-branch
annotate packages/hal/m68k/mcf52xx/mcf5272/proc/current/doc/mcf5272.sgml @ 2729:74dbf4c3f2e1 after-copyright-change-20090129
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
| author | jlarmour |
|---|---|
| date | Thu, 29 Jan 2009 17:47:46 +0000 |
| parents | ebd0ea2e6282 |
| children |
| rev | line source |
|---|---|
|
2652
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
1 <!-- DOCTYPE part PUBLIC "-//OASIS//DTD DocBook V3.1//EN" --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
2 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
3 <!-- {{{ Banner --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
4 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
5 <!-- =============================================================== --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
6 <!-- --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
7 <!-- mcf5272.sgml --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
8 <!-- --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
9 <!-- mcf5272 processor HAL documentation. --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
10 <!-- --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
11 <!-- =============================================================== --> |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2652
diff
changeset
|
12 <!-- ####ECOSDOCCOPYRIGHTBEGIN#### --> |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2652
diff
changeset
|
13 <!-- =============================================================== --> |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2652
diff
changeset
|
14 <!-- Copyright (C) 2003, 2008 Free Software Foundation, Inc. --> |
|
2652
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
15 <!-- This material may be distributed only subject to the terms --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
16 <!-- and conditions set forth in the Open Publication License, v1.0 --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
17 <!-- or later (the latest version is presently available at --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
18 <!-- http://www.opencontent.org/openpub/) --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
19 <!-- Distribution of the work or derivative of the work in any --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
20 <!-- standard (paper) book form is prohibited unless prior --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
21 <!-- permission obtained from the copyright holder --> |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2652
diff
changeset
|
22 <!-- =============================================================== --> |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2652
diff
changeset
|
23 <!-- ####ECOSDOCCOPYRIGHTEND#### --> |
|
2652
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
24 <!-- =============================================================== --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
25 <!-- #####DESCRIPTIONBEGIN#### --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
26 <!-- --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
27 <!-- Author(s): bartv --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
28 <!-- Contact(s): bartv --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
29 <!-- Date: 2003/07/15 --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
30 <!-- Version: 0.01 --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
31 <!-- --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
32 <!-- ####DESCRIPTIONEND#### --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
33 <!-- =============================================================== --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
34 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
35 <!-- }}} --> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
36 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
37 <part id="hal-m68k-mcf5272"><title>Freescale MCF5272 Processor Support</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
38 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
39 <refentry id="m68k-mcf5272"> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
40 <refmeta> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
41 <refentrytitle>The MCF5272 ColdFire Processor</refentrytitle> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
42 </refmeta> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
43 <refnamediv> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
44 <refname><varname>CYGPKG_HAL_M68K_MCF5272</varname></refname> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
45 <refpurpose>eCos Support for the Freescale MCF5272 Processor</refpurpose> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
46 </refnamediv> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
47 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
48 <refsect1 id="m68k-mcf5272-description"><title>Description</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
49 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
50 The MCF5272 is one member of the Freescale MCFxxxx ColdFire range of |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
51 processors. It comes with a number of on-chip peripherals including 2 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
52 UARTs, ethernet, and USB slave. The processor HAL package |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
53 <varname>CYGPKG_HAL_M68K_MCF5272</varname> provides support for |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
54 features that are specific to the MCF5272. It complements the M68K |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
55 architectural HAL package <varname>CYGPKG_HAL_M68K</varname> and the |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
56 variant HAL package <varname>CYGPKG_HAL_M68K_MCFxxxx</varname>. An |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
57 eCos configuration should also include a platform HAL package, for |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
58 example <varname>CYGPKG_HAL_M68K_M5272C3</varname> to support |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
59 board-level details like the external memory chips. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
60 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
61 </refsect1> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
62 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
63 <refsect1 id="m68k-mcf5272-config"><title>Configuration</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
64 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
65 The MCF5272 processor HAL package should be loaded automatically when |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
66 eCos is configured for appropriate target hardware. It should never be |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
67 necessary to load this package explicitly. Unloading the package |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
68 should only happen as a side effect of switching target hardware. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
69 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
70 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
71 The component <varname>CYGPKG_HAL_M68K_MCF5272_HARDWARE</varname> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
72 contains configuration options for the available hardware. This |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
73 includes all GPIO pin settings, with defaults provided by the |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
74 platform HAL. In turn the pin settings are used to determine defaults |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
75 for other hardware settings, for example which of the two on-chip |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
76 uarts are usable. Users can override these settings if necessary, |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
77 subject to any constraints imposed by the platform HAL, but care has |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
78 to be taken that the resulting configuration still matches the actual |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
79 hardware. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
80 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
81 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
82 The option <varname>CYGIMP_HAL_M68K_MCF5272_IDLE</varname> controls |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
83 what happens in configurations containing the eCos kernel when the |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
84 idle thread runs, i.e. when there is nothing for the processor to do |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
85 until the next interrupt comes in. Usually the processor made to |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
86 sleep, halting the cpu but leaving all peripherals active. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
87 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
88 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
89 The package contains a single configuration option |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
90 <varname>CYGFUN_HAL_M68K_MCF5272_PROFILE_TIMER</varname>. This |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
91 controls the support for gprof-based profiling. By default it is |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
92 active and enabled if the configuration contains the gprof profiling |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
93 package, otherwise inactive. The relevant code uses hardware timer 2, |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
94 so that timer is no longer available for application code. If the |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
95 timer is required but a platform HAL provides an alternative |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
96 implementation of the profiling support then this option can be |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
97 disabled. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
98 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
99 </refsect1> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
100 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
101 <refsect1 id="m68k-mcf5272-port"><title>The HAL Port</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
102 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
103 This section describes how the MCF5272 processor HAL package |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
104 implements parts of the eCos HAL specification. It should be read in |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
105 conjunction with similar sections from the architectural and variant |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
106 HAL documentation. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
107 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
108 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
109 <refsect2 id="m68k-mcf5272-port-io"><title>HAL I/O</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
110 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
111 The header |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
112 file <filename class="headerfile">cyg/hal/proc_io.h</filename> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
113 specifies which generic MCFxxxx devices are present, and provides |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
114 details of MCF5272-specific devices. This header file is automatically |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
115 included by the architectural |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
116 header <filename class="headerfile">cyg/hal/hal_io.h</filename>, so |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
117 typically application code and other packages will just include the |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
118 latter. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
119 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
120 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
121 It should be noted that the Freescale documentation is occasionally |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
122 confusing when it comes to numbering devices. For example the four |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
123 on-chip timers are numbered TMR0 to TMR3, but in the interrupt |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
124 controller the corresponding interrupts are numbered TMR1 to TMR4. The |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
125 eCos port consistently starts numbering at 0, so these interrupts have |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
126 been renamed TMR0 to TMR3. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
127 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
128 </refsect2> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
129 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
130 <refsect2 id="m68k-mcf5272-port-interrupts"><title>Interrupt Handling</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
131 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
132 The header file <filename |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
133 class="headerfile">cyg/hal/proc_intr.h</filename> provides VSR and ISR |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
134 vector numbers for all interrupt sources. The VSR vector number, for |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
135 example <varname>CYGNUM_HAL_VECTOR_TMR0</varname>, should be used |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
136 for calls like <function>cyg_interrupt_get_vsr</function>. It |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
137 corresponds directly to the M68K exception number. The ISR vector |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
138 number, for example <varname>CYGNUM_HAL_ISR_TMR0</varname>, should be |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
139 used for calls like <function>cyg_interrupt_create</function>. This |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
140 header file is automatically included by the architectural header |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
141 <filename class="headerfile">cyg/hal/hal_intr.h</filename>, and other |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
142 packages and application code will normally just include the latter. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
143 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
144 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
145 The eCos HAL macros <function>HAL_INTERRUPT_MASK</function>, |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
146 <function>HAL_INTERRUPT_UNMASK</function>, |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
147 <function>HAL_INTERRUPT_SET_LEVEL</function>, |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
148 <function>HAL_INTERRUPT_ACKNOWLEDGE</function>, and |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
149 <function>HAL_INTERRUPT_CONFIGURE</function> are implemented by the |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
150 processor HAL. The mask and unmask operations are straightforward, |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
151 simply manipulating the on-chip interrupt controller. The acknowledge |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
152 and configure macros are only relevant for external interrupts: |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
153 internal interrupts generated by on-chip devices do not need to be |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
154 acknowledged. The set-level operation, used implicitly by higher level |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
155 code such as <function>cyg_interrupt_create</function>, is mapped on |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
156 to M68K IPL levels so interrupts can be given a priority between 1 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
157 and 7. Priority 7 corresponds to non-maskable interrupts and must be |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
158 used with care: such interrupts cannot be managed safely by the usual |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
159 eCos ISR and DSR mechanisms; instead application code will have to |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
160 install a custom VSR and manage the entire interrupt. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
161 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
162 </refsect2> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
163 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
164 <refsect2 id="m68k-mcf5272-port-clock"><title>Clock Support</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
165 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
166 The processor HAL provides support for the eCos system clock. This |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
167 always uses hardware timer 3, which should not be used directly by |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
168 application code. If gprof-based profiling is in use then that will |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
169 use hardware timer 2. Timers 0 and 1 are never used by eCos so |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
170 application code is free to manipulate these as required. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
171 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
172 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
173 Some of the configuration options related to the system clock, for |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
174 example <varname>CYGNUM_HAL_RTC_PERIOD</varname>, are actually |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
175 contained in the platform HAL rather than the processor HAL. These |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
176 options need to take into account the processor clock speed, a |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
177 characteristic of the platform rather than the processor. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
178 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
179 </refsect2> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
180 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
181 <refsect2 id="m68k-mcf5272-port-cache"><title>Cache Handling</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
182 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
183 The MCF5272 has a small instruction cache of 1024 bytes. This is fully |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
184 supported by the processor HAL. There is no data cache. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
185 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
186 </refsect2> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
187 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
188 <refsect2 id="m68k-mcf5272-port-idle"><title>Idle Thread Support</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
189 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
190 The configuration |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
191 option <varname>CYGIMP_HAL_M68K_MCF5272_IDLE</varname> controls what |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
192 happens when the kernel idle thread runs. The default behaviour is to |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
193 put the processor to sleep until the next interrupt. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
194 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
195 </refsect2> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
196 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
197 <refsect2 id="m68k-mcf5272-port-profiling"><title>Profiling Support</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
198 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
199 The MCF5272 processor HAL provides a profiling timer for use with the |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
200 gprof profiling package. This uses hardware timer 2, so application |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
201 code should not manipulate this timer if profiling is enabled. The |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
202 M68K architectural HAL implements the <function>mcount</function> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
203 function so profiling is fully supported on all MCF5272-based platforms. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
204 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
205 </refsect2> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
206 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
207 <refsect2 id="m68k-mcf5272-port-other-hal"><title>Other Issues</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
208 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
209 The MCF5272 processor HAL does not affect the implementation of data |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
210 types, stack size definitions, linker scripts, SMP support, system |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
211 startup, or debug support. The architectural HAL's bit index |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
212 instructions are used rather than the MCFxxxx variant HAL's versions |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
213 since the MCF5272 does not implement the ff1 and bitrev instructions. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
214 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
215 </refsect2> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
216 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
217 <refsect2 id="m68k-mcf5272-port-other"><title>Other Functionality</title> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
218 <para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
219 The MCF5272 processor HAL only implements functionality defined in the |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
220 eCos HAL specification and does not export any additional functions. |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
221 </para> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
222 </refsect2> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
223 </refsect1> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
224 </refentry> |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
225 |
|
ebd0ea2e6282
Contribute eCosCentric's MCF5272 processor HAL, replacing the old
bartv
parents:
diff
changeset
|
226 </part> |
