亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? flash.h

?? STR711 IAP底層驅(qū)動程序
?? H
字號:
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
* File Name          : flash.h
* Author             : MCD Application Team
* Date First Issued  : 28/07/2003
* Description        : This file contains all the functions prototypes for the
*                      Embedded Flash software library.
********************************************************************************
* History:
*  02/01/2006 : IAP Version 2.0
*  11/24/2004 : IAP Version 1.0
*******************************************************************************
 THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
 CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
 AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
 OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
 OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
 CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/
#ifndef _FLASH_H
#define _FLASH_H

#include "71x_map.h"

#define FLASH_B0F0 0x00000001
#define FLASH_B0F1 0x00000002
#define FLASH_B0F2 0x00000004
#define FLASH_B0F3 0x00000008
#define FLASH_B0F4 0x00000010
#define FLASH_B0F5 0x00000020
#define FLASH_B0F6 0x00000040
#define FLASH_B0F7 0x00000080

#define FLASH_B1F0 0x00010000
#define FLASH_B1F1 0x00020000

#define FLASH_B0 (FLASH_B0F0 | FLASH_B0F1 | FLASH_B0F2 | FLASH_B0F3 | FLASH_B0F4 | FLASH_B0F5 | FLASH_B0F6 | FLASH_B0F7)
#define FLASH_B1 (FLASH_B1F0 | FLASH_B1F1)

typedef enum
{
  FLASH_BANK0 = 0x1000000,
  FLASH_BANK1 = 0x2000000
} flashbanks;

typedef enum
{
  FLASH_BSYA0   =  0x01, /* 000-00001 = 0000 0001 = 0x01 */ /* FLASH_CR0.1 */
  FLASH_BSYA1   =  0x02, /* 000-00010 = 0000 0010 = 0x02 */ /* FLASH_CR0.2 */
  FLASH_LOCK    =  0x04, /* 000-00100 = 0000 0100 = 0x04 */ /* FLASH_CR0.4*/
  FLASH_INTP    =  0x14, /* 000-10100 = 0001 0100 = 0x14 */ /* FLASH_CR0.20 */
  FLASH_B0S     =  0x38, /* 001-11000 = 0011 1000 = 0x38 */ /* FLASH_CR1.24*/
  FLASH_B1S     =  0x39, /* 001-11001 = 0011 1001 = 0x39 */ /* FLASH_CR1.25*/
  FLASH_ERR     =  0xA0, /* 101-00000 = 1010 0000 = 0xA0 */ /* FLASH_ER.0*/
  FLASH_ERER    =  0xA1, /* 101-00001 = 1010 0001 = 0xA1 */ /* FLASH_ER.1*/
  FLASH_PGER    =  0xA2, /* 101-00010 = 1010 0010 = 0xA2 */ /* FLASH_ER.2*/
  FLASH_10ER    =  0xA3, /* 101-00011 = 1010 0011 = 0xA3 */ /* FLASH_ER.3*/
  FLASH_SEQER   =  0xA6, /* 101-00110 = 1010 0110 = 0xA6 */ /* FLASH_ER.6*/
  FLASH_RESER   =  0xA7, /* 101-00111 = 1010 0111 = 0xA7 */ /* FLASH_ER.7*/
  FLASH_WPF     =  0xA8  /* 101-01000 = 1010 1000 = 0xA8 */ /* FLASH_ER.8*/
} flashflags;

#define FLASH_WMS_Mask   0x80000000
#define FLASH_SUSP_Mask  0x40000000 
#define FLASH_WPG_Mask   0x20000000 
#define FLASH_DWPG_Mask  0x10000000  
#define FLASH_SER_Mask   0x08000000  
#define FLASH_SPR_Mask   0x01000000 
#define FLASH_DBGP_Mask  0x00000002
#define FLASH_ACCP_Mask  0x00000001

#define FLASH_Reg_Mask   0xE0 
#define FLASH_Flag_Mask  0x1F 

#define FLASH_INTM_Mask  0x00200000 


/*******************************************************************************
* Function Name  : FLASH_Init
* Description    : Initialise the Flash
* Input          : None
* Return         : None
*******************************************************************************/
void FLASH_Init(void);

/*******************************************************************************
* Function Name  : FLASH_FlagStatus
* Description    : Returns the NewState of Flash flags
* Input 1        : Flash Flag (FLASH_BSYA0,  FLASH_BSYA1, FLASH_LOCK, FLASH_INTP
*                  FLASH_B0S, FLASH_B1S, FLASH_ERR, FLASH_ERER, FLASH_PGER, 
*                  FLASH_10ER, FLASH_SEQER, FLASH_RESER, FLASH_WPF)  
* Return         : flagstatus (SET or RESET)
*******************************************************************************/
FlagStatus FLASH_FlagStatus(flashflags Xflag);

/*******************************************************************************
* Function Name  : FLASH_WriteOpStatus
* Description    : Checks the write operation status
* Input 1        : Flash bank (FLASH_BANK0 or FLASH_BANK1)
* Return         : write operation status (Write operation is going on if 
*                  FlagStatus is SET and write operation is completed if
*                  FlagStatus is RESET)
*******************************************************************************/
__inline FlagStatus FLASH_WriteOpStatus(flashbanks Xbank)
{
  return Xbank == FLASH_BANK0 ? FLASH_FlagStatus(FLASH_BSYA0) : FLASH_FlagStatus(FLASH_BSYA1);
}

/*******************************************************************************
* Function Name  : FLASH_WordWrite
* Description    : Writes a Word to the Flash
* Input 1        : Destination Address
* Input 2        : Word to program
* Return         : None
*******************************************************************************/
void FLASH_WordWrite(u32 TargetAdd, u32 Data);

/*******************************************************************************
* Function Name  : FLASH_DWordWrite
* Description    : Writes Double Word to the Flash
* Input 1        : Destination Address
* Input 2        : Word 1 To program
* Input 3        : Word 2 To program
* Return         : None
*******************************************************************************/
void FLASH_DWordWrite(u32 TargetAdd, u32 Data0, u32 Data1);

/*******************************************************************************
* Function Name  : FLASH_SectorErase
* Description    : Erases a Flash sector
* Input 1        : Sectors to be Erased
* Return         : None
*******************************************************************************/
void FLASH_SectorErase(u32 Xsectors);

/*******************************************************************************
* Function Name  : FLASH_BankErase
* Description    : Erases a Bank of the Flash
* Input 1        : Bank to be Erased
* Return         : None
*******************************************************************************/
inline void FLASH_BankErase(flashbanks Xbank)
{
  FLASH_SectorErase(Xbank == FLASH_BANK0 ? FLASH_B0 : FLASH_B1);
}

/*******************************************************************************
* Function Name  : FLASH_Suspend
* Description    : Suspends the current program or erase operation
* Input 1        : None
* Return         : Flash CR0 register
*******************************************************************************/
u32 FLASH_Suspend(void);

/*******************************************************************************
* Function Name  : FLASH_Resume
* Description    : Resume a Suspended program or erase operation
* Input 1        : The operation to be resumed
* Return         : None
*******************************************************************************/
void FLASH_Resume(u32 FLASH_LastOperation);

/*******************************************************************************
* Function Name  : FLASH_WordRead
* Description    : Read a single word of the flash
* Input 1        : Source Address
* Return         : Word
*******************************************************************************/
u32 FLASH_WordRead(u32 FLASH_SourceAdd);

/*******************************************************************************
* Function Name  : FLASH_FlagClear
* Description    : Clears a flash flag
* Input 1        : Flash Flag
* Return         : None
*******************************************************************************/
void FLASH_FlagClear(flashflags Xflag);

/*******************************************************************************
* Function Name  : FLASH_ITConfig
* Description    : Enables or Disables the write-end interrupt
* Input 1        : FunctionalState(Enable, Disable)
* Return         : None
*******************************************************************************/
inline void FLASH_ITConfig(FunctionalState NewState)
{
  if (NewState == ENABLE) FLASHR->CR0 |= FLASH_INTM_Mask;
  else FLASHR->CR0 &= ~FLASH_INTM_Mask;
}

/*******************************************************************************
* Function Name  : FLASH_ITStatus
* Description    : Checks if the write-end interrupt is enabled or not
* Input 1        : None
* Return         : Enable, Disable
*******************************************************************************/
inline FunctionalState FLASH_ITStatus(void)
{
  return (FLASHR->CR0 & FLASH_INTM_Mask)==0 ? DISABLE : ENABLE;
}

/*******************************************************************************
* Function Name  : FLASH_ITClear
* Description    : Clears an interrupt pending flag
* Input 1        : None
* Return         : None
*******************************************************************************/
inline void FLASH_ITClear(void)
{
  FLASHR->CR0 &= ~FLASH_INTM_Mask;
}

/*******************************************************************************
* Function Name  : FLASH_WritePrConfig
* Description    : Enable Write protection or Disable temporarily Write 
*                  protection of a flash sector.
* Input 1        : Flash Sector.
* Input 2        : Enable or disable Flash sector Write Protection.
* Return         : None.
*******************************************************************************/
void FLASH_WritePrConfig(u32 Xsectors, FunctionalState NewState);

/*******************************************************************************
* Function Name  : FLASH_PermanentDebugPrConfig
* Description    : Configures the Debug Protection Bits
* Input 1        : NewState: ENABLE or DISABLE.
* Return         : None.
* CAUTION        : In the case of NewState = DISABLE, the debug unprotection 
*                  code MUST be executed from the FLASH.
*******************************************************************************/
void FLASH_PermanentDebugPrConfig(FunctionalState NewState);

/*******************************************************************************
* Function Name  : FLASH_ProtectionLevel
* Description    : If the flash is Debug protected, up to 16 unprotection/
*                  protection cycles are possible using the NVAPR1 register.
*                  This routine returns the number of times of Debug unprotection. 
* Input          : None.
* Return         : Number of times of Debug Protection/Unprotection(0..15)
*                  Example: if 5 is returned, this means that the flash was debug 
*                  unprotected 5 times(uisng PDS bits)and debug protected 5 times 
*                  (1 time:using DBGP bit & 4 times: using PEN bits).   
*******************************************************************************/
u16 FLASH_ProtectionLevel(void);

/*******************************************************************************
* Function Name  : FLASH_WaitForLastTask
* Description    : Waits for the end of last task on a Flash Bank
* Input 1        : None
* Return         : Nones
*******************************************************************************/
void FLASH_WaitForLastTask(void);

#endif  /* _FLASH_H */

/*******************(C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一级二级| 911精品产国品一二三产区| 国产一区二区伦理| 久久精品国内一区二区三区| 香蕉影视欧美成人| 亚洲电影在线免费观看| 樱桃国产成人精品视频| 一区二区三区视频在线看| 综合激情成人伊人| 亚洲色图在线播放| 亚洲女性喷水在线观看一区| 亚洲裸体xxx| 一区二区三区免费看视频| 一区二区三区四区在线| 亚洲午夜久久久久| 日韩av电影免费观看高清完整版| 日本不卡视频在线| 国产在线一区二区| 国产v日产∨综合v精品视频| 懂色av一区二区三区免费看| 成人影视亚洲图片在线| 99久久国产综合精品色伊| 91麻豆高清视频| 欧美网站大全在线观看| 欧美一区二区三区免费视频| 久久综合色综合88| 国产精品三级视频| 一区二区在线观看免费视频播放| 亚洲成年人影院| 美女高潮久久久| 国产成人亚洲精品狼色在线| 99在线精品观看| 欧美日韩国产美| 精品乱人伦小说| 国产欧美日韩精品一区| 亚洲精品免费在线播放| 午夜av电影一区| 国产一区二区日韩精品| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲第一二三四区| 美女久久久精品| zzijzzij亚洲日本少妇熟睡| 欧美日韩日日摸| 久久久亚洲午夜电影| 亚洲人成影院在线观看| 美女久久久精品| 91丨porny丨首页| 日韩一区二区精品| 中文字幕一区二区三区色视频| 亚洲电影中文字幕在线观看| 国产精品一区二区在线观看不卡| 色一区在线观看| 久久婷婷色综合| 亚洲影视资源网| 国产成人精品aa毛片| 欧美日韩你懂的| 国产日韩精品一区二区浪潮av| 亚洲国产成人tv| 成人综合在线观看| 日韩欧美三级在线| 亚洲免费在线电影| 国产制服丝袜一区| 欧美精品粉嫩高潮一区二区| 中文字幕在线一区| 另类小说色综合网站| 91豆麻精品91久久久久久| 精品国产3级a| 视频一区二区不卡| 色综合网站在线| 国产欧美日韩久久| 精品一区二区久久久| 欧美视频在线播放| 亚洲欧美日韩中文字幕一区二区三区 | 久久机这里只有精品| 色哟哟一区二区在线观看| 国产亚洲精品超碰| 久久精品国产99国产精品| 欧洲av一区二区嗯嗯嗯啊| 国产精品无遮挡| 国内精品视频666| 51久久夜色精品国产麻豆| 曰韩精品一区二区| 99精品久久免费看蜜臀剧情介绍| 精品噜噜噜噜久久久久久久久试看| 亚洲成国产人片在线观看| 99热这里都是精品| 国产清纯在线一区二区www| 久久av资源站| 91精品国产综合久久久久久久| 一区二区三区在线视频免费| 99久久精品情趣| 国产精品无圣光一区二区| 国产成人鲁色资源国产91色综| 欧美大白屁股肥臀xxxxxx| 日韩高清在线一区| 欧美精品丝袜久久久中文字幕| 亚洲午夜免费电影| 在线日韩一区二区| 玉米视频成人免费看| 日本道免费精品一区二区三区| 综合自拍亚洲综合图不卡区| 国产精品系列在线播放| 国产亚洲精久久久久久| 国产91清纯白嫩初高中在线观看| 欧美精品一区二区三区蜜桃视频| 久久99精品网久久| 26uuuu精品一区二区| 精品一区二区在线观看| 欧美xxx久久| 国产综合色视频| 国产区在线观看成人精品| 国产mv日韩mv欧美| 国产精品国产三级国产| 91蜜桃免费观看视频| 亚洲欧美aⅴ...| 欧美色网一区二区| 免费成人av资源网| 久久男人中文字幕资源站| 国产激情视频一区二区三区欧美| 久久久精品天堂| 丰满岳乱妇一区二区三区| 国产精品乱码一区二三区小蝌蚪| www.亚洲人| 亚洲国产综合色| 337p亚洲精品色噜噜噜| 久久电影网电视剧免费观看| 国产视频一区二区在线观看| 99国产麻豆精品| 亚洲第一狼人社区| 欧美变态凌虐bdsm| 成人精品视频一区二区三区| 一区二区三区四区不卡在线| 欧美一区二区在线不卡| 国产一区二区日韩精品| 专区另类欧美日韩| 欧美日韩不卡一区二区| 国产一区二区精品久久| 国产精品久久久久久久久免费丝袜 | 国产在线不卡一卡二卡三卡四卡| 国产香蕉久久精品综合网| 91网站黄www| 日韩一区欧美二区| 国产欧美一区二区三区在线老狼| 91丨九色porny丨蝌蚪| 午夜电影一区二区三区| 久久久99久久| 欧美性高清videossexo| 精品一区二区三区日韩| 中文字幕在线观看不卡| 欧美日本在线播放| 国产精品亚洲综合一区在线观看| 亚洲免费资源在线播放| 91精品国产免费| 国产91精品一区二区麻豆网站 | 国产精品久久影院| 欧美三级电影在线看| 国产在线看一区| 一区二区三区欧美日韩| 久久免费看少妇高潮| 色88888久久久久久影院野外| 人人爽香蕉精品| 中文字幕亚洲成人| 日韩一区二区高清| 日本韩国一区二区三区视频| 国产在线一区观看| 性感美女极品91精品| 中文字幕亚洲电影| 亚洲精品一区二区三区四区高清 | 久久久一区二区三区捆绑**| 在线观看免费一区| 成人免费看视频| 免费xxxx性欧美18vr| 亚洲精品国产成人久久av盗摄 | 久久精品99国产精品日本| 亚洲男人都懂的| 2023国产精华国产精品| 欧美日韩国产一区| 色婷婷综合久久久中文字幕| 久久www免费人成看片高清| 亚洲电影视频在线| 亚洲欧美色一区| 日本一区二区综合亚洲| 精品国精品国产| 欧美人与性动xxxx| 欧美性猛片aaaaaaa做受| 成人avav影音| 国产麻豆午夜三级精品| 蜜桃视频免费观看一区| 亚洲成人中文在线| 亚洲精品日韩综合观看成人91| 中文字幕精品综合| 久久综合久久综合亚洲| 欧美一区二区三区白人| 欧美三区免费完整视频在线观看| 91亚洲永久精品| 成人一区二区三区在线观看| 国产在线播放一区| 狠狠狠色丁香婷婷综合激情| 男人操女人的视频在线观看欧美| 亚洲大片在线观看|