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

999 lines
49 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: Option Bytes Programming functions</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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Option Bytes Programming functions<div class="ingroups"><a class="el" href="group___s_t_m32_f4xx___std_periph___driver.html">STM32F4xx_StdPeriph_Driver</a> &raquo; <a class="el" href="group___f_l_a_s_h.html">RAMFUNC</a> &raquo; <a class="el" href="group___f_l_a_s_h___private___functions.html">FLASH_Private_Functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Option Bytes Programming functions.
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for Option Bytes Programming functions:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group___f_l_a_s_h___group3.png" border="0" alt="" usemap="#group______f__l__a__s__h______group3"/>
<map name="group______f__l__a__s__h______group3" id="group______f__l__a__s__h______group3">
<area shape="rect" id="node2" href="group___f_l_a_s_h___private___functions.html" title="FLASH_Private_Functions" alt="" coords="5,13,180,39"/></map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></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___group3.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___group3.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___group3.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___group3.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___group3.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___group3.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___group3.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___group3.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___group3.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: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___group3.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: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___group3.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: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___group3.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___group3.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___group3.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___group3.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___group3.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___group3.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___group3.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___group3.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>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Option Bytes Programming functions. </p>
<pre class="fragment"> ===============================================================================
##### Option Bytes Programming functions #####
===============================================================================
[..]
This group includes the following functions:
(+) void FLASH_OB_Unlock(void)
(+) void FLASH_OB_Lock(void)
(+) void FLASH_OB_WRPConfig(uint32_t OB_WRP, FunctionalState NewState)
(+) void FLASH_OB_WRP1Config(uint32_t OB_WRP, FunctionalState NewState)
(+) void FLASH_OB_PCROPSelectionConfig(uint8_t OB_PCROPSelect)
(+) void FLASH_OB_PCROPConfig(uint32_t OB_PCROP, FunctionalState NewState)
(+) void FLASH_OB_PCROP1Config(uint32_t OB_PCROP, FunctionalState NewState)
(+) void FLASH_OB_RDPConfig(uint8_t OB_RDP)
(+) void FLASH_OB_UserConfig(uint8_t OB_IWDG, uint8_t OB_STOP, uint8_t OB_STDBY)
(+) void FLASH_OB_BORConfig(uint8_t OB_BOR)
(+) FLASH_Status FLASH_ProgramOTP(uint32_t Address, uint32_t Data)
(+) FLASH_Status FLASH_OB_Launch(void)
(+) uint32_t FLASH_OB_GetUser(void)
(+) uint8_t FLASH_OB_GetWRP(void)
(+) uint8_t FLASH_OB_GetWRP1(void)
(+) uint8_t FLASH_OB_GetPCROP(void)
(+) uint8_t FLASH_OB_GetPCROP1(void)
(+) uint8_t FLASH_OB_GetRDP(void)
(+) uint8_t FLASH_OB_GetBOR(void)
[..]
The following function can be used only for STM32F42xxx/43xxx devices.
(+) void FLASH_OB_BootConfig(uint8_t OB_BOOT)
[..]
Any operation of erase or program should follow these steps:
(#) Call the FLASH_OB_Unlock() function to enable the FLASH option control
register access
(#) Call one or several functions to program the desired Option Bytes:
(++) void FLASH_OB_WRPConfig(uint32_t OB_WRP, FunctionalState NewState)
=&gt; to Enable/Disable the desired sector write protection
(++) void FLASH_OB_RDPConfig(uint8_t OB_RDP) =&gt; to set the desired read
Protection Level
(++) void FLASH_OB_UserConfig(uint8_t OB_IWDG, uint8_t OB_STOP, uint8_t OB_STDBY)
=&gt; to configure the user Option Bytes.
(++) void FLASH_OB_BORConfig(uint8_t OB_BOR) =&gt; to set the BOR Level
(#) Once all needed Option Bytes to be programmed are correctly written,
call the FLASH_OB_Launch() function to launch the Option Bytes
programming process.
-@- When changing the IWDG mode from HW to SW or from SW to HW, a system
reset is needed to make the change effective.
(#) Call the FLASH_OB_Lock() function to disable the FLASH option control
register access (recommended to protect the Option Bytes against
possible unwanted operations)</pre> <h2 class="groupheader">Function Documentation</h2>
<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___group3_gabcbd44a62a2488d8b90aa8562a258ef1_cgraph.png" border="0" usemap="#group___f_l_a_s_h___group3_gabcbd44a62a2488d8b90aa8562a258ef1_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h___group3_gabcbd44a62a2488d8b90aa8562a258ef1_cgraph" id="group___f_l_a_s_h___group3_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___group3_ga81cc635921384a7475396118a7914436_cgraph.png" border="0" usemap="#group___f_l_a_s_h___group3_ga81cc635921384a7475396118a7914436_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h___group3_ga81cc635921384a7475396118a7914436_cgraph" id="group___f_l_a_s_h___group3_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___group3_gad2905f3985df53e8bc5115d34a544550_cgraph.png" border="0" usemap="#group___f_l_a_s_h___group3_gad2905f3985df53e8bc5115d34a544550_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h___group3_gad2905f3985df53e8bc5115d34a544550_cgraph" id="group___f_l_a_s_h___group3_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___group3_ga12cb6799f725a49cd151eef4d6d1789b_cgraph.png" border="0" usemap="#group___f_l_a_s_h___group3_ga12cb6799f725a49cd151eef4d6d1789b_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h___group3_ga12cb6799f725a49cd151eef4d6d1789b_cgraph" id="group___f_l_a_s_h___group3_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___group3_ga6b605409e4271b4cc6dfb56ed8108a1a_cgraph.png" border="0" usemap="#group___f_l_a_s_h___group3_ga6b605409e4271b4cc6dfb56ed8108a1a_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h___group3_ga6b605409e4271b4cc6dfb56ed8108a1a_cgraph" id="group___f_l_a_s_h___group3_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___group3_gadf76da1410201befd9b6d0e6b045765d_cgraph.png" border="0" usemap="#group___f_l_a_s_h___group3_gadf76da1410201befd9b6d0e6b045765d_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h___group3_gadf76da1410201befd9b6d0e6b045765d_cgraph" id="group___f_l_a_s_h___group3_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___group3_gaffe7e91bcce65ac079ae5afa1db568b5_cgraph.png" border="0" usemap="#group___f_l_a_s_h___group3_gaffe7e91bcce65ac079ae5afa1db568b5_cgraph" alt=""/></div>
<map name="group___f_l_a_s_h___group3_gaffe7e91bcce65ac079ae5afa1db568b5_cgraph" id="group___f_l_a_s_h___group3_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>
</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>