📄 self__programming_8h.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>AVR106 - C Functions for Reading and Writing to Flash Memory: Self_programming.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.5 --><div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div><h1>Self_programming.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>Atmel Corporation<p><ul><li>File : <a class="el" href="Self__programming_8h.html">Self_programming.h</a></li><li>Compiler : IAR EWAVR 2.28a / 3.10c and newer</li></ul><p><ul><li>Support mail : <a href="mailto:avr@atmel.com">avr@atmel.com</a></li></ul><p><ul><li>Supported devices : All devices with bootloaders support.</li></ul><p><ul><li>AppNote : AVR106 - C functions for reading and writing to flash memory.</li></ul><p><ul><li>Description : The file contains functions for easy reading and writing of Flash memory on parts having the "Self-programming" feature. The user functions are as follows:</li></ul><p><a class="el" href="Self__programming_8c.html#1d6ded0de0674f00a82507424c862431">ReadFlashByte()</a> <a class="el" href="Self__programming_8c.html#8b290614a2b685c107c6eed5a9db96d4">ReadFlashPage()</a> <a class="el" href="Self__programming_8c.html#37868fe819d4b22e28890f3c0d3797fa">WriteFlashByte()</a> <a class="el" href="Self__programming_8c.html#fc13c9dcc9565c691d73a8e35ea3c3b0">WriteFlashPage()</a> <a class="el" href="Self__programming_8c.html#dab3fc05882b5f5511a24d423119e003">RecoverFlash()</a><p>The remaining functions contained in this file are used by the functions listet above.<p><dl compact><dt><b>Revision</b></dt><dd>2.0 </dd></dl><dl compact><dt><b>Date</b></dt><dd>Wednesday, January 18, 2006 15:18:54 UTC </dd></dl><p>Definition in file <a class="el" href="Self__programming_8h-source.html">Self_programming.h</a>.<p><code>#include <ioavr.h></code><br><p>Include dependency graph for Self_programming.h:<p><center><img src="Self__programming_8h__incl.png" border="0" usemap="#Self_programming.h_map" alt=""></center><p>This graph shows which files directly or indirectly include this file:<p><center><img src="Self__programming_8h__dep__incl.png" border="0" usemap="#Self_programming.hdep_map" alt=""></center><map name="Self_programming.hdep_map"><area href="Self__programming_8c-source.html" shape="rect" coords="219,7,360,34" alt=""><area href="Self__programming__main_8c-source.html" shape="rect" coords="200,58,379,84" alt=""></map><p><a href="Self__programming_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#d0d1a75143c5082aa629ae78c02cb71f">__FLASH_RECOVER</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#7344bf2129730480f9e46fb7f2cb1ceb">ADR_FLASH_BUFFER</a> 0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#356b068aabf148d88bb44104bd07f6de">ADR_LIMIT_HIGH</a> FLASHEND-BOOTSECTORSIZE</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#53e0ab773e1383596056656041ceb630">ADR_LIMIT_LOW</a> 0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#a793318cfddb0dc4495be2ff0c6bb0a9">BOOTSECTORSIZE</a> 0x2000</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#946003f97ccc52d5d3b54ac0ec31bbfc">FALSE</a> 0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#d1d89ef93c516c3d36de362a540a082e">FLASH_BUFFER_FULL_ID</a> 0xAA</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#b6249f3eaad49b380d1e0a387a3fdb31">SPMControllRegister</a> SPMCSR</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#c0d83f0b82a6b30de8811e69e6d95c61">TRUE</a> 1</td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#b6f1b2644de7b0bfdbda193929167b4a">MyAddressType</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned char __flash * </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#2fcb8b22c8cdb1abe50824d192e43170">MyFlashCharPointer</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int __flash * </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#ccc9c42b0a998824046b26acfb726a7c">MyFlashIntPointer</a></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#968efe3412fbf2252905db9c760c6aff">AddressCheck</a> (<a class="el" href="Self__programming_8h.html#b6f1b2644de7b0bfdbda193929167b4a">MyAddressType</a> flashAdr)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#6c0d2f39df7714f493c214ed2ec42493">LpmReplaceSpm</a> (<a class="el" href="Self__programming_8h.html#b6f1b2644de7b0bfdbda193929167b4a">MyAddressType</a> flashAddr, unsigned char data)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#d115e127ecf9b9b686dc55a1e1e39e2c">ReadFlashByte</a> (<a class="el" href="Self__programming_8h.html#b6f1b2644de7b0bfdbda193929167b4a">MyAddressType</a> flashAdr)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#8b290614a2b685c107c6eed5a9db96d4">ReadFlashPage</a> (<a class="el" href="Self__programming_8h.html#b6f1b2644de7b0bfdbda193929167b4a">MyAddressType</a> flashStartAdr, unsigned char *dataPage)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#dab3fc05882b5f5511a24d423119e003">RecoverFlash</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#d29e91755e1d3695b74c15e89019db39">WriteBufToFlash</a> (<a class="el" href="Self__programming_8h.html#b6f1b2644de7b0bfdbda193929167b4a">MyAddressType</a> flashStartAdr)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#37868fe819d4b22e28890f3c0d3797fa">WriteFlashByte</a> (<a class="el" href="Self__programming_8h.html#b6f1b2644de7b0bfdbda193929167b4a">MyAddressType</a> flashAddr, unsigned char data)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="Self__programming_8h.html#fc13c9dcc9565c691d73a8e35ea3c3b0">WriteFlashPage</a> (<a class="el" href="Self__programming_8h.html#b6f1b2644de7b0bfdbda193929167b4a">MyAddressType</a> flashStartAdr, unsigned char *dataPage)</td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="d0d1a75143c5082aa629ae78c02cb71f"></a><!-- doxytag: member="Self_programming.h::__FLASH_RECOVER" ref="d0d1a75143c5082aa629ae78c02cb71f" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define __FLASH_RECOVER </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><p>Definition at line <a class="el" href="Self__programming_8h-source.html#l00043">43</a> of file <a class="el" href="Self__programming_8h-source.html">Self_programming.h</a>.<p>Referenced by <a class="el" href="Self__programming_8c-source.html#l00082">WriteFlashByte()</a>. </td> </tr></table><a class="anchor" name="7344bf2129730480f9e46fb7f2cb1ceb"></a><!-- doxytag: member="Self_programming.h::ADR_FLASH_BUFFER" ref="7344bf2129730480f9e46fb7f2cb1ceb" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define ADR_FLASH_BUFFER 0 </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><p>Definition at line <a class="el" href="Self__programming_8h-source.html#l00045">45</a> of file <a class="el" href="Self__programming_8h-source.html">Self_programming.h</a>.<p>Referenced by <a class="el" href="Self__programming_8c-source.html#l00207">AddressCheck()</a>, <a class="el" href="Self__programming_8c-source.html#l00178">RecoverFlash()</a>, <a class="el" href="Self__programming_8c-source.html#l00082">WriteFlashByte()</a>, and <a class="el" href="Self__programming_8c-source.html#l00130">WriteFlashPage()</a>. </td> </tr></table><a class="anchor" name="356b068aabf148d88bb44104bd07f6de"></a><!-- doxytag: member="Self_programming.h::ADR_LIMIT_HIGH" ref="356b068aabf148d88bb44104bd07f6de" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define ADR_LIMIT_HIGH FLASHEND-BOOTSECTORSIZE </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><p>Definition at line <a class="el" href="Self__programming_8h-source.html#l00050">50</a> of file <a class="el" href="Self__programming_8h-source.html">Self_programming.h</a>.<p>Referenced by <a class="el" href="Self__programming_8c-source.html#l00207">AddressCheck()</a>. </td> </tr></table><a class="anchor" name="53e0ab773e1383596056656041ceb630"></a><!-- doxytag: member="Self_programming.h::ADR_LIMIT_LOW" ref="53e0ab773e1383596056656041ceb630" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -