Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > 53cdef6e32fa82d27e145245880bbaa9 > files > 18

avr-libc-docs-1.7.1-13.mga7.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    <title>avr-libc: boot.h File Reference</title>
    <link href="dox.css" rel="stylesheet" type="text/css">
  </head>
<body>
<center>
<table width="80%">
  <tr>
    <td align="left"><a href="http://www.nongnu.org/avr-libc/">AVR Libc Home Page</a></td>
    <td align="center" colspan=4><img src="avrs.png" alt="AVRs" align="middle" border="0"></td>
    <td align="right"><a href="https://savannah.nongnu.org/projects/avr-libc/">AVR Libc Development Pages</a></td>
  </tr>
  <tr>
    <td align="center" width="13%"><a href="index.html">Main Page</a></td>
    <td align="center" width="13%"><a href="pages.html">User Manual</a></td>
    <td align="center" width="13%"><a href="modules.html">Library Reference</a></td>
    <td align="center" width="13%"><a href="FAQ.html">FAQ</a></td>
    <td align="center" width="13%"><a href="globals.html">Alphabetical Index</a></td>
    <td align="center" width="13%"><a href="group__demos.html">Example Projects</a></td>
  </tr>
</table>
</center>
<hr width="80%">
<!-- Generated by Doxygen 1.7.2 -->
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a>  </div>
  <div class="headertitle">
<h1>boot.h File Reference</h1>  </div>
</div>
<div class="contents">

<p><a href="boot_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga8a60eb0985d40ff71c42bb18f0f5789e">BOOTLOADER_SECTION</a>&#160;&#160;&#160;__attribute__ ((section (&quot;.bootloader&quot;)))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a417fdfe10bd6f57a586226a4d70bdfd7"></a><!-- doxytag: member="boot.h::__COMMON_ASB" ref="a417fdfe10bd6f57a586226a4d70bdfd7" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__COMMON_ASB</b>&#160;&#160;&#160;RWWSB</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada1dd04496c0be43e587298ce0125a17"></a><!-- doxytag: member="boot.h::__COMMON_ASRE" ref="ada1dd04496c0be43e587298ce0125a17" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__COMMON_ASRE</b>&#160;&#160;&#160;RWWSRE</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab4f27d4987cc0270f6bfeb92c1d14ae"></a><!-- doxytag: member="boot.h::BLB12" ref="aab4f27d4987cc0270f6bfeb92c1d14ae" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>BLB12</b>&#160;&#160;&#160;5</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50edc371d0af8d259ea023b633925113"></a><!-- doxytag: member="boot.h::BLB11" ref="a50edc371d0af8d259ea023b633925113" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>BLB11</b>&#160;&#160;&#160;4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0f9afa7cbd77075ce25ad1725a29a2d"></a><!-- doxytag: member="boot.h::BLB02" ref="ac0f9afa7cbd77075ce25ad1725a29a2d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>BLB02</b>&#160;&#160;&#160;3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04ae036a5a8fbdd5a8fc5a6ec2c7339a"></a><!-- doxytag: member="boot.h::BLB01" ref="a04ae036a5a8fbdd5a8fc5a6ec2c7339a" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>BLB01</b>&#160;&#160;&#160;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga072040fce54f112355cb9ebf9ce41dd7">boot_spm_interrupt_enable</a>()&#160;&#160;&#160;(__SPM_REG |= (<a class="el" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)_BV(SPMIE))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gaf1e01d09c839793a6c0c990b1c5ae8b3">boot_spm_interrupt_disable</a>()&#160;&#160;&#160;(__SPM_REG &amp;= (<a class="el" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)~_BV(SPMIE))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gacd6843d51a4fa7d68f3c4bc5aa393a3e">boot_is_spm_interrupt</a>()&#160;&#160;&#160;(__SPM_REG &amp; (<a class="el" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)_BV(SPMIE))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gaaba5a29359af671a37bccaa6a77bca7c">boot_rww_busy</a>()&#160;&#160;&#160;(__SPM_REG &amp; (<a class="el" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)_BV(__COMMON_ASB))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gae50dc01180110f30093a92fe64fe1565">boot_spm_busy</a>()&#160;&#160;&#160;(__SPM_REG &amp; (<a class="el" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)_BV(__SPM_ENABLE))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga24900c15109e8b419736d4b81b093fb8">boot_spm_busy_wait</a>()&#160;&#160;&#160;do{}while(boot_spm_busy())</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21c0241a6cb8118cded320e66cc90560"></a><!-- doxytag: member="boot.h::__BOOT_PAGE_ERASE" ref="a21c0241a6cb8118cded320e66cc90560" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__BOOT_PAGE_ERASE</b>&#160;&#160;&#160;(_BV(__SPM_ENABLE) | _BV(PGERS))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c8e46cf66a0d11d769d19a2bed8b629"></a><!-- doxytag: member="boot.h::__BOOT_PAGE_WRITE" ref="a4c8e46cf66a0d11d769d19a2bed8b629" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__BOOT_PAGE_WRITE</b>&#160;&#160;&#160;(_BV(__SPM_ENABLE) | _BV(PGWRT))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0188e67d3acdcd85622f5b76030af293"></a><!-- doxytag: member="boot.h::__BOOT_PAGE_FILL" ref="a0188e67d3acdcd85622f5b76030af293" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__BOOT_PAGE_FILL</b>&#160;&#160;&#160;_BV(__SPM_ENABLE)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af377d8a2a7d70cc3706792c5ee1fb050"></a><!-- doxytag: member="boot.h::__BOOT_RWW_ENABLE" ref="af377d8a2a7d70cc3706792c5ee1fb050" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__BOOT_RWW_ENABLE</b>&#160;&#160;&#160;(_BV(__SPM_ENABLE) | _BV(__COMMON_ASRE))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_fill_normal</b>(address, data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_fill_alternate</b>(address, data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_fill_extended</b>(address, data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_erase_normal</b>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_erase_alternate</b>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_erase_extended</b>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_write_normal</b>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_write_alternate</b>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_page_write_extended</b>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_rww_enable</b>()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_rww_enable_alternate</b>()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_lock_bits_set</b>(lock_bits)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__boot_lock_bits_set_alternate</b>(lock_bits)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gac68c37ecf2354ba2af6e08379d65899f">GET_LOW_FUSE_BITS</a>&#160;&#160;&#160;(0x0000)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gae12d288a22cfbfa9d0cde12b1a779bfe">GET_LOCK_BITS</a>&#160;&#160;&#160;(0x0001)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gaf08aabaebbd69da659357f402d4d28ce">GET_EXTENDED_FUSE_BITS</a>&#160;&#160;&#160;(0x0002)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga44e70c9662e7ac06484144c15bc69aea">GET_HIGH_FUSE_BITS</a>&#160;&#160;&#160;(0x0003)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gad2cbdea59ffec2e77ee2e63106459797">boot_lock_fuse_bits_get</a>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20e2e9e36dec4bf39be5228a0c9c600e"></a><!-- doxytag: member="boot.h::__BOOT_SIGROW_READ" ref="a20e2e9e36dec4bf39be5228a0c9c600e" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__BOOT_SIGROW_READ</b>&#160;&#160;&#160;(_BV(__SPM_ENABLE) | _BV(SIGRD))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gaf375d2543ba38dc56697b4f4bc37a717">boot_signature_byte_get</a>(addr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga61add108c778273ff68233d044c3acca">boot_page_fill</a>(address, data)&#160;&#160;&#160;__boot_page_fill_normal(address, data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga7249d12e06789cd306583abf7def8176">boot_page_erase</a>(address)&#160;&#160;&#160;__boot_page_erase_normal(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga013d6d8c679ebdbc0e5fac179c38c9aa">boot_page_write</a>(address)&#160;&#160;&#160;__boot_page_write_normal(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga8d2baaca2991318e0b06fdf9a5264923">boot_rww_enable</a>()&#160;&#160;&#160;__boot_rww_enable()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gadaa352690ac1c82c535da9d8faf77590">boot_lock_bits_set</a>(lock_bits)&#160;&#160;&#160;__boot_lock_bits_set(lock_bits)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga3f549e2ef9ca0f119a7070064c4dc372">boot_page_fill_safe</a>(address, data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga5c345350a2fb349619b859dcf0dc0466">boot_page_erase_safe</a>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#ga107ad4c789e5c498062947d394ed98d5">boot_page_write_safe</a>(address)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gaeb0dba1dd9d338516a94c0bd8a8db78a">boot_rww_enable_safe</a>()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__avr__boot.html#gac80bd4f863ff7645204adb0eda3556ea">boot_lock_bits_set_safe</a>(lock_bits)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a7c8625ea47a1bd97442cc882d09c0ed8"></a><!-- doxytag: member="boot.h::__boot_lock_bits_set" ref="a7c8625ea47a1bd97442cc882d09c0ed8" args="(lock_bits)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_lock_bits_set</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">lock_bits&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                           \
    <a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> value = (<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(~(lock_bits));               \
    __asm__ __volatile__                                   \
    (                                                      \
        <span class="stringliteral">&quot;ldi r30, 1\n\t&quot;</span>                                   \
        <span class="stringliteral">&quot;ldi r31, 0\n\t&quot;</span>                                   \
        <span class="stringliteral">&quot;mov r0, %2\n\t&quot;</span>                                   \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                                   \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                          \
        :                                                  \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),                  \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_LOCK_BITS_SET)),           \
          <span class="stringliteral">&quot;r&quot;</span> (value)                                      \
        : <span class="stringliteral">&quot;r0&quot;</span>, <span class="stringliteral">&quot;r30&quot;</span>, <span class="stringliteral">&quot;r31&quot;</span>                               \
    );                                                     \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a8832a715caf71cd7ef5fb1a944934f25"></a><!-- doxytag: member="boot.h::__boot_lock_bits_set_alternate" ref="a8832a715caf71cd7ef5fb1a944934f25" args="(lock_bits)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_lock_bits_set_alternate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">lock_bits&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                           \
    <a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> value = (<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(~(lock_bits));               \
    __asm__ __volatile__                                   \
    (                                                      \
        <span class="stringliteral">&quot;ldi r30, 1\n\t&quot;</span>                                   \
        <span class="stringliteral">&quot;ldi r31, 0\n\t&quot;</span>                                   \
        <span class="stringliteral">&quot;mov r0, %2\n\t&quot;</span>                                   \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                                   \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                          \
        <span class="stringliteral">&quot;.word 0xffff\n\t&quot;</span>                                 \
        <span class="stringliteral">&quot;nop\n\t&quot;</span>                                          \
        :                                                  \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),                  \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_LOCK_BITS_SET)),           \
          <span class="stringliteral">&quot;r&quot;</span> (value)                                      \
        : <span class="stringliteral">&quot;r0&quot;</span>, <span class="stringliteral">&quot;r30&quot;</span>, <span class="stringliteral">&quot;r31&quot;</span>                               \
    );                                                     \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a3e55b284bd76afd73af1616de8df7b12"></a><!-- doxytag: member="boot.h::__boot_page_erase_alternate" ref="a3e55b284bd76afd73af1616de8df7b12" args="(address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_erase_alternate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        <span class="stringliteral">&quot;.word 0xffff\n\t&quot;</span>                       \
        <span class="stringliteral">&quot;nop\n\t&quot;</span>                                \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_ERASE)),    \
          <span class="stringliteral">&quot;z&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(address))              \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a93a9fe1407566a32fea1fb37277f7c46"></a><!-- doxytag: member="boot.h::__boot_page_erase_extended" ref="a93a9fe1407566a32fea1fb37277f7c46" args="(address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_erase_extended</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;movw r30, %A3\n\t&quot;</span>                      \
        <span class="stringliteral">&quot;sts  %1, %C3\n\t&quot;</span>                       \
        <span class="stringliteral">&quot;sts %0, %2\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(RAMPZ)),            \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_ERASE)),    \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>)(address))              \
        : <span class="stringliteral">&quot;r30&quot;</span>, <span class="stringliteral">&quot;r31&quot;</span>                           \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="ae7acb437e564500a9fa900ca9d52b976"></a><!-- doxytag: member="boot.h::__boot_page_erase_normal" ref="ae7acb437e564500a9fa900ca9d52b976" args="(address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_erase_normal</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_ERASE)),    \
          <span class="stringliteral">&quot;z&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(address))              \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a5812a8505962f2ef5ef7a2ed6e6e8817"></a><!-- doxytag: member="boot.h::__boot_page_fill_alternate" ref="a5812a8505962f2ef5ef7a2ed6e6e8817" args="(address, data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_fill_alternate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;movw  r0, %3\n\t&quot;</span>                       \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        <span class="stringliteral">&quot;.word 0xffff\n\t&quot;</span>                       \
        <span class="stringliteral">&quot;nop\n\t&quot;</span>                                \
        <span class="stringliteral">&quot;clr  r1\n\t&quot;</span>                            \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_FILL)),     \
          <span class="stringliteral">&quot;z&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(address)),             \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(data))                 \
        : <span class="stringliteral">&quot;r0&quot;</span>                                   \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="af185608898c0e67c913fd900d9d5b1bd"></a><!-- doxytag: member="boot.h::__boot_page_fill_extended" ref="af185608898c0e67c913fd900d9d5b1bd" args="(address, data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_fill_extended</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;movw  r0, %4\n\t&quot;</span>                       \
        <span class="stringliteral">&quot;movw r30, %A3\n\t&quot;</span>                      \
        <span class="stringliteral">&quot;sts %1, %C3\n\t&quot;</span>                        \
        <span class="stringliteral">&quot;sts %0, %2\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        <span class="stringliteral">&quot;clr  r1\n\t&quot;</span>                            \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(RAMPZ)),            \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_FILL)),     \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>)(address)),             \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(data))                 \
        : <span class="stringliteral">&quot;r0&quot;</span>, <span class="stringliteral">&quot;r30&quot;</span>, <span class="stringliteral">&quot;r31&quot;</span>                     \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a26dd86a7f6a2188d5b3a9bf4e82e4858"></a><!-- doxytag: member="boot.h::__boot_page_fill_normal" ref="a26dd86a7f6a2188d5b3a9bf4e82e4858" args="(address, data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_fill_normal</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;movw  r0, %3\n\t&quot;</span>                       \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        <span class="stringliteral">&quot;clr  r1\n\t&quot;</span>                            \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_FILL)),     \
          <span class="stringliteral">&quot;z&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(address)),             \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(data))                 \
        : <span class="stringliteral">&quot;r0&quot;</span>                                   \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a187759514e2cca302aeb49218197f942"></a><!-- doxytag: member="boot.h::__boot_page_write_alternate" ref="a187759514e2cca302aeb49218197f942" args="(address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_write_alternate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        <span class="stringliteral">&quot;.word 0xffff\n\t&quot;</span>                       \
        <span class="stringliteral">&quot;nop\n\t&quot;</span>                                \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_WRITE)),    \
          <span class="stringliteral">&quot;z&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(address))              \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a914c8d5a7da95cdc8349978bb16bb6b3"></a><!-- doxytag: member="boot.h::__boot_page_write_extended" ref="a914c8d5a7da95cdc8349978bb16bb6b3" args="(address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_write_extended</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;movw r30, %A3\n\t&quot;</span>                      \
        <span class="stringliteral">&quot;sts %1, %C3\n\t&quot;</span>                        \
        <span class="stringliteral">&quot;sts %0, %2\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(RAMPZ)),            \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_WRITE)),    \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>)(address))              \
        : <span class="stringliteral">&quot;r30&quot;</span>, <span class="stringliteral">&quot;r31&quot;</span>                           \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a86207caca9e59b3f75a9fa35cdc1db69"></a><!-- doxytag: member="boot.h::__boot_page_write_normal" ref="a86207caca9e59b3f75a9fa35cdc1db69" args="(address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_page_write_normal</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">address&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_PAGE_WRITE)),    \
          <span class="stringliteral">&quot;z&quot;</span> ((<a class="code" href="group__avr__stdint.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>)(address))              \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="a40eea0e0df507db61a60989581ac1064"></a><!-- doxytag: member="boot.h::__boot_rww_enable" ref="a40eea0e0df507db61a60989581ac1064" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_rww_enable</td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_RWW_ENABLE))     \
    );                                           \
}))
</pre></div>
</div>
</div>
<a class="anchor" id="ad5bbc23219154d8bb707dc83adeda97b"></a><!-- doxytag: member="boot.h::__boot_rww_enable_alternate" ref="ad5bbc23219154d8bb707dc83adeda97b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __boot_rww_enable_alternate</td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(__extension__({                                 \
    __asm__ __volatile__                         \
    (                                            \
        <span class="stringliteral">&quot;sts %0, %1\n\t&quot;</span>                         \
        <span class="stringliteral">&quot;spm\n\t&quot;</span>                                \
        <span class="stringliteral">&quot;.word 0xffff\n\t&quot;</span>                       \
        <span class="stringliteral">&quot;nop\n\t&quot;</span>                                \
        :                                        \
        : <span class="stringliteral">&quot;i&quot;</span> (_SFR_MEM_ADDR(__SPM_REG)),        \
          <span class="stringliteral">&quot;r&quot;</span> ((<a class="code" href="group__avr__stdint.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(__BOOT_RWW_ENABLE))     \
    );                                           \
}))
</pre></div>
</div>
</div>
</div>

<hr width="80%">
<p><center>Automatically generated by Doxygen 1.7.2 on Wed Feb 16 2011.</center></p>

</body>
</html>