📄 at91sam7se512_efc.html
字号:
<html><head>
<meta charset="iso-8859-1" content="Arm / ATMEL/ AT91 library / AT91SAM7SE512" http-equiv="Content-Type">
<title>Hardware API Selector: AT91SAM7SE512 Definitions</title>
</head>
<h1>Embedded Flash Controller Interface Peripheral</h1>
<null><a name="EFC0"></a><b>EFC0</b> <i><font size="-1">(<a href="AT91SAM7SE512_h.html#AT91S_EFC">AT91S_EFC</a>)</font></i><b> 0xFFFFFF60 </b><i><font size="-1">(<a href="AT91SAM7SE512_h.html#AT91C_BASE_EFC0">AT91C_BASE_EFC0</a>)</font></i>
<br><a name="EFC1"></a><b>EFC1</b> <i><font size="-1">(<a href="AT91SAM7SE512_h.html#AT91S_EFC">AT91S_EFC</a>)</font></i><b> 0xFFFFFF70 </b><i><font size="-1">(<a href="AT91SAM7SE512_h.html#AT91C_BASE_EFC1">AT91C_BASE_EFC1</a>)</font></i>
<br></null><a name="EFC"></a><h2>EFC Software API <i><font size="-1">(<a href="AT91SAM7SE512_h.html#AT91S_EFC">AT91S_EFC</a>)</font></i></h2>
<a name="EFC"></a><null><table border=1 cellpadding=0 cellspacing=0 width="100%"><null><th bgcolor="#FFFFCC"><font size="-1"><b>Offset</b></font></th><th bgcolor="#FFFFCC"><font size="-1"><b>Field</b></font></th><th bgcolor="#FFFFCC"><font size="-1"><b>Description</b></font></th>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x0</b></font></td><td><font size="-1">EFC_FMR (<a href="AT91SAM7SE512_EFC.html#MC_FMR">MC_FMR</a>)</font></td><td><font size="-1">MC Flash Mode Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x4</b></font></td><td><font size="-1">EFC_FCR (<a href="AT91SAM7SE512_EFC.html#MC_FCR">MC_FCR</a>)</font></td><td><font size="-1">MC Flash Command Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x8</b></font></td><td><font size="-1">EFC_FSR (<a href="AT91SAM7SE512_EFC.html#MC_FSR">MC_FSR</a>)</font></td><td><font size="-1">MC Flash Status Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0xC</b></font></td><td><font size="-1"><a href="#EFC_VR">EFC_VR</a></font></td><td><font size="-1">MC Flash Version Register</font></td></tr>
</null></table><br></null><h2>EFC Register Description</h2>
<null><a name="MC_FMR"></a><h4><a href="#EFC">EFC</a>: <i><a href="AT91SAM7SE512_h.html#AT91_REG">AT91_REG</a></i> MC_FMR <i>MC Flash Mode Register</i></h4><ul><null><font size="-2"><li><b>EFC0</b> <i><a href="AT91SAM7SE512_h.html#AT91C_EFC0_FMR">AT91C_EFC0_FMR</a></i> 0xFFFFFF60</font><font size="-2"><li><b>EFC1</b> <i><a href="AT91SAM7SE512_h.html#AT91C_EFC1_FMR">AT91C_EFC1_FMR</a></i> 0xFFFFFF70</font></null></ul><br>For MC_FRDY, MC_LOCKE and MC_PROGE, 0: Interrupt enabled, 1: Interrupt disabled<table border=1 cellpadding=0 cellspacing=0 width="100%"><null><th bgcolor="#FFFFCC"><b>Offset</b></th><th bgcolor="#FFFFCC"><b>Name</b></th><th bgcolor="#FFFFCC"><b>Description</b></th><tr><td align="CENTER" bgcolor="#FFFFCC">0</td><td align="CENTER"><a name="MC_FRDY"></a><b>MC_FRDY</b><font size="-2"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FRDY">AT91C_MC_FRDY</a></font></td><td><b>Flash Ready</b><br>0 = FRDY high in MC_FSR does not generate an interrupt<br>1= FRDY high in MC_FSR generates an interrupt</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">2</td><td align="CENTER"><a name="MC_LOCKE"></a><b>MC_LOCKE</b><font size="-2"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_LOCKE">AT91C_MC_LOCKE</a></font></td><td><b>Lock Error</b><br>0 = LOCKE high in MC_FSR does not generate an interrupt<br>1 = LOCKE high in MC_FSR generates an interrupt</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">3</td><td align="CENTER"><a name="MC_PROGE"></a><b>MC_PROGE</b><font size="-2"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_PROGE">AT91C_MC_PROGE</a></font></td><td><b>Programming Error</b><br>0 = PROGE high in MC_FSR does not generate an interrupt<br>1 = PROGE high in MC_FSR generates an interrupt</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">7</td><td align="CENTER"><a name="MC_NEBP"></a><b>MC_NEBP</b><font size="-2"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_NEBP">AT91C_MC_NEBP</a></font></td><td><b>No Erase Before Programming</b><br>0: A page erase is performed before programming.<br>1: No erase is performed before programming.</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">9..8</td><td align="CENTER"><a name="MC_FWS"></a><b>MC_FWS</b><font size="-2"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FWS">AT91C_MC_FWS</a></font></td><td><b>Flash Wait State</b><br>This field defines the number of wait states for read and write operations.<font size="-1"><table bgcolor="#E3F2FF" border=1 cellpadding=0 cellspacing=0 width="100%"><null><th><b>Value</b></th><th><b>Label</b></th><th><b>Description</b></th><tr><td align="CENTER">0</td><td align="CENTER"><a name="MC_FWS_0FWS"></a><b>MC_FWS_0FWS</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FWS_0FWS">AT91C_MC_FWS_0FWS</a></font></td><td><br>1 cycle for Read, 2 for Write operations</td></tr>
<tr><td align="CENTER">1</td><td align="CENTER"><a name="MC_FWS_1FWS"></a><b>MC_FWS_1FWS</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FWS_1FWS">AT91C_MC_FWS_1FWS</a></font></td><td><br>2 cycles for Read, 3 for Write operations</td></tr>
<tr><td align="CENTER">2</td><td align="CENTER"><a name="MC_FWS_2FWS"></a><b>MC_FWS_2FWS</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FWS_2FWS">AT91C_MC_FWS_2FWS</a></font></td><td><br>3 cycles for Read, 4 for Write operations</td></tr>
<tr><td align="CENTER">3</td><td align="CENTER"><a name="MC_FWS_3FWS"></a><b>MC_FWS_3FWS</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FWS_3FWS">AT91C_MC_FWS_3FWS</a></font></td><td><br>4 cycles for Read, 4 for Write operations</td></tr>
</null></table></font>
</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">23..16</td><td align="CENTER"><a name="MC_FMCN"></a><b>MC_FMCN</b><font size="-2"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FMCN">AT91C_MC_FMCN</a></font></td><td><b>Flash Microsecond Cycle Number</b><br>This field defines the number of Master Clock cycles in one microsecond.<br>The value 0 corresponds to the timings for a 33.3 kHz clock.</td></tr>
</null></table>
<a name="MC_FCR"></a><h4><a href="#EFC">EFC</a>: <i><a href="AT91SAM7SE512_h.html#AT91_REG">AT91_REG</a></i> MC_FCR <i>MC Flash Command Register</i></h4><ul><null><font size="-2"><li><b>EFC0</b> <i><a href="AT91SAM7SE512_h.html#AT91C_EFC0_FCR">AT91C_EFC0_FCR</a></i> 0xFFFFFF64</font><font size="-2"><li><b>EFC1</b> <i><a href="AT91SAM7SE512_h.html#AT91C_EFC1_FCR">AT91C_EFC1_FCR</a></i> 0xFFFFFF74</font></null></ul><table border=1 cellpadding=0 cellspacing=0 width="100%"><null><th bgcolor="#FFFFCC"><b>Offset</b></th><th bgcolor="#FFFFCC"><b>Name</b></th><th bgcolor="#FFFFCC"><b>Description</b></th><tr><td align="CENTER" bgcolor="#FFFFCC">3..0</td><td align="CENTER"><a name="MC_FCMD"></a><b>MC_FCMD</b><font size="-2"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD">AT91C_MC_FCMD</a></font></td><td><b>Flash Command</b><br>This field defines the different flash commands.<font size="-1"><table bgcolor="#E3F2FF" border=1 cellpadding=0 cellspacing=0 width="100%"><null><th><b>Value</b></th><th><b>Label</b></th><th><b>Description</b></th><tr><td align="CENTER">1</td><td align="CENTER"><a name="MC_FCMD_START_PROG"></a><b>MC_FCMD_START_PROG</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD_START_PROG">AT91C_MC_FCMD_START_PROG</a></font></td><td><br>Starts the programming of th epage specified by PAGEN.</td></tr>
<tr><td align="CENTER">2</td><td align="CENTER"><a name="MC_FCMD_LOCK"></a><b>MC_FCMD_LOCK</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD_LOCK">AT91C_MC_FCMD_LOCK</a></font></td><td><br>Starts a lock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.</td></tr>
<tr><td align="CENTER">3</td><td align="CENTER"><a name="MC_FCMD_PROG_AND_LOCK"></a><b>MC_FCMD_PROG_AND_LOCK</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD_PROG_AND_LOCK">AT91C_MC_FCMD_PROG_AND_LOCK</a></font></td><td><br>The lock sequence automatically happens after the programming sequence is completed.</td></tr>
<tr><td align="CENTER">4</td><td align="CENTER"><a name="MC_FCMD_UNLOCK"></a><b>MC_FCMD_UNLOCK</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD_UNLOCK">AT91C_MC_FCMD_UNLOCK</a></font></td><td><br>Starts an unlock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.</td></tr>
<tr><td align="CENTER">8</td><td align="CENTER"><a name="MC_FCMD_ERASE_ALL"></a><b>MC_FCMD_ERASE_ALL</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD_ERASE_ALL">AT91C_MC_FCMD_ERASE_ALL</a></font></td><td><br>Starts the erase of the entire flash.If at least a page is locked, the command is cancelled.</td></tr>
<tr><td align="CENTER">11</td><td align="CENTER"><a name="MC_FCMD_SET_GP_NVM"></a><b>MC_FCMD_SET_GP_NVM</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD_SET_GP_NVM">AT91C_MC_FCMD_SET_GP_NVM</a></font></td><td><br>Set General Purpose NVM bits.</td></tr>
<tr><td align="CENTER">13</td><td align="CENTER"><a name="MC_FCMD_CLR_GP_NVM"></a><b>MC_FCMD_CLR_GP_NVM</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD_CLR_GP_NVM">AT91C_MC_FCMD_CLR_GP_NVM</a></font></td><td><br>Clear General Purpose NVM bits.</td></tr>
<tr><td align="CENTER">15</td><td align="CENTER"><a name="MC_FCMD_SET_SECURITY"></a><b>MC_FCMD_SET_SECURITY</b><font size="-1"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_FCMD_SET_SECURITY">AT91C_MC_FCMD_SET_SECURITY</a></font></td><td><br>Set Security Bit.</td></tr>
</null></table></font>
</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">17..8</td><td align="CENTER"><a name="MC_PAGEN"></a><b>MC_PAGEN</b><font size="-2"><br><a href="AT91SAM7SE512_h.html#AT91C_MC_PAGEN">AT91C_MC_PAGEN</a></font></td><td><b>Page Number</b><br>This field defines the page/sector currently in use, whatever it is for programming, locking or unlocking.</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -