Files
vos/ambiq-hal-sys/ambiq-sparkfun-sdk/docs/registers/apollo3/pages/sysctrl_regs.html
T

3612 lines
146 KiB
HTML
Raw Normal View History

2022-10-23 23:45:43 -07:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta name="generator" content="AmbiqMicro" />
<title>AmbiqSuite User Guide: AmbiqSuite Apollo Device Register Overview</title>
<link href="../resources/tabs.css" rel="stylesheet" type="text/css" />
<link href="../resources/bootstrap.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../resources/jquery.js"></script>
<script type="text/javascript" src="../resources/dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css" />
<link href="../resources/customdoxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top">
<!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo">
<img alt="Logo" src="../resources/am_logo.png" />
</td>
<td style="padding-left: 0.5em;">
<div id="projectname">Apollo Register Documentation &#160;<span id="projectnumber">v2.4.2</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="../index.html"><span>Main&#160;Page</span></a>
</li>
</div>
</li>
</ul>
</div>
</div>
<!-- top -->
<!-- window showing the filter options -->
<div class="header">
<div class="headertitle">
<div class="title">SYSCTRL - ARM System Control Block Registers.</div>
</div>
</div>
<!--header-->
<body>
<br>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"> SYSCTRL Register Index</h3>
</div>
<div class="panel-body">
<table>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED04:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#ICSR" target="_self">ICSR - Interrupt Control and State Register</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED08:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#VTOR" target="_self">VTOR - Vector Table Offset Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED0C:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#AIRCR" target="_self">AIRCR - Application Interrupt and Reset Control Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED10:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#SCR" target="_self">SCR - System Control Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED14:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#CCR" target="_self">CCR - Configuration and Control Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED18:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#SHPR1" target="_self">SHPR1 - System Handler Priority Register 1.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED1C:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#SHPR2" target="_self">SHPR2 - System Handler Priority Register 2.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED20:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#SHPR3" target="_self">SHPR3 - System Handler Priority Register 3.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED24:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#SHCSR" target="_self">SHCSR - System Handler Control and State Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED28:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#CFSR" target="_self">CFSR - Configurable Fault Status Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED2C:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#HFSR" target="_self">HFSR - Hard Fault Status Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED34:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#MMFAR" target="_self">MMFAR - MemManage Fault Address Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED38:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#BFAR" target="_self">BFAR - Bus Fault Address Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED88:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#CPACR" target="_self">CPACR - Coprocessor Access Control Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EDFC:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#DEMCR" target="_self">DEMCR - Debug Exception and Monitor Control Register</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EF00:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#STIR" target="_self">STIR - Software Triggered Interrupt Register</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EF34:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#FPCCR" target="_self">FPCCR - Floating-Point Context Control Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EF38:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#FPCAR" target="_self">FPCAR - Floating-Point Context Address Register.</a>
</td>
</tr>
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EF3C:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<a class="el" href="#FPDSCR" target="_self">FPDSCR - Floating-Point Default Status Control Register.</a>
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="ICSR" class="panel-title">ICSR - Interrupt Control and State Register</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED04</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Interrupt Control and State Register</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="1">NMIPENDSET
<br>0x0</td>
<td align="center" colspan="1">PENDSVSET
<br>0x0</td>
<td align="center" colspan="2">RSVD
<br>0x0</td>
<td align="center" colspan="1">PENDSVCLR
<br>0x0</td>
<td align="center" colspan="1">PENDSTSET
<br>0x0</td>
<td align="center" colspan="1">PENDSTCLR
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">ISRPREEMPT
<br>0x0</td>
<td align="center" colspan="1">ISRPENDING
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="9">VECTPENDING
<br>0x0</td>
<td align="center" colspan="1">RETTOBASE
<br>0x0</td>
<td align="center" colspan="2">RSVD
<br>0x0</td>
<td align="center" colspan="9">VECTACTIVE
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31</td>
<td>NMIPENDSET</td>
<td>RW</td>
<td>Pend an NMI exception.<br><br>
</td>
</tr>
<tr>
<td>28</td>
<td>PENDSVSET</td>
<td>RW</td>
<td>Set the PendSV interrupt as pending.<br><br>
</td>
</tr>
<tr>
<td>29:28</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>27</td>
<td>PENDSVCLR</td>
<td>WO</td>
<td>Remove the pending status of the PendSV exception.<br><br>
</td>
</tr>
<tr>
<td>26</td>
<td>PENDSTSET</td>
<td>RW</td>
<td>Set the SysTick exception as pending.<br><br>
</td>
</tr>
<tr>
<td>25</td>
<td>PENDSTCLR</td>
<td>WO</td>
<td>Remove the pending status of the SysTick exception.<br><br>
</td>
</tr>
<tr>
<td>24</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>23</td>
<td>ISRPREEMPT</td>
<td>RO</td>
<td>Indicates whether a pending exception will be serviced on exit from debug halt state.<br><br>
</td>
</tr>
<tr>
<td>22</td>
<td>ISRPENDING</td>
<td>RO</td>
<td>Indicates whether an external interrupt, generated by the NVIC, is pending.<br><br>
</td>
</tr>
<tr>
<td>21</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>20:12</td>
<td>VECTPENDING</td>
<td>RO</td>
<td>The exception number of the highest priority pending exception.<br><br>
</td>
</tr>
<tr>
<td>11</td>
<td>RETTOBASE</td>
<td>RO</td>
<td>Indicates whether there is an active exception other than the exception shown by IPSR.<br><br>
</td>
</tr>
<tr>
<td>10:9</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>8:0</td>
<td>VECTACTIVE</td>
<td>RO</td>
<td>The exception number of the current executing exception.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="VTOR" class="panel-title">VTOR - Vector Table Offset Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED08</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Vector Table Offset Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="32">VALUE
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:0</td>
<td>VALUE</td>
<td>RW</td>
<td>Vector table base address.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="AIRCR" class="panel-title">AIRCR - Application Interrupt and Reset Control Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED0C</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Application Interrupt and Reset Control Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="16">VECTKEY
<br>0x0</td>
<td align="center" colspan="1">ENDIANNESS
<br>0x0</td>
<td align="center" colspan="4">RSVD
<br>0x0</td>
<td align="center" colspan="3">PRIGROUP
<br>0x0</td>
<td align="center" colspan="5">RSVD
<br>0x0</td>
<td align="center" colspan="1">SYSRESETREQ
<br>0x0</td>
<td align="center" colspan="1">VECTCLRACTIVE
<br>0x0</td>
<td align="center" colspan="1">VECTRESET
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:16</td>
<td>VECTKEY</td>
<td>RW</td>
<td>Register writes must write 0x5FA to this field, otherwise the write is ignored.<br><br>
</td>
</tr>
<tr>
<td>15</td>
<td>ENDIANNESS</td>
<td>RO</td>
<td>Indicates endianness of memory architecture. (Little = 0, Big = 1)<br><br>
</td>
</tr>
<tr>
<td>14:11</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>10:8</td>
<td>PRIGROUP</td>
<td>RW</td>
<td>Priority grouping, indicates the binary point position.<br><br>
</td>
</tr>
<tr>
<td>7:3</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>2</td>
<td>SYSRESETREQ</td>
<td>RW</td>
<td>Writing a 1 to this bit reqests a local reset.<br><br>
</td>
</tr>
<tr>
<td>1</td>
<td>VECTCLRACTIVE</td>
<td>WO</td>
<td>Writing a 1 to this bit clears all active state information for fixed and configurable exceptions.<br><br>
</td>
</tr>
<tr>
<td>0</td>
<td>VECTRESET</td>
<td>WO</td>
<td>Writing a 1 to this bit causes a local system reset.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="SCR" class="panel-title">SCR - System Control Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED10</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>System Control Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="27">RSVD
<br>0x0</td>
<td align="center" colspan="1">SEVONPEND
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">SLEEPDEEP
<br>0x0</td>
<td align="center" colspan="1">SLEEPONEXIT
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:5</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>4</td>
<td>SEVONPEND</td>
<td>RW</td>
<td>Determines whether a pending interrupt is a wakeup event.<br><br>
</td>
</tr>
<tr>
<td>3</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>2</td>
<td>SLEEPDEEP</td>
<td>RW</td>
<td>Determines whether the sleep mode should be regular or deep sleep<br><br>
</td>
</tr>
<tr>
<td>1</td>
<td>SLEEPONEXIT</td>
<td>RW</td>
<td>Determines whether the processor shoudl automatically sleep when an ISR returns to the base-level.<br><br>
</td>
</tr>
<tr>
<td>0</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="CCR" class="panel-title">CCR - Configuration and Control Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED14</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Configuration and Control Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="22">RSVD
<br>0x0</td>
<td align="center" colspan="1">STKALIGN
<br>0x0</td>
<td align="center" colspan="1">BFHFNMIGN
<br>0x0</td>
<td align="center" colspan="3">RSVD
<br>0x0</td>
<td align="center" colspan="1">DIV0TRP
<br>0x0</td>
<td align="center" colspan="1">UNALIGNTRP
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">USERSETMPEND
<br>0x0</td>
<td align="center" colspan="1">NONBASETHRDENA
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:10</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>9</td>
<td>STKALIGN</td>
<td>RW</td>
<td>Set to force 8-byte alignment for the stack pointer.<br><br>
</td>
</tr>
<tr>
<td>8</td>
<td>BFHFNMIGN</td>
<td>RW</td>
<td>Set to ignore precise data access faults during hard fault handlers.<br><br>
</td>
</tr>
<tr>
<td>7:5</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>4</td>
<td>DIV0TRP</td>
<td>RW</td>
<td>Set to enable trapping on divide-by-zero.<br><br>
</td>
</tr>
<tr>
<td>3</td>
<td>UNALIGNTRP</td>
<td>RW</td>
<td>Set to enable trapping of unaligned word or halfword accesses.<br><br>
</td>
</tr>
<tr>
<td>2</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>1</td>
<td>USERSETMPEND</td>
<td>RW</td>
<td>Set to allow unpriveleged software to access the STIR<br><br>
</td>
</tr>
<tr>
<td>0</td>
<td>NONBASETHRDENA</td>
<td>RW</td>
<td>Set to enable the processor to enter Thread mode at an execution priority other than base level.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="SHPR1" class="panel-title">SHPR1 - System Handler Priority Register 1.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED18</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>System Handler Priority Register 1.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="8">PRI_7
<br>0x0</td>
<td align="center" colspan="8">PRI_6
<br>0x0</td>
<td align="center" colspan="8">PRI_5
<br>0x0</td>
<td align="center" colspan="8">PRI_4
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:24</td>
<td>PRI_7</td>
<td>RW</td>
<td>Reserved for priority of system handler 7.<br><br>
</td>
</tr>
<tr>
<td>23:16</td>
<td>PRI_6</td>
<td>RW</td>
<td>Priority of system handler 6, UsageFault.<br><br>
</td>
</tr>
<tr>
<td>15:8</td>
<td>PRI_5</td>
<td>RW</td>
<td>Priority of system handler 5, BusFault.<br><br>
</td>
</tr>
<tr>
<td>7:0</td>
<td>PRI_4</td>
<td>RW</td>
<td>Priority of system handler 4, MemManage.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="SHPR2" class="panel-title">SHPR2 - System Handler Priority Register 2.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED1C</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>System Handler Priority Register 2.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="8">PRI_11
<br>0x0</td>
<td align="center" colspan="8">PRI_10
<br>0x0</td>
<td align="center" colspan="8">PRI_9
<br>0x0</td>
<td align="center" colspan="8">PRI_8
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:24</td>
<td>PRI_11</td>
<td>RW</td>
<td>Priority of system handler 11, SVCall.<br><br>
</td>
</tr>
<tr>
<td>23:16</td>
<td>PRI_10</td>
<td>RW</td>
<td>Reserved for priority of system handler 10.<br><br>
</td>
</tr>
<tr>
<td>15:8</td>
<td>PRI_9</td>
<td>RW</td>
<td>Reserved for priority of system handler 9.<br><br>
</td>
</tr>
<tr>
<td>7:0</td>
<td>PRI_8</td>
<td>RW</td>
<td>Reserved for priority of system handler 8.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="SHPR3" class="panel-title">SHPR3 - System Handler Priority Register 3.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED20</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>System Handler Priority Register 3.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="8">PRI_15
<br>0x0</td>
<td align="center" colspan="8">PRI_14
<br>0x0</td>
<td align="center" colspan="8">PRI_13
<br>0x0</td>
<td align="center" colspan="8">PRI_12
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:24</td>
<td>PRI_15</td>
<td>RW</td>
<td>Priority of system handler 15, SysTick.<br><br>
</td>
</tr>
<tr>
<td>23:16</td>
<td>PRI_14</td>
<td>RW</td>
<td>Priority of system handler 14, PendSV.<br><br>
</td>
</tr>
<tr>
<td>15:8</td>
<td>PRI_13</td>
<td>RW</td>
<td>Reserved for priority of system handler 13.<br><br>
</td>
</tr>
<tr>
<td>7:0</td>
<td>PRI_12</td>
<td>RW</td>
<td>Priority of system handler 12, DebugMonitor.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="SHCSR" class="panel-title">SHCSR - System Handler Control and State Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED24</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>System Handler Control and State Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="13">RSVD
<br>0x0</td>
<td align="center" colspan="1">USAGEFAULTENA
<br>0x0</td>
<td align="center" colspan="1">BUSFAULTENA
<br>0x0</td>
<td align="center" colspan="1">MEMFAULTENA
<br>0x0</td>
<td align="center" colspan="1">SVCALLPENDED
<br>0x0</td>
<td align="center" colspan="1">BUSFAULTPENDED
<br>0x0</td>
<td align="center" colspan="1">MEMFAULTPENDED
<br>0x0</td>
<td align="center" colspan="1">USGFAULTPENDED
<br>0x0</td>
<td align="center" colspan="1">SYSTICKACT
<br>0x0</td>
<td align="center" colspan="1">PENDSVACT
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">MONITORACT
<br>0x0</td>
<td align="center" colspan="1">SVCALLACT
<br>0x0</td>
<td align="center" colspan="3">RSVD
<br>0x0</td>
<td align="center" colspan="1">USGFAULTACT
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">BUSFAULTACT
<br>0x0</td>
<td align="center" colspan="1">MEMFAULTACT
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:19</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>18</td>
<td>USAGEFAULTENA</td>
<td>RW</td>
<td>Set to enable UsageFault.<br><br>
</td>
</tr>
<tr>
<td>17</td>
<td>BUSFAULTENA</td>
<td>RW</td>
<td>Set to enable BusFault.<br><br>
</td>
</tr>
<tr>
<td>16</td>
<td>MEMFAULTENA</td>
<td>RW</td>
<td>Set to enable MemManageFault.<br><br>
</td>
</tr>
<tr>
<td>15</td>
<td>SVCALLPENDED</td>
<td>RW</td>
<td>Set to pend the SVCall exception.<br><br>
</td>
</tr>
<tr>
<td>14</td>
<td>BUSFAULTPENDED</td>
<td>RW</td>
<td>Set to pend the BusFault exception.<br><br>
</td>
</tr>
<tr>
<td>13</td>
<td>MEMFAULTPENDED</td>
<td>RW</td>
<td>Set to pend the MemManageFault exception.<br><br>
</td>
</tr>
<tr>
<td>12</td>
<td>USGFAULTPENDED</td>
<td>RW</td>
<td>Set to pend the UsageFault exception.<br><br>
</td>
</tr>
<tr>
<td>11</td>
<td>SYSTICKACT</td>
<td>RW</td>
<td>Set when SysTick is active.<br><br>
</td>
</tr>
<tr>
<td>10</td>
<td>PENDSVACT</td>
<td>RW</td>
<td>Set when PendSV is active.<br><br>
</td>
</tr>
<tr>
<td>9</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>8</td>
<td>MONITORACT</td>
<td>RW</td>
<td>Set when Monitor is active.<br><br>
</td>
</tr>
<tr>
<td>7</td>
<td>SVCALLACT</td>
<td>RW</td>
<td>Set when SVCall is active.<br><br>
</td>
</tr>
<tr>
<td>6:4</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>3</td>
<td>USGFAULTACT</td>
<td>RW</td>
<td>Set when UsageFault is active.<br><br>
</td>
</tr>
<tr>
<td>2</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>1</td>
<td>BUSFAULTACT</td>
<td>RW</td>
<td>Set when BusFault is active.<br><br>
</td>
</tr>
<tr>
<td>0</td>
<td>MEMFAULTACT</td>
<td>RW</td>
<td>Set when MemManageFault is active.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="CFSR" class="panel-title">CFSR - Configurable Fault Status Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED28</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Configurable Fault Status Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="6">RSVD
<br>0x0</td>
<td align="center" colspan="1">DIVBYZERO
<br>0x0</td>
<td align="center" colspan="1">UNALIGNED
<br>0x0</td>
<td align="center" colspan="4">RSVD
<br>0x0</td>
<td align="center" colspan="1">NOCP
<br>0x0</td>
<td align="center" colspan="1">INVPC
<br>0x0</td>
<td align="center" colspan="1">INVSTATE
<br>0x0</td>
<td align="center" colspan="1">UNDEFINSTR
<br>0x0</td>
<td align="center" colspan="1">BFARVALID
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">LSPERR
<br>0x0</td>
<td align="center" colspan="1">STKERR
<br>0x0</td>
<td align="center" colspan="1">UNSTKERR
<br>0x0</td>
<td align="center" colspan="1">IMPRECISERR
<br>0x0</td>
<td align="center" colspan="1">PRECISERR
<br>0x0</td>
<td align="center" colspan="1">IBUSERR
<br>0x0</td>
<td align="center" colspan="1">MMARVALID
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">MLSPERR
<br>0x0</td>
<td align="center" colspan="1">MSTKERR
<br>0x0</td>
<td align="center" colspan="1">MUNSTKER
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">DACCVIOL
<br>0x0</td>
<td align="center" colspan="1">IACCVIOL
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:26</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>25</td>
<td>DIVBYZERO</td>
<td>RW</td>
<td>Divide by zero error has occurred.<br><br>
</td>
</tr>
<tr>
<td>24</td>
<td>UNALIGNED</td>
<td>RW</td>
<td>Unaligned access error has occurred.<br><br>
</td>
</tr>
<tr>
<td>23:20</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>19</td>
<td>NOCP</td>
<td>RW</td>
<td>A coprocessor access error has occurred.<br><br>
</td>
</tr>
<tr>
<td>18</td>
<td>INVPC</td>
<td>RW</td>
<td>An integrity check error has occurred on EXC_RETURN.<br><br>
</td>
</tr>
<tr>
<td>17</td>
<td>INVSTATE</td>
<td>RW</td>
<td>Instruction executed with invalid EPSR.T or EPSR.IT field.<br><br>
</td>
</tr>
<tr>
<td>16</td>
<td>UNDEFINSTR</td>
<td>RW</td>
<td>Processor attempted to execute an undefined instruction.<br><br>
</td>
</tr>
<tr>
<td>15</td>
<td>BFARVALID</td>
<td>RW</td>
<td>BFAR has valid contents.<br><br>
</td>
</tr>
<tr>
<td>14</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>13</td>
<td>LSPERR</td>
<td>RW</td>
<td>A bus fault occurred during FP lazy state preservation.<br><br>
</td>
</tr>
<tr>
<td>12</td>
<td>STKERR</td>
<td>RW</td>
<td>A derived bus fault has occurred on exception entry.<br><br>
</td>
</tr>
<tr>
<td>11</td>
<td>UNSTKERR</td>
<td>RW</td>
<td>A derived bus fault has occurred on exception return.<br><br>
</td>
</tr>
<tr>
<td>10</td>
<td>IMPRECISERR</td>
<td>RW</td>
<td>Imprecise data access error has occurred.<br><br>
</td>
</tr>
<tr>
<td>9</td>
<td>PRECISERR</td>
<td>RW</td>
<td>A precise data access has occurrred. The faulting address is in BFAR.<br><br>
</td>
</tr>
<tr>
<td>8</td>
<td>IBUSERR</td>
<td>RW</td>
<td>A bus fault on an instruction prefetch has occurred.<br><br>
</td>
</tr>
<tr>
<td>7</td>
<td>MMARVALID</td>
<td>RW</td>
<td>MMAR has valid contents.<br><br>
</td>
</tr>
<tr>
<td>6</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>5</td>
<td>MLSPERR</td>
<td>RW</td>
<td>MemManage fault occurred during FP lazy state preservation.<br><br>
</td>
</tr>
<tr>
<td>4</td>
<td>MSTKERR</td>
<td>RW</td>
<td>Derived MemManage fault occurred on exception entry.<br><br>
</td>
</tr>
<tr>
<td>3</td>
<td>MUNSTKER</td>
<td>RW</td>
<td>Derived MemManage fault occurred on exception return.<br><br>
</td>
</tr>
<tr>
<td>2</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>1</td>
<td>DACCVIOL</td>
<td>RW</td>
<td>Data access violation. Address is in MMAR.<br><br>
</td>
</tr>
<tr>
<td>0</td>
<td>IACCVIOL</td>
<td>RW</td>
<td>MPU or Execute Never default memory map access violation.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="HFSR" class="panel-title">HFSR - Hard Fault Status Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED2C</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Hard Fault Status Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="1">DEBUGEVT
<br>0x0</td>
<td align="center" colspan="1">FORCED
<br>0x0</td>
<td align="center" colspan="28">RSVD
<br>0x0</td>
<td align="center" colspan="1">VECTTBL
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31</td>
<td>DEBUGEVT</td>
<td>RW</td>
<td>Debug event has occurred.<br><br>
</td>
</tr>
<tr>
<td>30</td>
<td>FORCED</td>
<td>RW</td>
<td>Processor has elevated a configurable-priority fault to a HardFault.<br><br>
</td>
</tr>
<tr>
<td>29:2</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>1</td>
<td>VECTTBL</td>
<td>RW</td>
<td>Vector table read fault has occurred.<br><br>
</td>
</tr>
<tr>
<td>0</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="MMFAR" class="panel-title">MMFAR - MemManage Fault Address Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED34</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>MemManage Fault Address Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="32">ADDRESS
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:0</td>
<td>ADDRESS</td>
<td>RW</td>
<td>Address of the memory location that caused an MMU fault.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="BFAR" class="panel-title">BFAR - Bus Fault Address Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED38</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Bus Fault Address Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="32">ADDRESS
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:0</td>
<td>ADDRESS</td>
<td>RW</td>
<td>Address of the memory location that caused an Bus fault.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="CPACR" class="panel-title">CPACR - Coprocessor Access Control Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000ED88</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Coprocessor Access Control Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="8">RSVD
<br>0x0</td>
<td align="center" colspan="2">CP11
<br>0x0</td>
<td align="center" colspan="2">CP10
<br>0x0</td>
<td align="center" colspan="20">RSVD
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:24</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>23:22</td>
<td>CP11</td>
<td>RW</td>
<td>Access priveleges for the Floating point unit. Must always match CP10.<br><br>
</td>
</tr>
<tr>
<td>21:20</td>
<td>CP10</td>
<td>RW</td>
<td>Access priveleges for the Floating point unit. Must always match CP11.<br><br>
</td>
</tr>
<tr>
<td>19:0</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="DEMCR" class="panel-title">DEMCR - Debug Exception and Monitor Control Register</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EDFC</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Debug Exception and Monitor Control Register</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="7">RSVD
<br>0x0</td>
<td align="center" colspan="1">TRCENA
<br>0x0</td>
<td align="center" colspan="24">RSVD
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:25</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>24</td>
<td>TRCENA</td>
<td>RW</td>
<td>Global enable for all DWT and ITM features.<br><br>
</td>
</tr>
<tr>
<td>23:0</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="STIR" class="panel-title">STIR - Software Triggered Interrupt Register</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EF00</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Software Triggered Interrupt Register</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="32">INTID
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:0</td>
<td>INTID</td>
<td>RW</td>
<td>Vector number of the interrupt that should be triggered.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="FPCCR" class="panel-title">FPCCR - Floating-Point Context Control Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EF34</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Floating-Point Context Control Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="1">ASPEN
<br>0x0</td>
<td align="center" colspan="1">LSPEN
<br>0x0</td>
<td align="center" colspan="21">RSVD
<br>0x0</td>
<td align="center" colspan="1">MONRDY
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">BFRDY
<br>0x0</td>
<td align="center" colspan="1">MMRDY
<br>0x0</td>
<td align="center" colspan="1">HFRDY
<br>0x0</td>
<td align="center" colspan="1">THREAD
<br>0x0</td>
<td align="center" colspan="1">RSVD
<br>0x0</td>
<td align="center" colspan="1">USER
<br>0x0</td>
<td align="center" colspan="1">LSPACT
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31</td>
<td>ASPEN</td>
<td>RW</td>
<td>Set to enable automatic saving of FP registers on exception entry.<br><br>
</td>
</tr>
<tr>
<td>30</td>
<td>LSPEN</td>
<td>RW</td>
<td>Set to enable lazy context saving of FP registers on exception entry.<br><br>
</td>
</tr>
<tr>
<td>29:9</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>8</td>
<td>MONRDY</td>
<td>RW</td>
<td>Able to set DebugMonitor exception to pending on last FP stack allocation.<br><br>
</td>
</tr>
<tr>
<td>7</td>
<td>RSVD</td>
<td>RW</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>6</td>
<td>BFRDY</td>
<td>RW</td>
<td>Able to set BusFault exception to pending on last FP stack allocation.<br><br>
</td>
</tr>
<tr>
<td>5</td>
<td>MMRDY</td>
<td>RW</td>
<td>Able to set MemManage exception to pending on last FP stack allocation.<br><br>
</td>
</tr>
<tr>
<td>4</td>
<td>HFRDY</td>
<td>RW</td>
<td>Able to set HardFault exception to pending on last FP stack allocation.<br><br>
</td>
</tr>
<tr>
<td>3</td>
<td>THREAD</td>
<td>RW</td>
<td>Running from Thread mode on last FP stack allocation.<br><br>
</td>
</tr>
<tr>
<td>2</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>1</td>
<td>USER</td>
<td>RW</td>
<td>Running from unprivileged mode on last FP stack allocation.<br><br>
</td>
</tr>
<tr>
<td>0</td>
<td>LSPACT</td>
<td>RW</td>
<td>Lazy state preservation is active.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="FPCAR" class="panel-title">FPCAR - Floating-Point Context Address Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EF38</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Floating-Point Context Address Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="32">ADDRESS
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:0</td>
<td>ADDRESS</td>
<td>RW</td>
<td>Address of the unpopulated floating-point register space allocated on the exception stack frame.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 id="FPDSCR" class="panel-title">FPDSCR - Floating-Point Default Status Control Register.</h3>
</div>
<div class="panel-body">
<h3>Address:</h3>
<table style="margin:10px">
<tr id="row_0_0_">
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">Instance 0 Address:</span>
</td>
<td class="entry">
<span style="width:32px;display:inline-block;">&#160;</span>
<span class="h5">0xE000EF3C</span>
</td>
</tr>
</table>
<h3>Description:</h3>
<p>Floating-Point Default Status Control Register.</p>
<h3>Example Macro Usage:</h3>
<pre style="margin:10px" class="language-pascal"><span style='color:#3f7f59; '>//
// All macro-based register writes follow the same basic format. For
// single-instance modules, you may use the simpler AM_REG macro. For
// multi-instance macros, you will need to specify the instance number using
// the AM_REGn macro format.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
// AM_REGn(&lt;MODULE&gt;, &lt;INSTANCE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;_&lt;VALUE&gt;;
//
// For registers that do not have specific enumeration values, you may use this alternate format instead.
//
// AM_REG(&lt;MODULE&gt;, &lt;REGISTER&gt;) |= AM_REG_&lt;MODULE&gt;_&lt;REGISTER&gt;_&lt;FIELD&gt;(&lt;NUMBER&gt;);
//
// For example, the following three lines of code are equivalent methods of
// writing the value for 12MHZ to the CLKSEL field in the ADC_CFG register.
//</span>
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REGn(ADC, 0, CFG) |= AM_REG_ADC_CFG_CLKSEL_12MHZ;
AM_REG(ADC, CFG) |= AM_REG_ADC_CFG_CLKSEL(0x1);</pre>
<h3>Register Fields:</h3>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>31</th>
<th>30</th>
<th>29</th>
<th>28</th>
<th>27</th>
<th>26</th>
<th>25</th>
<th>24</th>
<th>23</th>
<th>22</th>
<th>21</th>
<th>20</th>
<th>19</th>
<th>18</th>
<th>17</th>
<th>16</th>
<th>15</th>
<th>14</th>
<th>13</th>
<th>12</th>
<th>11</th>
<th>10</th>
<th>9</th>
<th>8</th>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan="5">RSVD
<br>0x0</td>
<td align="center" colspan="1">AHP
<br>0x0</td>
<td align="center" colspan="1">DN
<br>0x0</td>
<td align="center" colspan="1">FZ
<br>0x0</td>
<td align="center" colspan="2">RMODE
<br>0x0</td>
<td align="center" colspan="22">RSVD
<br>0x0</td>
</tr>
</tbody>
</table>
<br>
<table style="margin:10px" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Bits</th>
<th>Name</th>
<th>RW</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>31:27</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
<tr>
<td>26</td>
<td>AHP</td>
<td>RW</td>
<td>Default value for FPSCR.AHP.<br><br>
</td>
</tr>
<tr>
<td>25</td>
<td>DN</td>
<td>RW</td>
<td>Default value for FPSCR.DN.<br><br>
</td>
</tr>
<tr>
<td>24</td>
<td>FZ</td>
<td>RW</td>
<td>Default value for FPSCR.FZ.<br><br>
</td>
</tr>
<tr>
<td>23:22</td>
<td>RMODE</td>
<td>RW</td>
<td>Default value for FPSCR.RMode.<br><br>
</td>
</tr>
<tr>
<td>21:0</td>
<td>RSVD</td>
<td>RO</td>
<td>RESERVED.<br><br>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
</body>
<hr size="1">
<body>
<div id="footer" align="right">
<small>
AmbiqSuite Register Documentation&nbsp;
<a href="http://www.ambiqmicro.com">
<img class="footer" src="../resources/ambiqmicro_logo.png" alt="Ambiq Micro"/></a>&nbsp&nbsp Copyright &copy; 2014&nbsp&nbsp<br />
This documentation is licensed and distributed under the <a rel="license" href="http://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</a>.&nbsp&nbsp<br/>
</small>
</div>
</body>
</html>