~ubuntu-branches/ubuntu/raring/avr-libc/raring-proposed

« back to all changes in this revision

Viewing changes to xml/Device.dtd

  • Committer: Bazaar Package Importer
  • Author(s): Hakan Ardo
  • Date: 2008-08-10 09:59:16 UTC
  • mfrom: (1.1.7 upstream) (4.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080810095916-wwyigh3vt0e9s7ud
Tags: 1:1.6.2.cvs20080610-2
Added build-depends on texlive-extra-utils (closes: #493454)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!--
 
2
Copyright (c) 2004, Theodore A. Roth
 
3
All rights reserved.
 
4
 
 
5
Redistribution and use in source and binary forms, with or without
 
6
modification, are permitted provided that the following conditions are met:
 
7
 
 
8
* Redistributions of source code must retain the above copyright
 
9
  notice, this list of conditions and the following disclaimer.
 
10
 
 
11
* Redistributions in binary form must reproduce the above copyright
 
12
  notice, this list of conditions and the following disclaimer in
 
13
  the documentation and/or other materials provided with the
 
14
  distribution.
 
15
 
 
16
* Neither the name of the copyright holders nor the names of
 
17
  contributors may be used to endorse or promote products derived
 
18
  from this software without specific prior written permission.
 
19
 
 
20
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
21
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
22
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
23
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 
24
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 
25
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 
26
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 
27
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 
28
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 
29
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 
30
POSSIBILITY OF SUCH DAMAGE.
 
31
-->
 
32
 
 
33
<!-- $Id: Device.dtd,v 1.12 2005/10/21 20:55:19 joerg_wunsch Exp $ -->
 
34
 
 
35
<!--
 
36
 
 
37
This file provides a Document Type Definition (DTD) for XML data files which
 
38
describe everything thing we need to generate the <avr/io*.h> header files.
 
39
 
 
40
Although ATMEL supplies XML device files already with AvrStudio >= 4.x, they
 
41
contain far more data than we need. In addition, there is information that we
 
42
need which they do not provide. Also, it may not be legal for us to include
 
43
those files with avr-libc.
 
44
 
 
45
I have written a python program (Atmel2libc.py) which will read ATMEL's XML
 
46
files and spit out a file which will validate against this DTD so that we can
 
47
leverage the data in those files. We will still have to manually add some data
 
48
to our generated xml files before we can use them to generate our headers.
 
49
 
 
50
-->
 
51
 
 
52
<!ELEMENT device (
 
53
    version,
 
54
    description?,
 
55
    memory_sizes,
 
56
    interrupts,
 
57
    ioregisters,
 
58
    bootloader?
 
59
)>
 
60
    <!ATTLIST device
 
61
        name CDATA #REQUIRED
 
62
    >
 
63
 
 
64
    <!ELEMENT version (#PCDATA)>
 
65
    <!ELEMENT description (#PCDATA)>
 
66
 
 
67
    <!ELEMENT memory_sizes (
 
68
        flash_size,
 
69
        eeprom_size,
 
70
        int_sram_size,
 
71
        ext_sram_size
 
72
    )>
 
73
        <!ELEMENT flash_size (#PCDATA)>
 
74
        <!ELEMENT eeprom_size (#PCDATA)>
 
75
        <!ELEMENT int_sram_size (#PCDATA)>
 
76
            <!ATTLIST int_sram_size start_addr CDATA #REQUIRED>
 
77
        <!ELEMENT ext_sram_size (#PCDATA)>
 
78
            <!ATTLIST ext_sram_size start_addr CDATA #REQUIRED>
 
79
 
 
80
    <!ELEMENT interrupts (vector+)>
 
81
        <!-- insn_size in bytes -->
 
82
        <!ATTLIST interrupts
 
83
            insn_size (2 | 4) #REQUIRED
 
84
            num_vects CDATA #REQUIRED
 
85
        >
 
86
        <!ELEMENT vector (
 
87
            description?,
 
88
            sig_name,
 
89
            alt_name*
 
90
        )>
 
91
            <!ATTLIST vector
 
92
                addr CDATA #REQUIRED
 
93
                num CDATA #REQUIRED
 
94
                name CDATA #REQUIRED
 
95
            >
 
96
            <!ELEMENT sig_name (#PCDATA)>
 
97
 
 
98
    <!ELEMENT ioregisters (ioreg+)>
 
99
    <!ELEMENT ioreg (
 
100
        description?,
 
101
        alt_name*,
 
102
        bit_field*
 
103
    )>
 
104
        <!ATTLIST ioreg
 
105
            name CDATA #REQUIRED
 
106
            addr CDATA #REQUIRED
 
107
        >
 
108
 
 
109
        <!ELEMENT alt_name (#PCDATA)>
 
110
 
 
111
        <!ELEMENT bit_field (
 
112
            description?,
 
113
            alt_name*
 
114
        )>
 
115
            <!ATTLIST bit_field
 
116
                name CDATA #REQUIRED
 
117
                bit CDATA #REQUIRED
 
118
                access CDATA #REQUIRED
 
119
                init CDATA #REQUIRED
 
120
            >
 
121
 
 
122
    <!-- If the is no bootloader element in the XML file, the device does not
 
123
         have bootloader support. -->
 
124
 
 
125
    <!-- The pagesize value is in bytes. Atmel's datasheets give it in
 
126
         words. -->
 
127
 
 
128
    <!-- Some recent ATtiny devices have boot loader support, but only
 
129
         have non-read while write (NRWW) behaviour throughout the
 
130
         entire flash, and no separate bootloader area.  So do not
 
131
         insist on getting mode elements. -->
 
132
    <!ELEMENT bootloader (mode*)>
 
133
        <!ATTLIST bootloader
 
134
            pagesize CDATA #REQUIRED
 
135
            rww_start CDATA #IMPLIED
 
136
            rww_end CDATA #IMPLIED
 
137
            nrww_start CDATA #IMPLIED
 
138
            nrww_end CDATA #IMPLIED
 
139
        >
 
140
 
 
141
        <!-- The boot mode size is (pagesize * pages). -->
 
142
 
 
143
        <!ELEMENT mode EMPTY>
 
144
            <!ATTLIST mode
 
145
                num CDATA #REQUIRED
 
146
                pages CDATA #REQUIRED
 
147
                start CDATA #REQUIRED
 
148
            >