<?xml version="1.0" encoding="utf-8" standalone="no"?>
<device schemaVersion="1.3.5" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_3_5.xsd">
  <cpu>
    <name>ARM7</name>
    <displayName>ARM 7</displayName>
    <groups>
      <group>
        <name>State</name>
        <description>Current CPU State</description>
        <IsCPUModeItem>1</IsCPUModeItem>
      </group>
      <group>
        <name>Core (Now)</name>
        <description>Current State CPU Registers</description>
        <size>32</size>
        <access>RW</access>
        <type>unsigned int</type>
        <registers>
          <register>
            <name>R0</name>
            <description>General purpose register 0</description>
            <Index>0</Index>
          </register>
          <register>
            <name>R1</name>
            <description>General purpose register 1</description>
            <Index>1</Index>
          </register>
          <register>
            <name>R2</name>
            <description>General purpose register 2 </description>
            <Index>2</Index>
          </register>
          <register>
            <name>R3</name>
            <description>General purpose register 3 </description>
            <Index>3</Index>
          </register>
          <register>
            <name>R4</name>
            <description>General purpose register 4</description>
            <Index>4</Index>
          </register>
          <register>
            <name>R5</name>
            <description>General purpose register 5</description>
            <Index>5</Index>
          </register>
          <register>
            <name>R6</name>
            <description>General purpose register 6</description>
            <Index>6</Index>
          </register>
          <register>
            <name>R7</name>
            <description>General purpose register 7</description>
            <Index>7</Index>
          </register>
          <register>
            <name>R8</name>
            <description>General purpose register 8</description>
            <Index>72</Index>
          </register>
          <register>
            <name>R9</name>
            <description>General purpose register 9</description>
            <Index>73</Index>
          </register>
          <register>
            <name>R10</name>
            <description>General purpose register 10</description>
            <Index>74</Index>
          </register>
          <register>
            <name>R11</name>
            <description>General purpose register 11</description>
            <Index>75</Index>
          </register>
          <register>
            <name>R12</name>
            <description>General purpose register 12</description>
            <Index>76</Index>
          </register>
          <register>
            <name>R13</name>
            <AliasName>SP</AliasName>
            <displayName>R13 (SP)</displayName>
            <description>Stack pointer (SP)</description>
            <Index>77</Index>
          </register>
          <register>
            <name>R14</name>
            <AliasName>LR</AliasName>
            <displayName>R14 (LR)</displayName>
            <description>Link register (LR)</description>
            <Index>78</Index>
          </register>
          <register>
            <name>R15</name>
            <AliasName>PC</AliasName>
            <displayName>R15 (PC)</displayName>
            <description>Program counter (PC)</description>
            <Index>9</Index>
          </register>
          <register>
            <name>CPSR</name>
            <description>Current program status register</description>
            <Index>8</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
        </registers>
      </group>
      <group>
        <name>Core (All)</name>
        <description>All CPU Registers</description>
        <size>32</size>
        <access>RW</access>
        <type>unsigned int</type>
        <registers>
          <register>
            <name>R0_USR</name>
            <description>General purpose register 0 (User Mode)</description>
            <Index>0</Index>
          </register>
          <register>
            <name>R1_USR</name>
            <description>General purpose register 1 (User Mode)</description>
            <Index>1</Index>
          </register>
          <register>
            <name>R2_USR</name>
            <description>General purpose register 2 (User Mode)</description>
            <Index>2</Index>
          </register>
          <register>
            <name>R3_USR</name>
            <description>General purpose register 3 (User Mode)</description>
            <Index>3</Index>
          </register>
          <register>
            <name>R4_USR</name>
            <description>General purpose register 4 (User Mode)</description>
            <Index>4</Index>
          </register>
          <register>
            <name>R5_USR</name>
            <description>General purpose register 5 (User Mode)</description>
            <Index>5</Index>
          </register>
          <register>
            <name>R6_USR</name>
            <description>General purpose register 6 (User Mode)</description>
            <Index>6</Index>
          </register>
          <register>
            <name>R7_USR</name>
            <description>General purpose register 7 (User Mode)</description>
            <Index>7</Index>
          </register>
          <register>
            <name>R8_USR</name>
            <description>General purpose register 8 (User Mode)</description>
            <Index>10</Index>
          </register>
          <register>
            <name>R9_USR</name>
            <description>General purpose register 9 (User Mode)</description>
            <Index>11</Index>
          </register>
          <register>
            <name>R10_USR</name>
            <description>General purpose register 10 (User Mode)</description>
            <Index>12</Index>
          </register>
          <register>
            <name>R11_USR</name>
            <description>General purpose register 11 (User Mode)</description>
            <Index>13</Index>
          </register>
          <register>
            <name>R12_USR</name>
            <description>General purpose register 12 (User Mode)</description>
            <Index>14</Index>
          </register>
          <register>
            <name>R13_USR</name>
            <description>Stack pointer (User Mode)</description>
            <Index>15</Index>
          </register>
          <register>
            <name>R14_USR</name>
            <description>Link register (User Mode)</description>
            <Index>16</Index>
          </register>
          <register>
            <name>R15_USR</name>
            <description>Program counter (User Mode)</description>
            <Index>9</Index>
          </register>
          <register>
            <name>SPSR_USR</name>
            <description>Current program status register (User Mode)</description>
            <Index>8</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R8_FIQ</name>
            <description>General purpose register 8 (Fast Interrupt Mode)</description>
            <Index>18</Index>
          </register>
          <register>
            <name>R9_FIQ</name>
            <description>General purpose register 9 (Fast Interrupt Mode)</description>
            <Index>19</Index>
          </register>
          <register>
            <name>R10_FIQ</name>
            <description>General purpose register 10 (Fast Interrupt Mode)</description>
            <Index>20</Index>
          </register>
          <register>
            <name>R11_FIQ</name>
            <description>General purpose register 11 (Fast Interrupt Mode)</description>
            <Index>21</Index>
          </register>
          <register>
            <name>R12_FIQ</name>
            <description>General purpose register 12 (Fast Interrupt Mode)</description>
            <Index>22</Index>
          </register>
          <register>
            <name>R13_FIQ</name>
            <description>Stack pointer (Fast Interrupt Mode)</description>
            <Index>23</Index>
          </register>
          <register>
            <name>R14_FIQ</name>
            <description>Link register (Fast Interrupt Mode)</description>
            <Index>24</Index>
          </register>
          <register>
            <name>SPSR_FIQ</name>
            <description>Current program status register (Fast Interrupt Mode)</description>
            <Index>17</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R13_SVC</name>
            <description>Stack pointer (Supervisor Mode)</description>
            <Index>26</Index>
          </register>
          <register>
            <name>R14_SVC</name>
            <description>Link register (Supervisor Mode)</description>
            <Index>27</Index>
          </register>
          <register>
            <name>SPSR_SVC</name>
            <description>Current program status register (Supervisor Mode)</description>
            <Index>25</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R13_ABT</name>
            <description>Stack pointer (Abort Mode)</description>
            <Index>29</Index>
          </register>
          <register>
            <name>R14_ABT</name>
            <description>Link register (Abort Mode)</description>
            <Index>30</Index>
          </register>
          <register>
            <name>SPSR_ABT</name>
            <description>Current program status register (Abort Mode)</description>
            <Index>28</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R13_IRQ</name>
            <description>Stack pointer (Interrupt Mode)</description>
            <Index>32</Index>
          </register>
          <register>
            <name>R14_IRQ</name>
            <description>Link register (Interrupt Mode)</description>
            <Index>33</Index>
          </register>
          <register>
            <name>SPSR_IRQ</name>
            <description>Current program status register (Interrupt Mode)</description>
            <Index>31</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R13_UND</name>
            <description>Stack pointer (Undefined Mode)</description>
            <Index>35</Index>
          </register>
          <register>
            <name>R14_UND</name>
            <description>Link register (Undefined Mode)</description>
            <Index>36</Index>
          </register>
          <register>
            <name>SPSR_UND</name>
            <description>Current program status register (Undefined Mode)</description>
            <Index>34</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
        </registers>
      </group>
    </groups>
  </cpu>
</device>
