annotate packages/hal/cortexm/kinetis/var/current/doc/kinetis.sgml @ 3189:068fbe2304f1

Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
author vae
date Sat, 03 Nov 2012 15:51:54 +0000
parents 9b3d0f81044b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3177
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
1 <!-- DOCTYPE part PUBLIC "-//OASIS//DTD DocBook V3.1//EN" -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
2
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
3 <!-- {{{ Banner -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
4
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
5 <!-- =============================================================== -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
6 <!-- -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
7 <!-- kinetis.sgml -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
8 <!-- -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
9 <!-- KINETIS documentation. -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
10 <!-- -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
11 <!-- =============================================================== -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
12 <!-- ####ECOSDOCCOPYRIGHTBEGIN#### -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
13 <!-- =============================================================== -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
14 <!-- Copyright (C) 2012 Free Software Foundation, Inc. -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
15 <!-- This material may be distributed only subject to the terms -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
16 <!-- and conditions set forth in the Open Publication License, v1.0 -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
17 <!-- or later (the latest version is presently available at -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
18 <!-- http://www.opencontent.org/openpub/) -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
19 <!-- Distribution of the work or derivative of the work in any -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
20 <!-- standard (paper) book form is prohibited unless prior -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
21 <!-- permission obtained from the copyright holder -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
22 <!-- =============================================================== -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
23 <!-- ####ECOSDOCCOPYRIGHTEND#### -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
24 <!-- =============================================================== -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
25 <!-- #####DESCRIPTIONBEGIN#### -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
26 <!-- -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
27 <!-- Author(s): Ilija Kocho -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
28 <!-- Contact(s): ilijak@siva.com.mk -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
29 <!-- Date: 2012/01/10 -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
30 <!-- Version: 0.01 -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
31 <!-- -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
32 <!-- ####DESCRIPTIONEND#### -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
33 <!-- =============================================================== -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
34
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
35 <!-- }}} -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
36
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
37 <!-- <part id="hal-cortexm-kinetis"><title>Freescale Kinetis Family Support</title> -->
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
38
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
39 <refentry id="hal-cortexm-kinetis-var">
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
40 <refmeta>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
41 <refentrytitle>Freescale Kinetis Variant</refentrytitle>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
42 </refmeta>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
43 <refnamediv>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
44 <refname><literal>CYGPKG_HAL_CORTEXM_KINETIS</literal></refname>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
45 <refpurpose>eCos Support for Freescale Kinetis Micro-controllers</refpurpose>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
46 </refnamediv>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
47
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
48 <refsect1 id="hal-cortexm-kinetis-var-description"><title>Description</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
49 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
50 Kinetis is a Freescale microcontroller family based on the ARM Cortex-M4 core. The
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
51 family consists of subfamilies: K10, K20, K30, K40, K50, K60 and K70
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
52 that gradually add-on performance and features.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
53 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
54 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
55 The Kinetis variant HAL provides generic support for hardware found on some
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
56 or all Kinetis members. The variant package <literal>CYGPKG_HAL_CORTEXM_KINETIS</literal>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
57 provides configurable components that aim to support the complete set of options
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
58 found in the Kinetis family.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
59 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
60 </refsect1>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
61 <refsect1 id="kinetis-var-sup"><title>What's supported</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
62 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
63 The current Kinetis software includes a Kinetis variant HAL, some Platform BSPs,
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
64 as well as DMA, UART, Wallclock, Ethernet and SPI support.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
65 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
66 </refsect1>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
67 <refsect1 id="kinetis-var-config"><title>Configuration</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
68 <para> Kinetis is a set of families of micro-controllers packed with highly configurable components.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
69 In order to facilitate system configuration for the user, the CDL configuration items are organized as a set of
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
70 expert components. Typically, for a given peripheral, the user chooses the required hardware
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
71 options and desirable parameters, and the respective CDL configuration options and settings are calculated from these.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
72 If it is not possible to achieve exact values, the configurator attempts to provide
3180
9b3d0f81044b * twr_k40x256/current/cdl/hal_cortexm_kinetis_twr_k40x256.cdl,
jld
parents: 3177
diff changeset
73 approximate settings, then the user can manually do the fine tuning.</para>
3177
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
74 <refsect2 id="kinetis-var-cpu-select"><title>Kinetis Part Selection</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
75 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
76 Within a family and/or across families the chips are further differentiated by their features
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
77 such as: optional FPU, amount of memory, etc. The family member options are reflected in the
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
78 controller naming scheme (see respective Freescale Kinetis product brief(s) and reference manual(s)).
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
79 The Kinetis part builder <literal>CYGHWR_HAL_CORTEXM_KINETIS</literal>, respects this naming scheme and
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
80 enables the user to interactively configure eCos for the desired part by selecting
3189
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
81 the requested part name segments.
3177
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
82 Based on user input, the CDL computes the part-specific eCos configuration. This includes calculation
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
83 of on-chip FLASH and SRAM layout as well as the activation/deactivation of options such as FPU and
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
84 Ethernet.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
85 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
86 </refsect2>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
87 <refsect2 id="kinetis-var-clocking"><title>Clocking</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
88 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
89 Kinetis is packed with a rich set of clocking options provided by the Multipurpose Clock Generator - MCG.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
90 Dependent on the part, MCG can have outlets for one or two external frequency reference sources
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
91 <emphasis>OSC</emphasis> and <emphasis>OSC1</emphasis> and one
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
92 or two PLL oscillators <emphasis>PLL</emphasis> and <emphasis>PLL1</emphasis>.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
93 Each of the external frequency reference sources can be either a crystal or external
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
94 oscillator and associated with either or both PLL oscillators. <emphasis>OSC</emphasis> can also be a
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
95 reference source for the FLL oscillator.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
96 Besides <emphasis>OSC</emphasis> and <emphasis>OSC1</emphasis>, there are additional clock sources
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
97 including two RC oscillators and a (battery backed) RTC clock with it's own 32768 Hz crystal oscillator.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
98 MCG gives the user a wide choice of system and peripheral clock source(s) that can be
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
99 external clock(s), internal clocks, a PLL or the FLL. An external or on-chip
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
100 oscillator can be used as a system clock or as a reference for PLL/FLL oscillator(s).
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
101 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
102 <note><para> In the documentation of Kinetis parts with two oscillators, <emphasis>OSC</emphasis>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
103 and <emphasis>PLL</emphasis> are described as <emphasis>OSC0</emphasis> and <emphasis>PLL0</emphasis> respectively.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
104 </para></note>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
105 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
106 Clocking component <literal>CYGHWR_HAL_CORTEXM_KINETIS_CLOCKING</literal> provides some expert
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
107 functionality in order to facilitate clock system configuration. Normally, the user sets requirements:
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
108 clock source, clock reference, desired core frequency and upper limits for peripheral
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
109 clock frequencies. The component automatically calculates MCG and other peripheral register
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
110 settings in order to achieve the required clock frequencies. This setting is not always perfect but
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
111 fits (exactly or close) for commonly used frequencies. If necessary, the user can fine tune the
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
112 clock settings interactively using the eCos Configuration Tool.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
113 The two clock sources are named:
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
114 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
115 <variablelist>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
116 <varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
117 <term>System clock</term>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
118 <listitem><para>The clock source that provides the clock for the Cortex-M core.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
119 It may also provide the clock for some peripherals.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
120 </para></listitem></varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
121 <varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
122 <term>Auxiliary clock</term>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
123 <listitem><para>This is optional and may provide a clock for peripherals but not for the Cortex-M core.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
124 </para></listitem></varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
125 </variablelist>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
126 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
127 The user can select which source is the system clock. The choices for system clock are: <emphasis>PLL</emphasis>,
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
128 <emphasis>FLL</emphasis>, <emphasis>External reference clock</emphasis> and, when available, <emphasis>PLL1</emphasis>.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
129 The auxiliary clock, when available is: <emphasis>PLL</emphasis> if <emphasis>PLL1</emphasis> is selected
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
130 for system the clock or <emphasis>PLL1</emphasis> if any other source is selected for the system clock.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
131 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
132 </refsect2>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
133 <refsect2 id="kinetis-var-memory"><title>Memory layouts</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
134 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
135 The memory layouts and startup types which don't employ external memory should be applicable to all
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
136 Kinetis platforms so they are defined and maintained at the variant level.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
137 This is somewhat different than common eCos practice but has some advantages brought by universal,
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
138 single copy linker scripts for single chip configurations. The linker scripts are further enhanced/generalized
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
139 by utilization of macros provided by CDL and calculated on the basis of the
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
140 <link linkend="kinetis-var-cpu-select">selected Kinetis part</link>.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
141 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
142 <refsect3 id="kinetis-var-memory-ldscript-location"><title>Variant Linker
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
143 Script Location</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
144 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
145 Variant linker scripts are found at:
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
146 <filename class="directory">hal/kinetis/var/&lt;version&gt;/include/pkgconf</filename>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
147 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
148 </refsect3>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
149 <refsect3 id="kinetis-var-memory-ldscript-naming"><title>Linker Script Naming</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
150 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
151 Linker script file names are composed of segments
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
152 <filename>mlt_kinetis_&lt;NVM&gt;_&lt;SRAM&gt;_&lt;STARTUP&gt;[_&lt;PLF&gt;].ldi</filename>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
153 where <filename>PLF</filename> is an optional extension for platform specific scripts and
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
154 other segments have meanings as described in the following table.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
155 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
156 <table frame="all" id="kinetis-var-table-ldscript-naming"><title>Linker script name segments</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
157 <tgroup cols="3" align="center">
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
158 <colspec colnum="1" colname="segment" colwidth="1*" >
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
159 <colspec colnum="2" colname="desc" colwidth="2*" >
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
160 <colspec colnum="3" colname="values" colwidth="1*" >
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
161 <thead>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
162 <row>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
163 <entry>Segment</entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
164 <entry>Description</entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
165 <entry>Values</entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
166 </row>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
167 </thead>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
168 <tbody>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
169 <row>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
170 <entry><filename>NVM</filename></entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
171 <entry>Kinetis non-volatile memory configuration</entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
172 <entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
173 <filename>flash</filename>,
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
174 <filename>flexnvm</filename>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
175 </entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
176 </row>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
177 <row>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
178 <entry><filename>SRAM</filename></entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
179 <entry>SRAM memory sectioning</entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
180 <entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
181 <filename>unisram</filename>,
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
182 <filename>sram2s</filename>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
183 </entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
184 </row>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
185 <row>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
186 <entry><filename>STARTUP</filename></entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
187 <entry>Startup type</entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
188 <entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
189 <filename>rom</filename>,
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
190 <filename>sram</filename>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
191 </entry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
192 </row>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
193 </tbody>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
194 </tgroup>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
195 </table>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
196 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
197 <note><para>Never attempt to flash Kinetis with an image for SRAM startup. SRAM startup images
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
198 do not contain a <literal>.flash_conf</literal> section so random contents may be written in
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
199 flash protection area and lock your Kinetis device. This lock-out can be permanent.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
200 </para></note>
3180
9b3d0f81044b * twr_k40x256/current/cdl/hal_cortexm_kinetis_twr_k40x256.cdl,
jld
parents: 3177
diff changeset
201 </para>
3177
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
202 </refsect3>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
203 <refsect3 id="kinetis-var-memory-plf-spec"><title>Platform Specific Memory Layouts</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
204 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
205 Platforms, if needed, can provide their own layouts in addition to the variant ones. Typically
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
206 they will cover systems with external memory. The <link linkend="kinetis-var-startup">
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
207 startup type</link> implicitly determines whether variant and platform defined
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
208 layout shall be used.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
209 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
210 </refsect3>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
211 <refsect3 id="kinetis-var-memory-sram"><title>On-chip SRAM</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
212 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
213 Kinetis on chip SRAM memory consists of two equal banks that occupy consecutive locations anchored
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
214 below and above <literal>0x20000000</literal>. This fact is reflected in memory layout scripts.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
215 There are linker scripts that treat SRAM as a single section (<filename>unisram</filename>) or as
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
216 2 separate sections (<filename>sram2s</filename>).
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
217 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
218 </refsect3>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
219 <refsect3 id="kinetis-var-memory-flash"><title>On-chip FLASH</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
220 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
221 Kinetis on-chip flash contains a special area <literal>[0x400-0x40F]</literal>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
222 that holds the flash security configuration. In order to preserve this area from
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
223 accidental writing and at the same time provide regular access,
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
224 a custom linker section <literal>.flash_conf</literal> is created. In addition, in order
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
225 to utilize the FLASH pool below <literal>0x400</literal> the <emphasis>USER_SECTION</emphasis>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
226 <literal>.kinetis_misc</literal> is defined. This section typically contains
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
227 code parts from <filename>kinetis_misc.c</filename>.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
228 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
229 </refsect3>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
230 <refsect3 id="kinetis-var-memory-cache"><title>Cache</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
231 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
232 Kinetis members with operating frequencies of 120 MHz and 150 MHz are equipped with cache memory.
3189
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
233 Due to the Harvard architecture, there are two cache memories connected to code
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
234 - <emphasis>PC</emphasis> and system - <emphasis>PS</emphasis> buses respectively.
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
235 Although both modules can cache both instructions and data (unified caches), with the provided
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
236 memory they act as instruction (<emphasis>PC</emphasis>) and data (<emphasis>PS</emphasis>) caches.
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
237 </para>
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
238 <para>
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
239 A common caching issue is sharing memory resources with bus masters such as DMA, Ethernet controller, etc.
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
240 In order to keep shared data such as buffers and transfer control descriptors consistent,
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
241 cached data have to be flushed and/or invalidated. An alternative approach, used here is usage of
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
242 non-cachable memory for shared data. <literal>CYGHWR_HAL_NON_CACHABLE</literal> provides for
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
243 the configuration of non-cachable memory. If some bus masters have provision for non-cache able memory,
068fbe2304f1 Separate data and code caches, as well as text indentation suggested by Jifl. Fixes to cache and SDRAM CDL and functions Improved SDRAM controller support due to better manufacturer documentation: Configurable pad control. [Bugzilla 1001606]
vae
parents: 3180
diff changeset
244 such configuration options can be parenthed by <literal>CYGHWR_HAL_NON_CACHABLE</literal>.
3177
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
245 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
246 </refsect3>
3180
9b3d0f81044b * twr_k40x256/current/cdl/hal_cortexm_kinetis_twr_k40x256.cdl,
jld
parents: 3177
diff changeset
247 </refsect2>
3177
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
248 <refsect2 id="kinetis-var-startup"><title>Startup types</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
249 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
250 There are <emphasis>two levels</emphasis> of startup type:
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
251 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
252 <variablelist>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
253 <varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
254 <term>Variant <literal>CYG_HAL_STARTUP_VAR</literal></term>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
255 <listitem><para>This is always present and provides startup
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
256 types for systems without external memory.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
257 </para></listitem></varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
258 <varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
259 <term>Platform <literal>CYG_HAL_STARTUP_PLF</literal></term>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
260 <listitem><para>This is optional and is
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
261 provided by a platform package. Typically it provides startup types for systems
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
262 that employ external memory.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
263 </para></listitem></varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
264 </variablelist>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
265 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
266 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
267 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
268 When present, the platform startup overloads the variant startup and has precedence over it.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
269 User can activate the variant startup by setting platform startup to
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
270 <literal>ByVariant</literal>.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
271 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
272 <refsect3 id="kinetis-var-startup-byvariant"><title>Startup types provided variant</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
273 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
274 The following startup types are provided for Kinetis at the variant level:
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
275 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
276 <variablelist>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
277 <varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
278 <term><literal>ROM</literal></term>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
279 <listitem><para>Normal startup for stand-alone operation. eCos image has to be flashed
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
280 in internal flash;
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
281 </para></listitem></varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
282 <varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
283 <term><literal>SRAM</literal></term>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
284 <listitem><para>Image is loaded in internal SRAM by means of JTAG/SWD and executed
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
285 under debugger control.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
286 </para></listitem></varlistentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
287 </variablelist>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
288 <note><para>(IMPORTANT) Never, ever attempt to flash Kinetis with an image for SRAM startup.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
289 SRAM startup images do not contain a <literal>.flash_conf</literal> section so random contents
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
290 may be written to the flash protection area and lock your Kinetis device. This lock-out can be permanent.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
291 </para></note>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
292 </refsect3>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
293 </refsect2>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
294 <refsect2 id="kinetis-interrupt-priority-scheme"><title>Interrupt priority scheme</title>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
295 <para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
296 In case of multiple simultaneous interrupts, interrupt service request resolution is based
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
297 on a relative comparison of interrupt priorities, rather than on individual interrupt priority values.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
298 <emphasis>Interrupt priority scheme</emphasis> gives a consolidated overview and control
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
299 of priorities of all interrupt sources. Interrupt priorities can be provided by either variant
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
300 <literal>CYGHWR_HAL_DEVS_IRQ_PRIO_SCHEME_VAR</literal>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
301 or platform <literal>CYGHWR_HAL_DEVS_IRQ_PRIO_SCHEME</literal>.
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
302 </para>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
303 </refsect2>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
304 </refsect1>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
305
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
306 </refentry>
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
307
58eda6fed5a5 New files -- Kinetis variant documentation. [Bug 1001580]
vae
parents:
diff changeset
308 <!--</part>-->