Files
discoverpixy/group___f_l_a_s_h.html
2015-05-12 11:12:43 +02:00

2016 lines
109 KiB
HTML

<!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="Doxygen 1.8.9.1"/>
<title>discoverpixy: RAMFUNC</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.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 style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">RAMFUNC<div class="ingroups"><a class="el" href="group___s_t_m32_f4xx___std_periph___driver.html">STM32F4xx_StdPeriph_Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>FLASH driver modules.
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for RAMFUNC:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group___f_l_a_s_h.png" border="0" alt="" usemap="#group______f__l__a__s__h"/>
<map name="group______f__l__a__s__h" id="group______f__l__a__s__h">
<area shape="rect" id="node1" href="group___s_t_m32_f4xx___std_periph___driver.html" title="STM32F4xx_StdPeriph\l_Driver" alt="" coords="5,49,161,90"/><area shape="rect" id="node2" href="group___f_l_a_s_h___private___functions.html" title="FLASH_Private_Functions" alt="" coords="351,5,526,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___exported___constants.html" title="FLASH_Exported_Constants" alt="" coords="344,56,533,83"/><area shape="rect" id="node4" href="group___f_l_a_s_h___r_a_m_f_u_n_c___private___functions.html" title="FLASH_RAMFUNC_Private\l_Functions" alt="" coords="348,107,529,149"/></map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group___f_l_a_s_h___exported___constants"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h___exported___constants.html">FLASH_Exported_Constants</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___f_l_a_s_h___private___functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h___private___functions.html">FLASH_Private_Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___f_l_a_s_h___r_a_m_f_u_n_c___private___functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h___r_a_m_f_u_n_c___private___functions.html">FLASH_RAMFUNC_Private_Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaa2c907f663ac6d7fb5c311d08589b4f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa2c907f663ac6d7fb5c311d08589b4f5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SECTOR_MASK</b>&#160;&#160;&#160;((uint32_t)0xFFFFFF07)</td></tr>
<tr class="separator:gaa2c907f663ac6d7fb5c311d08589b4f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gadc63a6f3404ff1f71229a66915e9cdc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadc63a6f3404ff1f71229a66915e9cdc0"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> { <br />
&#160;&#160;<b>FLASH_BUSY</b> = 1,
<b>FLASH_ERROR_RD</b>,
<b>FLASH_ERROR_PGS</b>,
<b>FLASH_ERROR_PGP</b>,
<br />
&#160;&#160;<b>FLASH_ERROR_PGA</b>,
<b>FLASH_ERROR_WRP</b>,
<b>FLASH_ERROR_PROGRAM</b>,
<b>FLASH_ERROR_OPERATION</b>,
<br />
&#160;&#160;<b>FLASH_COMPLETE</b>
<br />
}</td></tr>
<tr class="memdesc:gadc63a6f3404ff1f71229a66915e9cdc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">FLASH Status. <br /></td></tr>
<tr class="separator:gadc63a6f3404ff1f71229a66915e9cdc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga54bcb96270215c752c3479c8c9e438c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga54bcb96270215c752c3479c8c9e438c0">FLASH_SetLatency</a> (uint32_t FLASH_Latency)</td></tr>
<tr class="memdesc:ga54bcb96270215c752c3479c8c9e438c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the code latency value. <a href="#ga54bcb96270215c752c3479c8c9e438c0">More...</a><br /></td></tr>
<tr class="separator:ga54bcb96270215c752c3479c8c9e438c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafaa24b6176b587bdda46abbe755af986"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gafaa24b6176b587bdda46abbe755af986">FLASH_PrefetchBufferCmd</a> (FunctionalState NewState)</td></tr>
<tr class="memdesc:gafaa24b6176b587bdda46abbe755af986"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the Prefetch Buffer. <a href="#gafaa24b6176b587bdda46abbe755af986">More...</a><br /></td></tr>
<tr class="separator:gafaa24b6176b587bdda46abbe755af986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d5a9a35e792d844c329d7f1656b50ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga7d5a9a35e792d844c329d7f1656b50ae">FLASH_InstructionCacheCmd</a> (FunctionalState NewState)</td></tr>
<tr class="memdesc:ga7d5a9a35e792d844c329d7f1656b50ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the Instruction Cache feature. <a href="#ga7d5a9a35e792d844c329d7f1656b50ae">More...</a><br /></td></tr>
<tr class="separator:ga7d5a9a35e792d844c329d7f1656b50ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga937a824493f3c6949289401a767a0360"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga937a824493f3c6949289401a767a0360">FLASH_DataCacheCmd</a> (FunctionalState NewState)</td></tr>
<tr class="memdesc:ga937a824493f3c6949289401a767a0360"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the Data Cache feature. <a href="#ga937a824493f3c6949289401a767a0360">More...</a><br /></td></tr>
<tr class="separator:ga937a824493f3c6949289401a767a0360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6f1e54d9df32f3c196d67e59eb80a49"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gaf6f1e54d9df32f3c196d67e59eb80a49">FLASH_InstructionCacheReset</a> (void)</td></tr>
<tr class="memdesc:gaf6f1e54d9df32f3c196d67e59eb80a49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the Instruction Cache. <a href="#gaf6f1e54d9df32f3c196d67e59eb80a49">More...</a><br /></td></tr>
<tr class="separator:gaf6f1e54d9df32f3c196d67e59eb80a49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8332da89b072373b7f116e0b7c137a22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga8332da89b072373b7f116e0b7c137a22">FLASH_DataCacheReset</a> (void)</td></tr>
<tr class="memdesc:ga8332da89b072373b7f116e0b7c137a22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the Data Cache. <a href="#ga8332da89b072373b7f116e0b7c137a22">More...</a><br /></td></tr>
<tr class="separator:ga8332da89b072373b7f116e0b7c137a22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4084d0184bab463a1579271bf474aaef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga4084d0184bab463a1579271bf474aaef">FLASH_Unlock</a> (void)</td></tr>
<tr class="memdesc:ga4084d0184bab463a1579271bf474aaef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks the FLASH control register access. <a href="#ga4084d0184bab463a1579271bf474aaef">More...</a><br /></td></tr>
<tr class="separator:ga4084d0184bab463a1579271bf474aaef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46899557353c4312ddbe3f25e65df1d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga46899557353c4312ddbe3f25e65df1d8">FLASH_Lock</a> (void)</td></tr>
<tr class="memdesc:ga46899557353c4312ddbe3f25e65df1d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the FLASH control register access. <a href="#ga46899557353c4312ddbe3f25e65df1d8">More...</a><br /></td></tr>
<tr class="separator:ga46899557353c4312ddbe3f25e65df1d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48f408290b32a3aebbcad83a00fc447c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga48f408290b32a3aebbcad83a00fc447c">FLASH_EraseSector</a> (uint32_t FLASH_Sector, uint8_t VoltageRange)</td></tr>
<tr class="memdesc:ga48f408290b32a3aebbcad83a00fc447c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases a specified FLASH Sector. <a href="#ga48f408290b32a3aebbcad83a00fc447c">More...</a><br /></td></tr>
<tr class="separator:ga48f408290b32a3aebbcad83a00fc447c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2aee006e5f4db4280bdedd401dfa50f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga2aee006e5f4db4280bdedd401dfa50f9">FLASH_EraseAllSectors</a> (uint8_t VoltageRange)</td></tr>
<tr class="memdesc:ga2aee006e5f4db4280bdedd401dfa50f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases all FLASH Sectors. <a href="#ga2aee006e5f4db4280bdedd401dfa50f9">More...</a><br /></td></tr>
<tr class="separator:ga2aee006e5f4db4280bdedd401dfa50f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac297cb140218ab3fd6afa9c53087473c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gac297cb140218ab3fd6afa9c53087473c">FLASH_EraseAllBank1Sectors</a> (uint8_t VoltageRange)</td></tr>
<tr class="memdesc:gac297cb140218ab3fd6afa9c53087473c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases all FLASH Sectors in Bank 1. <a href="#gac297cb140218ab3fd6afa9c53087473c">More...</a><br /></td></tr>
<tr class="separator:gac297cb140218ab3fd6afa9c53087473c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d841f874ee2cd6dcb3b5d08a39f28e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga0d841f874ee2cd6dcb3b5d08a39f28e2">FLASH_EraseAllBank2Sectors</a> (uint8_t VoltageRange)</td></tr>
<tr class="memdesc:ga0d841f874ee2cd6dcb3b5d08a39f28e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases all FLASH Sectors in Bank 2. <a href="#ga0d841f874ee2cd6dcb3b5d08a39f28e2">More...</a><br /></td></tr>
<tr class="separator:ga0d841f874ee2cd6dcb3b5d08a39f28e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab84b52121e58d0dbc8ff2a92145d20f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gab84b52121e58d0dbc8ff2a92145d20f2">FLASH_ProgramDoubleWord</a> (uint32_t Address, uint64_t Data)</td></tr>
<tr class="memdesc:gab84b52121e58d0dbc8ff2a92145d20f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programs a double word (64-bit) at a specified address. <a href="#gab84b52121e58d0dbc8ff2a92145d20f2">More...</a><br /></td></tr>
<tr class="separator:gab84b52121e58d0dbc8ff2a92145d20f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac9a2f400b92537bd42a6bd7cc237b11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gaac9a2f400b92537bd42a6bd7cc237b11">FLASH_ProgramWord</a> (uint32_t Address, uint32_t Data)</td></tr>
<tr class="memdesc:gaac9a2f400b92537bd42a6bd7cc237b11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programs a word (32-bit) at a specified address. <a href="#gaac9a2f400b92537bd42a6bd7cc237b11">More...</a><br /></td></tr>
<tr class="separator:gaac9a2f400b92537bd42a6bd7cc237b11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c1336f667950a8765887228f1d0d501"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga5c1336f667950a8765887228f1d0d501">FLASH_ProgramHalfWord</a> (uint32_t Address, uint16_t Data)</td></tr>
<tr class="memdesc:ga5c1336f667950a8765887228f1d0d501"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programs a half word (16-bit) at a specified address. <a href="#ga5c1336f667950a8765887228f1d0d501">More...</a><br /></td></tr>
<tr class="separator:ga5c1336f667950a8765887228f1d0d501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac425adf52fe7f229ef6bb893fe386848"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gac425adf52fe7f229ef6bb893fe386848">FLASH_ProgramByte</a> (uint32_t Address, uint8_t Data)</td></tr>
<tr class="memdesc:gac425adf52fe7f229ef6bb893fe386848"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programs a byte (8-bit) at a specified address. <a href="#gac425adf52fe7f229ef6bb893fe386848">More...</a><br /></td></tr>
<tr class="separator:gac425adf52fe7f229ef6bb893fe386848"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga518d6e3bbba2adf1523e8454f62348e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga518d6e3bbba2adf1523e8454f62348e9">FLASH_OB_Unlock</a> (void)</td></tr>
<tr class="memdesc:ga518d6e3bbba2adf1523e8454f62348e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks the FLASH Option Control Registers access. <a href="#ga518d6e3bbba2adf1523e8454f62348e9">More...</a><br /></td></tr>
<tr class="separator:ga518d6e3bbba2adf1523e8454f62348e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63a33d9af7e29b64c3806e5505c59b74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga63a33d9af7e29b64c3806e5505c59b74">FLASH_OB_Lock</a> (void)</td></tr>
<tr class="memdesc:ga63a33d9af7e29b64c3806e5505c59b74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the FLASH Option Control Registers access. <a href="#ga63a33d9af7e29b64c3806e5505c59b74">More...</a><br /></td></tr>
<tr class="separator:ga63a33d9af7e29b64c3806e5505c59b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffe7e91bcce65ac079ae5afa1db568b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gaffe7e91bcce65ac079ae5afa1db568b5">FLASH_OB_WRPConfig</a> (uint32_t OB_WRP, FunctionalState NewState)</td></tr>
<tr class="memdesc:gaffe7e91bcce65ac079ae5afa1db568b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the write protection of the desired sectors, for the first 1 Mb of the Flash. <a href="#gaffe7e91bcce65ac079ae5afa1db568b5">More...</a><br /></td></tr>
<tr class="separator:gaffe7e91bcce65ac079ae5afa1db568b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf76da1410201befd9b6d0e6b045765d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gadf76da1410201befd9b6d0e6b045765d">FLASH_OB_WRP1Config</a> (uint32_t OB_WRP, FunctionalState NewState)</td></tr>
<tr class="memdesc:gadf76da1410201befd9b6d0e6b045765d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the write protection of the desired sectors, for the second 1 Mb of the Flash. <a href="#gadf76da1410201befd9b6d0e6b045765d">More...</a><br /></td></tr>
<tr class="separator:gadf76da1410201befd9b6d0e6b045765d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5386f380dfee13880dee3d7a4c8f39bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga5386f380dfee13880dee3d7a4c8f39bc">FLASH_OB_PCROPSelectionConfig</a> (uint8_t OB_PcROP)</td></tr>
<tr class="memdesc:ga5386f380dfee13880dee3d7a4c8f39bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select the Protection Mode (SPRMOD). <a href="#ga5386f380dfee13880dee3d7a4c8f39bc">More...</a><br /></td></tr>
<tr class="separator:ga5386f380dfee13880dee3d7a4c8f39bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2905f3985df53e8bc5115d34a544550"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gad2905f3985df53e8bc5115d34a544550">FLASH_OB_PCROPConfig</a> (uint32_t OB_PCROP, FunctionalState NewState)</td></tr>
<tr class="memdesc:gad2905f3985df53e8bc5115d34a544550"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the read/write protection (PCROP) of the desired sectors, for the first 1 MB of the Flash. <a href="#gad2905f3985df53e8bc5115d34a544550">More...</a><br /></td></tr>
<tr class="separator:gad2905f3985df53e8bc5115d34a544550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga81cc635921384a7475396118a7914436"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga81cc635921384a7475396118a7914436">FLASH_OB_PCROP1Config</a> (uint32_t OB_PCROP, FunctionalState NewState)</td></tr>
<tr class="memdesc:ga81cc635921384a7475396118a7914436"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the read/write protection (PCROP) of the desired sectors. <a href="#ga81cc635921384a7475396118a7914436">More...</a><br /></td></tr>
<tr class="separator:ga81cc635921384a7475396118a7914436"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12cb6799f725a49cd151eef4d6d1789b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga12cb6799f725a49cd151eef4d6d1789b">FLASH_OB_RDPConfig</a> (uint8_t OB_RDP)</td></tr>
<tr class="memdesc:ga12cb6799f725a49cd151eef4d6d1789b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the read protection level. <a href="#ga12cb6799f725a49cd151eef4d6d1789b">More...</a><br /></td></tr>
<tr class="separator:ga12cb6799f725a49cd151eef4d6d1789b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b605409e4271b4cc6dfb56ed8108a1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga6b605409e4271b4cc6dfb56ed8108a1a">FLASH_OB_UserConfig</a> (uint8_t OB_IWDG, uint8_t OB_STOP, uint8_t OB_STDBY)</td></tr>
<tr class="memdesc:ga6b605409e4271b4cc6dfb56ed8108a1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programs the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY. <a href="#ga6b605409e4271b4cc6dfb56ed8108a1a">More...</a><br /></td></tr>
<tr class="separator:ga6b605409e4271b4cc6dfb56ed8108a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga621bf052bc381c7a37fb1f8758f5ec2e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga621bf052bc381c7a37fb1f8758f5ec2e">FLASH_OB_BORConfig</a> (uint8_t OB_BOR)</td></tr>
<tr class="memdesc:ga621bf052bc381c7a37fb1f8758f5ec2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the BOR Level. <a href="#ga621bf052bc381c7a37fb1f8758f5ec2e">More...</a><br /></td></tr>
<tr class="separator:ga621bf052bc381c7a37fb1f8758f5ec2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1ec3fe0f2eb74cd9466168068dcc38c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gaf1ec3fe0f2eb74cd9466168068dcc38c">FLASH_OB_BootConfig</a> (uint8_t OB_BOOT)</td></tr>
<tr class="memdesc:gaf1ec3fe0f2eb74cd9466168068dcc38c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the Dual Bank Boot. <a href="#gaf1ec3fe0f2eb74cd9466168068dcc38c">More...</a><br /></td></tr>
<tr class="separator:gaf1ec3fe0f2eb74cd9466168068dcc38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcbd44a62a2488d8b90aa8562a258ef1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gabcbd44a62a2488d8b90aa8562a258ef1">FLASH_OB_Launch</a> (void)</td></tr>
<tr class="memdesc:gabcbd44a62a2488d8b90aa8562a258ef1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Launch the option byte loading. <a href="#gabcbd44a62a2488d8b90aa8562a258ef1">More...</a><br /></td></tr>
<tr class="separator:gabcbd44a62a2488d8b90aa8562a258ef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga737dd808489113af7f8df7f7e9f7baae"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga737dd808489113af7f8df7f7e9f7baae">FLASH_OB_GetUser</a> (void)</td></tr>
<tr class="memdesc:ga737dd808489113af7f8df7f7e9f7baae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the FLASH User Option Bytes values. <a href="#ga737dd808489113af7f8df7f7e9f7baae">More...</a><br /></td></tr>
<tr class="separator:ga737dd808489113af7f8df7f7e9f7baae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa2aec5fa1ea7a73c31f3405f465c525"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gafa2aec5fa1ea7a73c31f3405f465c525">FLASH_OB_GetWRP</a> (void)</td></tr>
<tr class="memdesc:gafa2aec5fa1ea7a73c31f3405f465c525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the FLASH Write Protection Option Bytes value. <a href="#gafa2aec5fa1ea7a73c31f3405f465c525">More...</a><br /></td></tr>
<tr class="separator:gafa2aec5fa1ea7a73c31f3405f465c525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d6f2d78dd1dc5e4b9614179620942ec"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga7d6f2d78dd1dc5e4b9614179620942ec">FLASH_OB_GetWRP1</a> (void)</td></tr>
<tr class="memdesc:ga7d6f2d78dd1dc5e4b9614179620942ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the FLASH Write Protection Option Bytes value. <a href="#ga7d6f2d78dd1dc5e4b9614179620942ec">More...</a><br /></td></tr>
<tr class="separator:ga7d6f2d78dd1dc5e4b9614179620942ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97a1969dbc2aa1582d1bfb2265b34c6a"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga97a1969dbc2aa1582d1bfb2265b34c6a">FLASH_OB_GetPCROP</a> (void)</td></tr>
<tr class="memdesc:ga97a1969dbc2aa1582d1bfb2265b34c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the FLASH PC Read/Write Protection Option Bytes value. <a href="#ga97a1969dbc2aa1582d1bfb2265b34c6a">More...</a><br /></td></tr>
<tr class="separator:ga97a1969dbc2aa1582d1bfb2265b34c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga872283d48ae605d27b19f9d1a73d7184"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga872283d48ae605d27b19f9d1a73d7184">FLASH_OB_GetPCROP1</a> (void)</td></tr>
<tr class="memdesc:ga872283d48ae605d27b19f9d1a73d7184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the FLASH PC Read/Write Protection Option Bytes value. <a href="#ga872283d48ae605d27b19f9d1a73d7184">More...</a><br /></td></tr>
<tr class="separator:ga872283d48ae605d27b19f9d1a73d7184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f0151c6c923396eaf96c554a5860c31"><td class="memItemLeft" align="right" valign="top">FlagStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga2f0151c6c923396eaf96c554a5860c31">FLASH_OB_GetRDP</a> (void)</td></tr>
<tr class="memdesc:ga2f0151c6c923396eaf96c554a5860c31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the FLASH Read Protection level. <a href="#ga2f0151c6c923396eaf96c554a5860c31">More...</a><br /></td></tr>
<tr class="separator:ga2f0151c6c923396eaf96c554a5860c31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8a8804905929b2edd544d28c2e7b215"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gab8a8804905929b2edd544d28c2e7b215">FLASH_OB_GetBOR</a> (void)</td></tr>
<tr class="memdesc:gab8a8804905929b2edd544d28c2e7b215"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the FLASH BOR level. <a href="#gab8a8804905929b2edd544d28c2e7b215">More...</a><br /></td></tr>
<tr class="separator:gab8a8804905929b2edd544d28c2e7b215"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94c1e51a9c3bf8d48eb6eb4a4d054861"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#ga94c1e51a9c3bf8d48eb6eb4a4d054861">FLASH_ITConfig</a> (uint32_t FLASH_IT, FunctionalState NewState)</td></tr>
<tr class="memdesc:ga94c1e51a9c3bf8d48eb6eb4a4d054861"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the specified FLASH interrupts. <a href="#ga94c1e51a9c3bf8d48eb6eb4a4d054861">More...</a><br /></td></tr>
<tr class="separator:ga94c1e51a9c3bf8d48eb6eb4a4d054861"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3fb545e32f21501ca27d4380e0f2088"><td class="memItemLeft" align="right" valign="top">FlagStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gae3fb545e32f21501ca27d4380e0f2088">FLASH_GetFlagStatus</a> (uint32_t FLASH_FLAG)</td></tr>
<tr class="memdesc:gae3fb545e32f21501ca27d4380e0f2088"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the specified FLASH flag is set or not. <a href="#gae3fb545e32f21501ca27d4380e0f2088">More...</a><br /></td></tr>
<tr class="separator:gae3fb545e32f21501ca27d4380e0f2088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4be1d486483fa5cd70ec77d44ca8f87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gac4be1d486483fa5cd70ec77d44ca8f87">FLASH_ClearFlag</a> (uint32_t FLASH_FLAG)</td></tr>
<tr class="memdesc:gac4be1d486483fa5cd70ec77d44ca8f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the FLASH's pending flags. <a href="#gac4be1d486483fa5cd70ec77d44ca8f87">More...</a><br /></td></tr>
<tr class="separator:gac4be1d486483fa5cd70ec77d44ca8f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac265b8d1e7ea11e44ceee28797c3debb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gac265b8d1e7ea11e44ceee28797c3debb">FLASH_GetStatus</a> (void)</td></tr>
<tr class="memdesc:gac265b8d1e7ea11e44ceee28797c3debb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the FLASH Status. <a href="#gac265b8d1e7ea11e44ceee28797c3debb">More...</a><br /></td></tr>
<tr class="separator:gac265b8d1e7ea11e44ceee28797c3debb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf8ea3b00c9a5f5eca0df9a795b83f22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22">FLASH_WaitForLastOperation</a> (void)</td></tr>
<tr class="memdesc:gaaf8ea3b00c9a5f5eca0df9a795b83f22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for a FLASH operation to complete. <a href="#gaaf8ea3b00c9a5f5eca0df9a795b83f22">More...</a><br /></td></tr>
<tr class="separator:gaaf8ea3b00c9a5f5eca0df9a795b83f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba96ee0a4dd912527092d79686208480"><td class="memItemLeft" align="right" valign="top">__RAM_FUNC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gaba96ee0a4dd912527092d79686208480">FLASH_FlashInterfaceCmd</a> (FunctionalState NewState)</td></tr>
<tr class="memdesc:gaba96ee0a4dd912527092d79686208480"><td class="mdescLeft">&#160;</td><td class="mdescRight">__RAM_FUNC definition <a href="#gaba96ee0a4dd912527092d79686208480">More...</a><br /></td></tr>
<tr class="separator:gaba96ee0a4dd912527092d79686208480"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec5f3edf3e2b4f14bb6785d5c47f6f0f"><td class="memItemLeft" align="right" valign="top">__RAM_FUNC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_l_a_s_h.html#gaec5f3edf3e2b4f14bb6785d5c47f6f0f">FLASH_FlashSleepModeCmd</a> (FunctionalState NewState)</td></tr>
<tr class="memdesc:gaec5f3edf3e2b4f14bb6785d5c47f6f0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/Disable the flash sleep while System Run. <a href="#gaec5f3edf3e2b4f14bb6785d5c47f6f0f">More...</a><br /></td></tr>
<tr class="separator:gaec5f3edf3e2b4f14bb6785d5c47f6f0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>FLASH driver modules. </p>
<p>FLASH RAMFUNC driver modules.</p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gac4be1d486483fa5cd70ec77d44ca8f87"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_ClearFlag </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>FLASH_FLAG</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears the FLASH's pending flags. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">FLASH_FLAG</td><td>specifies the FLASH flags to clear. This parameter can be any combination of the following values: <ul>
<li>FLASH_FLAG_EOP: FLASH End of Operation flag </li>
<li>FLASH_FLAG_OPERR: FLASH operation Error flag </li>
<li>FLASH_FLAG_WRPERR: FLASH Write protected error flag </li>
<li>FLASH_FLAG_PGAERR: FLASH Programming Alignment error flag </li>
<li>FLASH_FLAG_PGPERR: FLASH Programming Parallelism error flag </li>
<li>FLASH_FLAG_PGSERR: FLASH Programming Sequence error flag </li>
<li>FLASH_FLAG_RDERR: FLASH Read Protection error flag (STM32F42xx/43xxx and STM32F401xx/411xE devices) </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga937a824493f3c6949289401a767a0360"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_DataCacheCmd </td>
<td>(</td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the Data Cache feature. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">NewState</td><td>new state of the Data Cache. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8332da89b072373b7f116e0b7c137a22"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_DataCacheReset </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets the Data Cache. </p>
<dl class="section note"><dt>Note</dt><dd>This function must be used only when the Data Cache is disabled. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac297cb140218ab3fd6afa9c53087473c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_EraseAllBank1Sectors </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>VoltageRange</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Erases all FLASH Sectors in Bank 1. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx devices.</dd>
<dd>
If an erase and a program operations are requested simultaneously, the erase operation is performed before the program one.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">VoltageRange</td><td>The device voltage range which defines the erase parallelism. This parameter can be one of the following values: <ul>
<li>VoltageRange_1: when the device voltage range is 1.8V to 2.1V, the operation will be done by byte (8-bit) </li>
<li>VoltageRange_2: when the device voltage range is 2.1V to 2.7V, the operation will be done by half word (16-bit) </li>
<li>VoltageRange_3: when the device voltage range is 2.7V to 3.6V, the operation will be done by word (32-bit) </li>
<li>VoltageRange_4: when the device voltage range is 2.7V to 3.6V + External Vpp, the operation will be done by double word (64-bit)</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gac297cb140218ab3fd6afa9c53087473c_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gac297cb140218ab3fd6afa9c53087473c_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gac297cb140218ab3fd6afa9c53087473c_cgraph" id="group___f_l_a_s_h_gac297cb140218ab3fd6afa9c53087473c_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="256,5,455,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="503,5,633,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga0d841f874ee2cd6dcb3b5d08a39f28e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_EraseAllBank2Sectors </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>VoltageRange</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Erases all FLASH Sectors in Bank 2. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx devices.</dd>
<dd>
If an erase and a program operations are requested simultaneously, the erase operation is performed before the program one.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">VoltageRange</td><td>The device voltage range which defines the erase parallelism. This parameter can be one of the following values: <ul>
<li>VoltageRange_1: when the device voltage range is 1.8V to 2.1V, the operation will be done by byte (8-bit) </li>
<li>VoltageRange_2: when the device voltage range is 2.1V to 2.7V, the operation will be done by half word (16-bit) </li>
<li>VoltageRange_3: when the device voltage range is 2.7V to 3.6V, the operation will be done by word (32-bit) </li>
<li>VoltageRange_4: when the device voltage range is 2.7V to 3.6V + External Vpp, the operation will be done by double word (64-bit)</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_ga0d841f874ee2cd6dcb3b5d08a39f28e2_cgraph.png" border="0" usemap="#group___f_l_a_s_h_ga0d841f874ee2cd6dcb3b5d08a39f28e2_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_ga0d841f874ee2cd6dcb3b5d08a39f28e2_cgraph" id="group___f_l_a_s_h_ga0d841f874ee2cd6dcb3b5d08a39f28e2_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="256,5,455,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="503,5,633,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga2aee006e5f4db4280bdedd401dfa50f9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_EraseAllSectors </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>VoltageRange</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Erases all FLASH Sectors. </p>
<dl class="section note"><dt>Note</dt><dd>If an erase and a program operations are requested simustaneously, the erase operation is performed before the program one.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">VoltageRange</td><td>The device voltage range which defines the erase parallelism. This parameter can be one of the following values: <ul>
<li>VoltageRange_1: when the device voltage range is 1.8V to 2.1V, the operation will be done by byte (8-bit) </li>
<li>VoltageRange_2: when the device voltage range is 2.1V to 2.7V, the operation will be done by half word (16-bit) </li>
<li>VoltageRange_3: when the device voltage range is 2.7V to 3.6V, the operation will be done by word (32-bit) </li>
<li>VoltageRange_4: when the device voltage range is 2.7V to 3.6V + External Vpp, the operation will be done by double word (64-bit)</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_ga2aee006e5f4db4280bdedd401dfa50f9_cgraph.png" border="0" usemap="#group___f_l_a_s_h_ga2aee006e5f4db4280bdedd401dfa50f9_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_ga2aee006e5f4db4280bdedd401dfa50f9_cgraph" id="group___f_l_a_s_h_ga2aee006e5f4db4280bdedd401dfa50f9_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="219,5,417,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="465,5,596,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga48f408290b32a3aebbcad83a00fc447c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_EraseSector </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>FLASH_Sector</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>VoltageRange</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Erases a specified FLASH Sector. </p>
<dl class="section note"><dt>Note</dt><dd>If an erase and a program operations are requested simustaneously, the erase operation is performed before the program one.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">FLASH_Sector</td><td>The Sector number to be erased.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>For STM32F405xx/407xx and STM32F415xx/417xx devices this parameter can be a value between FLASH_Sector_0 and FLASH_Sector_11.</dd></dl>
<p>For STM32F42xxx/43xxx devices this parameter can be a value between FLASH_Sector_0 and FLASH_Sector_23.</p>
<p>For STM32F401xx devices this parameter can be a value between FLASH_Sector_0 and FLASH_Sector_5.</p>
<p>For STM32F411xE devices this parameter can be a value between FLASH_Sector_0 and FLASH_Sector_7.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">VoltageRange</td><td>The device voltage range which defines the erase parallelism. This parameter can be one of the following values: <ul>
<li>VoltageRange_1: when the device voltage range is 1.8V to 2.1V, the operation will be done by byte (8-bit) </li>
<li>VoltageRange_2: when the device voltage range is 2.1V to 2.7V, the operation will be done by half word (16-bit) </li>
<li>VoltageRange_3: when the device voltage range is 2.7V to 3.6V, the operation will be done by word (32-bit) </li>
<li>VoltageRange_4: when the device voltage range is 2.7V to 3.6V + External Vpp, the operation will be done by double word (64-bit)</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_ga48f408290b32a3aebbcad83a00fc447c_cgraph.png" border="0" usemap="#group___f_l_a_s_h_ga48f408290b32a3aebbcad83a00fc447c_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_ga48f408290b32a3aebbcad83a00fc447c_cgraph" id="group___f_l_a_s_h_ga48f408290b32a3aebbcad83a00fc447c_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="196,5,395,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="443,5,573,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gaba96ee0a4dd912527092d79686208480"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__RAM_FUNC FLASH_FlashInterfaceCmd </td>
<td>(</td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>__RAM_FUNC definition </p>
<p>__RAM_FUNC definition</p>
<dl class="section note"><dt>Note</dt><dd>This mode is only available for STM32F411xx devices. </dd>
<dd>
This mode could n't be set while executing with the flash itself. It should be done with specific routine executed from RAM. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">NewState</td><td>new state of the Smart Card mode. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaec5f3edf3e2b4f14bb6785d5c47f6f0f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__RAM_FUNC FLASH_FlashSleepModeCmd </td>
<td>(</td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable/Disable the flash sleep while System Run. </p>
<dl class="section note"><dt>Note</dt><dd>This mode is only available for STM32F411xx devices. </dd>
<dd>
This mode could n't be set while executing with the flash itself. It should be done with specific routine executed from RAM. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">NewState</td><td>new state of the Smart Card mode. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae3fb545e32f21501ca27d4380e0f2088"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FlagStatus FLASH_GetFlagStatus </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>FLASH_FLAG</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks whether the specified FLASH flag is set or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">FLASH_FLAG</td><td>specifies the FLASH flag to check. This parameter can be one of the following values: <ul>
<li>FLASH_FLAG_EOP: FLASH End of Operation flag </li>
<li>FLASH_FLAG_OPERR: FLASH operation Error flag </li>
<li>FLASH_FLAG_WRPERR: FLASH Write protected error flag </li>
<li>FLASH_FLAG_PGAERR: FLASH Programming Alignment error flag </li>
<li>FLASH_FLAG_PGPERR: FLASH Programming Parallelism error flag </li>
<li>FLASH_FLAG_PGSERR: FLASH Programming Sequence error flag </li>
<li>FLASH_FLAG_RDERR: FLASH (PCROP) Read Protection error flag (STM32F42xx/43xxx and STM32F401xx/411xE devices) </li>
<li>FLASH_FLAG_BSY: FLASH Busy flag </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>new state of FLASH_FLAG (SET or RESET). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac265b8d1e7ea11e44ceee28797c3debb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_GetStatus </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the FLASH Status. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_RD, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gac265b8d1e7ea11e44ceee28797c3debb_icgraph.png" border="0" usemap="#group___f_l_a_s_h_gac265b8d1e7ea11e44ceee28797c3debb_icgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gac265b8d1e7ea11e44ceee28797c3debb_icgraph" id="group___f_l_a_s_h_gac265b8d1e7ea11e44ceee28797c3debb_icgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="184,360,383,387"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group2.html#ga48f408290b32a3aebbcad83a00fc447c" title="Erases a specified FLASH Sector. " alt="" coords="461,5,603,32"/><area shape="rect" id="node4" href="group___f_l_a_s_h___group2.html#ga2aee006e5f4db4280bdedd401dfa50f9" title="Erases all FLASH Sectors. " alt="" coords="449,56,615,83"/><area shape="rect" id="node5" href="group___f_l_a_s_h___group2.html#gac297cb140218ab3fd6afa9c53087473c" title="Erases all FLASH Sectors in Bank 1. " alt="" coords="431,107,633,133"/><area shape="rect" id="node6" href="group___f_l_a_s_h___group2.html#ga0d841f874ee2cd6dcb3b5d08a39f28e2" title="Erases all FLASH Sectors in Bank 2. " alt="" coords="431,157,633,184"/><area shape="rect" id="node7" href="group___f_l_a_s_h___group2.html#gab84b52121e58d0dbc8ff2a92145d20f2" title="Programs a double word (64&#45;bit) at a specified address. " alt="" coords="437,208,627,235"/><area shape="rect" id="node8" href="group___f_l_a_s_h___group2.html#gaac9a2f400b92537bd42a6bd7cc237b11" title="Programs a word (32&#45;bit) at a specified address. " alt="" coords="457,259,607,285"/><area shape="rect" id="node9" href="group___f_l_a_s_h___group2.html#ga5c1336f667950a8765887228f1d0d501" title="Programs a half word (16&#45;bit) at a specified address. " alt="" coords="445,309,619,336"/><area shape="rect" id="node10" href="group___f_l_a_s_h___group2.html#gac425adf52fe7f229ef6bb893fe386848" title="Programs a byte (8&#45;bit) at a specified address. " alt="" coords="459,360,605,387"/><area shape="rect" id="node11" href="group___f_l_a_s_h___group3.html#gaffe7e91bcce65ac079ae5afa1db568b5" title="Enables or disables the write protection of the desired sectors, for the first 1 Mb of the Flash..." alt="" coords="450,411,614,437"/><area shape="rect" id="node12" href="group___f_l_a_s_h___group3.html#gadf76da1410201befd9b6d0e6b045765d" title="Enables or disables the write protection of the desired sectors, for the second 1 Mb of the Flash..." alt="" coords="447,461,617,488"/><area shape="rect" id="node13" href="group___f_l_a_s_h___group3.html#gad2905f3985df53e8bc5115d34a544550" title="Enables or disables the read/write protection (PCROP) of the desired sectors, for the first 1 MB of t..." alt="" coords="443,512,621,539"/><area shape="rect" id="node14" href="group___f_l_a_s_h___group3.html#ga81cc635921384a7475396118a7914436" title="Enables or disables the read/write protection (PCROP) of the desired sectors. " alt="" coords="439,563,625,589"/><area shape="rect" id="node15" href="group___f_l_a_s_h___group3.html#ga12cb6799f725a49cd151eef4d6d1789b" title="Sets the read protection level. " alt="" coords="452,613,612,640"/><area shape="rect" id="node16" href="group___f_l_a_s_h___group3.html#ga6b605409e4271b4cc6dfb56ed8108a1a" title="Programs the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY. " alt="" coords="452,664,612,691"/><area shape="rect" id="node17" href="group___f_l_a_s_h___group3.html#gabcbd44a62a2488d8b90aa8562a258ef1" title="Launch the option byte loading. " alt="" coords="463,715,601,741"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga7d5a9a35e792d844c329d7f1656b50ae"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_InstructionCacheCmd </td>
<td>(</td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the Instruction Cache feature. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">NewState</td><td>new state of the Instruction Cache. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf6f1e54d9df32f3c196d67e59eb80a49"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_InstructionCacheReset </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets the Instruction Cache. </p>
<dl class="section note"><dt>Note</dt><dd>This function must be used only when the Instruction Cache is disabled. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga94c1e51a9c3bf8d48eb6eb4a4d054861"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_ITConfig </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>FLASH_IT</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the specified FLASH interrupts. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">FLASH_IT</td><td>specifies the FLASH interrupt sources to be enabled or disabled. This parameter can be any combination of the following values: <ul>
<li>FLASH_IT_ERR: FLASH Error Interrupt </li>
<li>FLASH_IT_EOP: FLASH end of operation Interrupt </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga46899557353c4312ddbe3f25e65df1d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_Lock </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Locks the FLASH control register access. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf1ec3fe0f2eb74cd9466168068dcc38c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_BootConfig </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>OB_BOOT</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configure the Dual Bank Boot. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx devices.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_BOOT</td><td>specifies the Dual Bank Boot Option byte. This parameter can be one of the following values: <ul>
<li>OB_Dual_BootEnabled: Dual Bank Boot Enable </li>
<li>OB_Dual_BootDisabled: Dual Bank Boot Disabled </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga621bf052bc381c7a37fb1f8758f5ec2e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_BORConfig </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>OB_BOR</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the BOR Level. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_BOR</td><td>specifies the Option Bytes BOR Reset Level. This parameter can be one of the following values: <ul>
<li>OB_BOR_LEVEL3: Supply voltage ranges from 2.7 to 3.6 V </li>
<li>OB_BOR_LEVEL2: Supply voltage ranges from 2.4 to 2.7 V </li>
<li>OB_BOR_LEVEL1: Supply voltage ranges from 2.1 to 2.4 V </li>
<li>OB_BOR_OFF: Supply voltage ranges from 1.62 to 2.1 V </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab8a8804905929b2edd544d28c2e7b215"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FLASH_OB_GetBOR </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the FLASH BOR level. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>FLASH BOR level:<ul>
<li>OB_BOR_LEVEL3: Supply voltage ranges from 2.7 to 3.6 V</li>
<li>OB_BOR_LEVEL2: Supply voltage ranges from 2.4 to 2.7 V</li>
<li>OB_BOR_LEVEL1: Supply voltage ranges from 2.1 to 2.4 V</li>
<li>OB_BOR_OFF : Supply voltage ranges from 1.62 to 2.1 V </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga97a1969dbc2aa1582d1bfb2265b34c6a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t FLASH_OB_GetPCROP </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the FLASH PC Read/Write Protection Option Bytes value. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx devices and STM32F401xx/411xE devices.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>FLASH PC Read/Write Protection Option Bytes value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga872283d48ae605d27b19f9d1a73d7184"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t FLASH_OB_GetPCROP1 </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the FLASH PC Read/Write Protection Option Bytes value. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx devices.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>FLASH PC Read/Write Protection Option Bytes value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2f0151c6c923396eaf96c554a5860c31"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FlagStatus FLASH_OB_GetRDP </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the FLASH Read Protection level. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>ReadOut Protection Status:<ul>
<li>SET, when OB_RDP_Level_1 or OB_RDP_Level_2 is set</li>
<li>RESET, when OB_RDP_Level_0 is set </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga737dd808489113af7f8df7f7e9f7baae"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FLASH_OB_GetUser </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the FLASH User Option Bytes values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>FLASH User Option Bytes values: IWDG_SW(Bit0), RST_STOP(Bit1) and RST_STDBY(Bit2). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafa2aec5fa1ea7a73c31f3405f465c525"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t FLASH_OB_GetWRP </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the FLASH Write Protection Option Bytes value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>FLASH Write Protection Option Bytes value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7d6f2d78dd1dc5e4b9614179620942ec"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t FLASH_OB_GetWRP1 </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the FLASH Write Protection Option Bytes value. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx devices.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>FLASH Write Protection Option Bytes value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gabcbd44a62a2488d8b90aa8562a258ef1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_OB_Launch </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Launch the option byte loading. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gabcbd44a62a2488d8b90aa8562a258ef1_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gabcbd44a62a2488d8b90aa8562a258ef1_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gabcbd44a62a2488d8b90aa8562a258ef1_cgraph" id="group___f_l_a_s_h_gabcbd44a62a2488d8b90aa8562a258ef1_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="192,5,391,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="439,5,569,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga63a33d9af7e29b64c3806e5505c59b74"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_Lock </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Locks the FLASH Option Control Registers access. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga81cc635921384a7475396118a7914436"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_PCROP1Config </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>OB_PCROP</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the read/write protection (PCROP) of the desired sectors. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx devices.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_PCROP</td><td>specifies the sector(s) to be read/write protected or unprotected. This parameter can be one of the following values: <ul>
<li>OB_PCROP: A value between OB_PCROP_Sector12 and OB_PCROP_Sector23 </li>
<li>OB_PCROP_Sector_All </li>
</ul>
</td></tr>
<tr><td class="paramname">Newstate</td><td>new state of the Write Protection. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_ga81cc635921384a7475396118a7914436_cgraph.png" border="0" usemap="#group___f_l_a_s_h_ga81cc635921384a7475396118a7914436_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_ga81cc635921384a7475396118a7914436_cgraph" id="group___f_l_a_s_h_ga81cc635921384a7475396118a7914436_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="240,5,439,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="487,5,617,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gad2905f3985df53e8bc5115d34a544550"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_PCROPConfig </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>OB_PCROP</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the read/write protection (PCROP) of the desired sectors, for the first 1 MB of the Flash. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx and STM32F401xx/411xE devices.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_PCROP</td><td>specifies the sector(s) to be read/write protected or unprotected. This parameter can be one of the following values: <ul>
<li>OB_PCROP: A value between OB_PCROP_Sector0 and OB_PCROP_Sector11 for STM32F42xxx/43xxx devices and between OB_PCROP_Sector0 and OB_PCROP_Sector5 for STM32F401xx/411xE devices. </li>
<li>OB_PCROP_Sector_All </li>
</ul>
</td></tr>
<tr><td class="paramname">Newstate</td><td>new state of the Write Protection. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gad2905f3985df53e8bc5115d34a544550_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gad2905f3985df53e8bc5115d34a544550_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gad2905f3985df53e8bc5115d34a544550_cgraph" id="group___f_l_a_s_h_gad2905f3985df53e8bc5115d34a544550_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="232,5,431,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="479,5,609,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga5386f380dfee13880dee3d7a4c8f39bc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_PCROPSelectionConfig </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>OB_PcROP</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Select the Protection Mode (SPRMOD). </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx and STM32F401xx/411xE devices.</dd>
<dd>
After PCROP activation, Option Byte modification is not possible. Exception made for the global Read Out Protection modification level (level1 to level0) </dd>
<dd>
Once SPRMOD bit is active unprotection of a protected sector is not possible</dd>
<dd>
Read a protected sector will set RDERR Flag and write a protected sector will set WRPERR Flag</dd>
<dd>
Some Precautions should be taken when activating the PCROP feature : The active value of nWRPi bits is inverted when PCROP mode is active, this means if SPRMOD = 1 and WRPi = 1 (default value), then the user sector i is read/write protected. In order to avoid activation of PCROP Mode for undesired sectors, please follow the below safety sequence :<ul>
<li>Disable PCROP for all Sectors using FLASH_OB_PCROPConfig(OB_PCROP_Sector_All, DISABLE) function for Bank1 or FLASH_OB_PCROP1Config(OB_PCROP_Sector_All, DISABLE) function for Bank2</li>
<li>Enable PCROP for the desired Sector i using FLASH_OB_PCROPConfig(Sector i, ENABLE) function</li>
<li>Activate the PCROP Mode <a class="el" href="group___f_l_a_s_h___group3.html#ga5386f380dfee13880dee3d7a4c8f39bc" title="Select the Protection Mode (SPRMOD). ">FLASH_OB_PCROPSelectionConfig()</a> function.</li>
</ul>
</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_PCROP</td><td>Select the Protection Mode of nWPRi bits This parameter can be one of the following values: <ul>
<li>OB_PcROP_Disable: nWRPi control the write protection of respective user sectors. </li>
<li>OB_PcROP_Enable: nWRPi control the read&amp;write protection (PCROP) of respective user sectors. </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga12cb6799f725a49cd151eef4d6d1789b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_RDPConfig </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>OB_RDP</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the read protection level. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_RDP</td><td>specifies the read protection level. This parameter can be one of the following values: <ul>
<li>OB_RDP_Level_0: No protection </li>
<li>OB_RDP_Level_1: Read protection of the memory </li>
<li>OB_RDP_Level_2: Full chip protection</li>
</ul>
/!\ Warning /!\ When enabling OB_RDP level 2 it's no more possible to go back to level 1 or 0</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_ga12cb6799f725a49cd151eef4d6d1789b_cgraph.png" border="0" usemap="#group___f_l_a_s_h_ga12cb6799f725a49cd151eef4d6d1789b_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_ga12cb6799f725a49cd151eef4d6d1789b_cgraph" id="group___f_l_a_s_h_ga12cb6799f725a49cd151eef4d6d1789b_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="213,5,412,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="460,5,591,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga518d6e3bbba2adf1523e8454f62348e9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_Unlock </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unlocks the FLASH Option Control Registers access. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6b605409e4271b4cc6dfb56ed8108a1a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_UserConfig </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>OB_IWDG</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>OB_STOP</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>OB_STDBY</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Programs the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_IWDG</td><td>Selects the IWDG mode This parameter can be one of the following values: <ul>
<li>OB_IWDG_SW: Software IWDG selected </li>
<li>OB_IWDG_HW: Hardware IWDG selected </li>
</ul>
</td></tr>
<tr><td class="paramname">OB_STOP</td><td>Reset event when entering STOP mode. This parameter can be one of the following values: <ul>
<li>OB_STOP_NoRST: No reset generated when entering in STOP </li>
<li>OB_STOP_RST: Reset generated when entering in STOP </li>
</ul>
</td></tr>
<tr><td class="paramname">OB_STDBY</td><td>Reset event when entering Standby mode. This parameter can be one of the following values: <ul>
<li>OB_STDBY_NoRST: No reset generated when entering in STANDBY </li>
<li>OB_STDBY_RST: Reset generated when entering in STANDBY </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_ga6b605409e4271b4cc6dfb56ed8108a1a_cgraph.png" border="0" usemap="#group___f_l_a_s_h_ga6b605409e4271b4cc6dfb56ed8108a1a_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_ga6b605409e4271b4cc6dfb56ed8108a1a_cgraph" id="group___f_l_a_s_h_ga6b605409e4271b4cc6dfb56ed8108a1a_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="213,5,412,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="460,5,591,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gadf76da1410201befd9b6d0e6b045765d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_WRP1Config </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>OB_WRP</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the write protection of the desired sectors, for the second 1 Mb of the Flash. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used only for STM32F42xxx/43xxx devices.</dd>
<dd>
When the memory read out protection is selected (RDP level = 1), it is not possible to program or erase the flash sector i if CortexM4 debug features are connected or boot code is executed in RAM, even if nWRPi = 1 </dd>
<dd>
Active value of nWRPi bits is inverted when PCROP mode is active (SPRMOD =1).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_WRP</td><td>specifies the sector(s) to be write protected or unprotected. This parameter can be one of the following values: <ul>
<li>OB_WRP: A value between OB_WRP_Sector12 and OB_WRP_Sector23 </li>
<li>OB_WRP_Sector_All </li>
</ul>
</td></tr>
<tr><td class="paramname">Newstate</td><td>new state of the Write Protection. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gadf76da1410201befd9b6d0e6b045765d_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gadf76da1410201befd9b6d0e6b045765d_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gadf76da1410201befd9b6d0e6b045765d_cgraph" id="group___f_l_a_s_h_gadf76da1410201befd9b6d0e6b045765d_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="224,5,423,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="471,5,601,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gaffe7e91bcce65ac079ae5afa1db568b5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_OB_WRPConfig </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>OB_WRP</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the write protection of the desired sectors, for the first 1 Mb of the Flash. </p>
<dl class="section note"><dt>Note</dt><dd>When the memory read protection level is selected (RDP level = 1), it is not possible to program or erase the flash sector i if CortexM4 debug features are connected or boot code is executed in RAM, even if nWRPi = 1 </dd>
<dd>
Active value of nWRPi bits is inverted when PCROP mode is active (SPRMOD =1).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">OB_WRP</td><td>specifies the sector(s) to be write protected or unprotected. This parameter can be one of the following values: <ul>
<li>OB_WRP: A value between OB_WRP_Sector0 and OB_WRP_Sector11 </li>
<li>OB_WRP_Sector_All </li>
</ul>
</td></tr>
<tr><td class="paramname">Newstate</td><td>new state of the Write Protection. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gaffe7e91bcce65ac079ae5afa1db568b5_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gaffe7e91bcce65ac079ae5afa1db568b5_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gaffe7e91bcce65ac079ae5afa1db568b5_cgraph" id="group___f_l_a_s_h_gaffe7e91bcce65ac079ae5afa1db568b5_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="217,5,416,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="464,5,595,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gafaa24b6176b587bdda46abbe755af986"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_PrefetchBufferCmd </td>
<td>(</td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the Prefetch Buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">NewState</td><td>new state of the Prefetch Buffer. This parameter can be: ENABLE or DISABLE. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac425adf52fe7f229ef6bb893fe386848"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_ProgramByte </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>Address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>Data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Programs a byte (8-bit) at a specified address. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be used within all the device supply voltage ranges.</dd>
<dd>
If an erase and a program operations are requested simustaneously, the erase operation is performed before the program one.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">Address</td><td>specifies the address to be programmed. This parameter can be any address in Program memory zone or in OTP zone. </td></tr>
<tr><td class="paramname">Data</td><td>specifies the data to be programmed. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gac425adf52fe7f229ef6bb893fe386848_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gac425adf52fe7f229ef6bb893fe386848_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gac425adf52fe7f229ef6bb893fe386848_cgraph" id="group___f_l_a_s_h_gac425adf52fe7f229ef6bb893fe386848_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="200,5,399,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="447,5,577,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gab84b52121e58d0dbc8ff2a92145d20f2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_ProgramDoubleWord </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>Address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>Data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Programs a double word (64-bit) at a specified address. </p>
<dl class="section note"><dt>Note</dt><dd>This function must be used when the device voltage range is from 2.7V to 3.6V and an External Vpp is present.</dd>
<dd>
If an erase and a program operations are requested simustaneously, the erase operation is performed before the program one.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">Address</td><td>specifies the address to be programmed. </td></tr>
<tr><td class="paramname">Data</td><td>specifies the data to be programmed. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gab84b52121e58d0dbc8ff2a92145d20f2_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gab84b52121e58d0dbc8ff2a92145d20f2_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gab84b52121e58d0dbc8ff2a92145d20f2_cgraph" id="group___f_l_a_s_h_gab84b52121e58d0dbc8ff2a92145d20f2_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="244,5,443,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="491,5,621,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga5c1336f667950a8765887228f1d0d501"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_ProgramHalfWord </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>Address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>Data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Programs a half word (16-bit) at a specified address. </p>
<dl class="section note"><dt>Note</dt><dd>This function must be used when the device voltage range is from 2.1V to 3.6V.</dd>
<dd>
If an erase and a program operations are requested simustaneously, the erase operation is performed before the program one.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">Address</td><td>specifies the address to be programmed. This parameter can be any address in Program memory zone or in OTP zone. </td></tr>
<tr><td class="paramname">Data</td><td>specifies the data to be programmed. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_ga5c1336f667950a8765887228f1d0d501_cgraph.png" border="0" usemap="#group___f_l_a_s_h_ga5c1336f667950a8765887228f1d0d501_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_ga5c1336f667950a8765887228f1d0d501_cgraph" id="group___f_l_a_s_h_ga5c1336f667950a8765887228f1d0d501_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="227,5,425,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="473,5,604,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gaac9a2f400b92537bd42a6bd7cc237b11"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_ProgramWord </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>Address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>Data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Programs a word (32-bit) at a specified address. </p>
<dl class="section note"><dt>Note</dt><dd>This function must be used when the device voltage range is from 2.7V to 3.6V.</dd>
<dd>
If an erase and a program operations are requested simustaneously, the erase operation is performed before the program one.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">Address</td><td>specifies the address to be programmed. This parameter can be any address in Program memory zone or in OTP zone. </td></tr>
<tr><td class="paramname">Data</td><td>specifies the data to be programmed. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gaac9a2f400b92537bd42a6bd7cc237b11_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gaac9a2f400b92537bd42a6bd7cc237b11_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gaac9a2f400b92537bd42a6bd7cc237b11_cgraph" id="group___f_l_a_s_h_gaac9a2f400b92537bd42a6bd7cc237b11_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gaaf8ea3b00c9a5f5eca0df9a795b83f22" title="Waits for a FLASH operation to complete. " alt="" coords="204,5,403,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="451,5,581,32"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga54bcb96270215c752c3479c8c9e438c0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_SetLatency </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>FLASH_Latency</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the code latency value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">FLASH_Latency</td><td>specifies the FLASH Latency value. This parameter can be one of the following values: <ul>
<li>FLASH_Latency_0: FLASH Zero Latency cycle </li>
<li>FLASH_Latency_1: FLASH One Latency cycle </li>
<li>FLASH_Latency_2: FLASH Two Latency cycles </li>
<li>FLASH_Latency_3: FLASH Three Latency cycles </li>
<li>FLASH_Latency_4: FLASH Four Latency cycles </li>
<li>FLASH_Latency_5: FLASH Five Latency cycles </li>
<li>FLASH_Latency_6: FLASH Six Latency cycles </li>
<li>FLASH_Latency_7: FLASH Seven Latency cycles </li>
<li>FLASH_Latency_8: FLASH Eight Latency cycles </li>
<li>FLASH_Latency_9: FLASH Nine Latency cycles </li>
<li>FLASH_Latency_10: FLASH Teen Latency cycles </li>
<li>FLASH_Latency_11: FLASH Eleven Latency cycles </li>
<li>FLASH_Latency_12: FLASH Twelve Latency cycles </li>
<li>FLASH_Latency_13: FLASH Thirteen Latency cycles </li>
<li>FLASH_Latency_14: FLASH Fourteen Latency cycles </li>
<li>FLASH_Latency_15: FLASH Fifteen Latency cycles</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>For STM32F405xx/407xx, STM32F415xx/417xx and STM32F401xx/411xE devices this parameter can be a value between FLASH_Latency_0 and FLASH_Latency_7.</dd>
<dd>
For STM32F42xxx/43xxx devices this parameter can be a value between FLASH_Latency_0 and FLASH_Latency_15.</dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4084d0184bab463a1579271bf474aaef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLASH_Unlock </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unlocks the FLASH control register access. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaaf8ea3b00c9a5f5eca0df9a795b83f22"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___f_l_a_s_h.html#gadc63a6f3404ff1f71229a66915e9cdc0">FLASH_Status</a> FLASH_WaitForLastOperation </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Waits for a FLASH operation to complete. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">None</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FLASH</td><td>Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_ERROR_OPERATION or FLASH_COMPLETE. </td></tr>
</table>
</dd>
</dl>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gaaf8ea3b00c9a5f5eca0df9a795b83f22_cgraph.png" border="0" usemap="#group___f_l_a_s_h_gaaf8ea3b00c9a5f5eca0df9a795b83f22_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gaaf8ea3b00c9a5f5eca0df9a795b83f22_cgraph" id="group___f_l_a_s_h_gaaf8ea3b00c9a5f5eca0df9a795b83f22_cgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group4.html#gac265b8d1e7ea11e44ceee28797c3debb" title="Returns the FLASH Status. " alt="" coords="252,5,383,32"/></map>
</div>
</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___f_l_a_s_h_gaaf8ea3b00c9a5f5eca0df9a795b83f22_icgraph.png" border="0" usemap="#group___f_l_a_s_h_gaaf8ea3b00c9a5f5eca0df9a795b83f22_icgraph" alt=""/></div>
<map name="group___f_l_a_s_h_gaaf8ea3b00c9a5f5eca0df9a795b83f22_icgraph" id="group___f_l_a_s_h_gaaf8ea3b00c9a5f5eca0df9a795b83f22_icgraph">
<area shape="rect" id="node2" href="group___f_l_a_s_h___group2.html#ga48f408290b32a3aebbcad83a00fc447c" title="Erases a specified FLASH Sector. " alt="" coords="282,5,425,32"/><area shape="rect" id="node3" href="group___f_l_a_s_h___group2.html#ga2aee006e5f4db4280bdedd401dfa50f9" title="Erases all FLASH Sectors. " alt="" coords="271,56,436,83"/><area shape="rect" id="node4" href="group___f_l_a_s_h___group2.html#gac297cb140218ab3fd6afa9c53087473c" title="Erases all FLASH Sectors in Bank 1. " alt="" coords="252,107,455,133"/><area shape="rect" id="node5" href="group___f_l_a_s_h___group2.html#ga0d841f874ee2cd6dcb3b5d08a39f28e2" title="Erases all FLASH Sectors in Bank 2. " alt="" coords="252,157,455,184"/><area shape="rect" id="node6" href="group___f_l_a_s_h___group2.html#gab84b52121e58d0dbc8ff2a92145d20f2" title="Programs a double word (64&#45;bit) at a specified address. " alt="" coords="258,208,449,235"/><area shape="rect" id="node7" href="group___f_l_a_s_h___group2.html#gaac9a2f400b92537bd42a6bd7cc237b11" title="Programs a word (32&#45;bit) at a specified address. " alt="" coords="278,259,429,285"/><area shape="rect" id="node8" href="group___f_l_a_s_h___group2.html#ga5c1336f667950a8765887228f1d0d501" title="Programs a half word (16&#45;bit) at a specified address. " alt="" coords="267,309,440,336"/><area shape="rect" id="node9" href="group___f_l_a_s_h___group2.html#gac425adf52fe7f229ef6bb893fe386848" title="Programs a byte (8&#45;bit) at a specified address. " alt="" coords="280,360,427,387"/><area shape="rect" id="node10" href="group___f_l_a_s_h___group3.html#gaffe7e91bcce65ac079ae5afa1db568b5" title="Enables or disables the write protection of the desired sectors, for the first 1 Mb of the Flash..." alt="" coords="271,411,435,437"/><area shape="rect" id="node11" href="group___f_l_a_s_h___group3.html#gadf76da1410201befd9b6d0e6b045765d" title="Enables or disables the write protection of the desired sectors, for the second 1 Mb of the Flash..." alt="" coords="268,461,439,488"/><area shape="rect" id="node12" href="group___f_l_a_s_h___group3.html#gad2905f3985df53e8bc5115d34a544550" title="Enables or disables the read/write protection (PCROP) of the desired sectors, for the first 1 MB of t..." alt="" coords="264,512,443,539"/><area shape="rect" id="node13" href="group___f_l_a_s_h___group3.html#ga81cc635921384a7475396118a7914436" title="Enables or disables the read/write protection (PCROP) of the desired sectors. " alt="" coords="260,563,447,589"/><area shape="rect" id="node14" href="group___f_l_a_s_h___group3.html#ga12cb6799f725a49cd151eef4d6d1789b" title="Sets the read protection level. " alt="" coords="273,613,433,640"/><area shape="rect" id="node15" href="group___f_l_a_s_h___group3.html#ga6b605409e4271b4cc6dfb56ed8108a1a" title="Programs the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY. " alt="" coords="273,664,433,691"/><area shape="rect" id="node16" href="group___f_l_a_s_h___group3.html#gabcbd44a62a2488d8b90aa8562a258ef1" title="Launch the option byte loading. " alt="" coords="284,715,423,741"/></map>
</div>
</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun May 10 2015 15:15:19 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>