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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? flash2812_api_library.h

?? 合眾達開發板源代碼之addasmUnited Development Board of the source code of addasm
?? H
字號:
//
//      TMDX BETA RELEASE
//      Intended for product evaluation purposes
//
//###########################################################################
//
// FILE:  Flash28_API_Library.h	
//
// TITLE: F2810/12 Flash Algo's main include file
//
// DESCRIPTION:
//
//       This file should be included in any project that uses the
//       F2812 API.    
//
// THIS MATERIAL IS FOR TMX EVALUATION AND IS SUBJECT TO CHANGE BY TI AT ANY TIME.
// IT IS THE USER'S RESPONSIBLITY TO UPGRADE TO THE LATEST API WHEN AVAILABLE
//
//###########################################################################
//
//  Ver | dd mmm yyyy | Who  | Description of changes
// =====|=============|======|===============================================
//  0.01| 24 Mar 2003 | TI   | Beta 1 Release
//###########################################################################

#ifndef FLASH2812_API_LIBRARY_H
#define FLASH2812_API_LIBRARY_H

#include "Flash2812_API_Config.h"

#ifdef __cplusplus
extern "C" {
#endif



/*---------------------------------------------------------------------------
 28x Datatypes

 For Portability, User Is Recommended To Use Following Data Type Size
 Definitions For 16-bit and 32-Bit Signed/Unsigned Integers:
---------------------------------------------------------------------------*/

/*
#ifndef DSP28_DATA_TYPES
#define DSP28_DATA_TYPES
typedef int             int16;
typedef long            int32;
typedef unsigned int    Uint16;
typedef unsigned long   Uint32;
#endif
*/

/*---------------------------------------------------------------------------
 API Status Messages

 The following status values are returned from the API to the calling
 program.  These can be used to determine if the API function passed
 or failed.  
---------------------------------------------------------------------------*/
 // Operation passed, no errors were flagged
#define STATUS_SUCCESS     	            0   

// The CSM is preventing the function from performing its operation
#define STATUS_FAIL_CSM_LOCKED          10

// Device REVID does not match that required by the API
#define STATUS_FAIL_REVID_INVALID       11
    
// Invalid address passed to the API
#define STATUS_FAIL_ADDR_INVALID        12

// ---- Erase Specific errors ---- 
#define STATUS_FAIL_NO_SECTOR_SPECIFIED 20
#define STATUS_FAIL_PRECONDITION        21
#define STATUS_FAIL_ERASE               22
#define STATUS_FAIL_COMPACT             23

// ---- Program Specific errors ----  
#define STATUS_FAIL_PROGRAM             30
#define STATUS_FAIL_ZERO_BIT_ERROR      31

// ---- Verify Specific errors ----
#define STATUS_FAIL_VERIFY              40

// Busy is set by each API function before it determines
// a pass or fail condition for that operation.  
// The calling function will will not receive this 
// status condition back from the API
#define STATUS_BUSY                999    

/*---------------------------------------------------------------------------
 Flash sector mask definitions

 The following macros can be used to form a mask specifying which sectors
 will be erased by the erase API function.
 
 Bit0 = Sector A
 Bit1 = Sector B
 ...
 Bit9 = Sector J
---------------------------------------------------------------------------*/

#define SECTORA   (Uint16)0x0001
#define SECTORB   (Uint16)0x0002
#define SECTORC   (Uint16)0x0004
#define SECTORD   (Uint16)0x0008
#define SECTORE   (Uint16)0x0010
#if FLASH_F2812
#define SECTORF   (Uint16)0x0020
#define SECTORG   (Uint16)0x0040
#define SECTORH   (Uint16)0x0080
#define SECTORI   (Uint16)0x0100
#define SECTORJ   (Uint16)0x0200
#endif

#if FLASH_F2812
// All sectors on an F2812 - Sectors A - J
#define SECTOR_F2812  (SECTORA|SECTORB|SECTORC|\
                       SECTORD|SECTORE|SECTORF|\
                       SECTORG|SECTORH|SECTORI|\
                       SECTORJ)
#endif // -- end F2812

#if FLASH_F2810
// All sectors on an F2810 - Sectors A - E
#define SECTOR_F2810  (SECTORA|SECTORB|SECTORC|\
                       SECTORD|SECTORE)
#endif // -- end F2810

/*---------------------------------------------------------------------------
 API Status Structure
 
 This structure is used to pass debug data back to the calling routine.
 Note that the Erase API function has 3 parts: precondition, erase and
 and compaction. Erase and compaction failures will not populate 
 the expected and actual data fields.  
---------------------------------------------------------------------------*/

typedef struct {
    Uint32  FirstFailAddr;
    Uint16  ExpectedData;
    Uint16  ActualData;
}FLASH_ST;

/*---------------------------------------------------------------------------
   Interface Function prototypes
   
   For each 28x Flash API library, the function names are of the form:
   Flash<DeviceNum>_<Operation>()
   
   Where <DeviceNum> is the device: ie 2810 or 2812
         <Operation> is the operation such as Erase, Program...
         
   For portability for users who may move between the F2810 and
   F2812, the following macro definitions are supplied. 
   
   Using these macro definitions,  the user can use instead make a generic
   call:  Flash_<Operation> and the macro will map the call to the proper
   device function
---------------------------------------------------------------------------*/

#if FLASH_F2810
#define Flash_Erase(a,b)        Flash2810_Erase(a,b)
#define Flash_Program(a,b,c,d)  Flash2810_Program(a,b,c,d)
#define Flash_Verify(a,b,c,d)   Flash2810_Verify(a,b,c,d)
#define Flash_ToggleTest(a,b,c) Flash2810_ToggleTest(a,b,c)

#elif FLASH_F2812
#define Flash_Erase(a,b)        Flash2812_Erase(a,b)
#define Flash_Program(a,b,c,d)  Flash2812_Program(a,b,c,d)
#define Flash_Verify(a,b,c,d)   Flash2812_Verify(a,b,c,d)
#define Flash_ToggleTest(a,b,c) Flash2812_ToggleTest(a,b,c)
#endif

extern Uint16 Flash_Erase(Uint16 SectorMask, FLASH_ST *FEraseStat);
extern Uint16 Flash_Program(volatile Uint16 *FlashAddr, volatile Uint16 *BufAddr, Uint32 Length, FLASH_ST *FProgStatus);
extern Uint16 Flash_Verify(volatile Uint16 *StartAddr, volatile Uint16 *BufAddr, Uint32 Length, FLASH_ST *FVerifyStat);
extern void Flash_ToggleTest(volatile Uint16 *MuxReg, volatile Uint16 *ToggleReg, Uint16 Mask);

/*---------------------------------------------------------------------------
   Frequency Scale factor:
   The calling program must provide this global parameter used
   for frequency scaling the algo's.
----------------------------------------------------------------------------*/

extern Uint32 Flash_CPUScaleFactor;

/*---------------------------------------------------------------------------
   API load/run symbols:
   These symbols are defined by the linker during the link.  Refer to the
   Flash28_API section in the example .cmd file:

   Flash28_API:
   {
        Flash2812_API_Library.lib(.econst) 
        Flash2812_API_Library.lib(.text)
   } LOAD = FLASH, 
     RUN = SARAM, 
     LOAD_START(_Flash28_API_LoadStart),
     LOAD_END(_Flash28_API_LoadEnd),
     RUN_START(_Flash28_API_RunStart),
     PAGE = 0
   
   These are used to copy the flash API from flash to SARAM
   
----------------------------------------------------------------------------*/

extern Uint16 Flash28_API_LoadStart;
extern Uint16 Flash28_API_LoadEnd;
extern Uint16 Flash28_API_RunStart;

#ifdef __cplusplus
}
#endif /* extern "C" */


#endif // -- end FLASH2812_API_LIBRARY_H 

// --------- END OF FILE ----------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
秋霞av亚洲一区二区三| 日韩在线观看一区二区| 精品国产乱码久久久久久蜜臀| 99久久99久久免费精品蜜臀| 成人免费高清在线| 91香蕉视频污| 欧洲精品在线观看| 欧美日韩国产在线观看| 91精品一区二区三区在线观看| 欧美精品日韩一本| 日韩精品在线看片z| 精品精品国产高清a毛片牛牛| 精品成人佐山爱一区二区| 26uuuu精品一区二区| 久久久91精品国产一区二区三区| 日本一区二区三区在线不卡| 国产精品人成在线观看免费| 亚洲视频在线观看一区| 亚洲电影你懂得| 免费成人你懂的| 国产久卡久卡久卡久卡视频精品| 成人激情免费网站| 欧美日韩三级视频| 欧美精品一区二| 亚洲欧洲av色图| 亚洲图片欧美色图| 国产一区二区三区观看| 91麻豆免费视频| 日韩久久久精品| 综合激情网...| 久久se精品一区二区| 成人app网站| 欧美一区二区性放荡片| 国产亚洲成年网址在线观看| 亚洲精品国产一区二区三区四区在线| 视频一区欧美日韩| 成人自拍视频在线观看| 91精品国产色综合久久| 中文子幕无线码一区tr| 日韩在线a电影| 91麻豆视频网站| 国产性色一区二区| 亚洲大片精品永久免费| 成人免费av在线| 日韩无一区二区| 日韩理论片在线| 韩国理伦片一区二区三区在线播放| 91视频在线观看| 国产亚洲成年网址在线观看| 丝袜亚洲另类欧美| 91啦中文在线观看| 精品对白一区国产伦| 亚洲3atv精品一区二区三区| 成人av在线网| 欧美激情一区二区在线| 久久成人免费日本黄色| 欧美日韩一区二区三区四区五区 | 美女高潮久久久| 欧美最猛性xxxxx直播| 国产欧美日产一区| 麻豆精品视频在线| 538prom精品视频线放| 一区二区成人在线视频| 9人人澡人人爽人人精品| 久久精品视频在线免费观看 | 国产毛片精品视频| 欧美一区二区大片| 天堂成人免费av电影一区| 在线视频一区二区三| 自拍偷拍亚洲欧美日韩| 99re这里都是精品| 亚洲男帅同性gay1069| aaa欧美日韩| 亚洲六月丁香色婷婷综合久久 | 亚洲成在人线在线播放| 在线视频国内自拍亚洲视频| 亚洲丝袜精品丝袜在线| av激情成人网| 一区二区三区产品免费精品久久75| 波多野结衣一区二区三区 | 精品视频在线免费| 香蕉影视欧美成人| 91精品国产欧美日韩| 美国毛片一区二区| 久久久一区二区三区| 国产高清在线精品| 国产精品久久久久毛片软件| 不卡一区二区在线| 亚洲激情校园春色| 欧美日韩成人综合天天影院 | 亚洲综合色在线| 欧美亚洲综合在线| 日韩av一区二区三区| 日韩欧美第一区| 成人av网站免费观看| 亚洲精品视频自拍| 日韩三级视频在线看| 国产一区二区三区观看| 亚洲天堂av一区| 欧美一区二区三区精品| 国产高清在线精品| 一区二区三区自拍| 欧美一区二区成人6969| 成人av网站大全| 首页欧美精品中文字幕| 久久中文娱乐网| 91高清在线观看| 经典一区二区三区| 一区二区三区在线视频免费| 欧美一区二区精美| a4yy欧美一区二区三区| 免费高清成人在线| 亚洲精品精品亚洲| 久久色.com| 欧美丰满少妇xxxbbb| www.亚洲激情.com| 久久99在线观看| 亚洲激情图片qvod| 国产日韩欧美高清| 日韩一区二区中文字幕| 99久久精品国产麻豆演员表| 日韩vs国产vs欧美| 一区二区三区四区不卡在线| 日韩欧美一级二级三级| 欧美三级乱人伦电影| 91影视在线播放| 国产一区二区电影| 日本va欧美va瓶| 一区二区三区在线免费| 国产精品美女久久久久av爽李琼| 宅男在线国产精品| 一本一本久久a久久精品综合麻豆| 免费在线观看一区| 亚洲精品伦理在线| 亚洲婷婷在线视频| 国产女同性恋一区二区| 日韩欧美美女一区二区三区| 91福利精品视频| 色综合 综合色| 不卡一区二区三区四区| 国产一区二区日韩精品| 久久精品国产**网站演员| 亚欧色一区w666天堂| 午夜精品免费在线观看| 亚洲综合无码一区二区| 一区二区三区不卡在线观看 | 91.com在线观看| 欧美曰成人黄网| 色婷婷亚洲婷婷| 日本精品裸体写真集在线观看| 成人ar影院免费观看视频| 成人免费观看视频| 91在线观看下载| av在线综合网| 在线视频一区二区三区| 欧美视频在线观看一区| 欧美亚洲精品一区| 欧美日韩精品一二三区| 欧美老女人在线| 欧美夫妻性生活| 欧美大片一区二区| 久久精品亚洲精品国产欧美| 亚洲国产精品成人久久综合一区| 国产亚洲综合性久久久影院| 亚洲国产成人一区二区三区| 中文字幕亚洲一区二区va在线| 亚洲欧美一区二区在线观看| 中文字幕一区免费在线观看| 一区二区三区中文字幕| 午夜精品久久久久久久久久| 麻豆精品一区二区综合av| 国内成人精品2018免费看| 国产69精品久久777的优势| 成人免费视频网站在线观看| 色呦呦网站一区| 4438x亚洲最大成人网| 精品国产一二三| 国产精品无人区| 亚洲成av人片在线| 国产综合色精品一区二区三区| 成人黄色大片在线观看| 在线观看日韩毛片| 日韩一区二区三区免费看| 欧美国产乱子伦| 亚洲成人先锋电影| 国产精品一区二区黑丝| 欧美性生活久久| 2021中文字幕一区亚洲| 亚洲欧美综合网| 九九九精品视频| 91久久精品网| 欧美高清在线精品一区| 日韩精品91亚洲二区在线观看| 国产在线不卡一卡二卡三卡四卡| 不卡av在线免费观看| 日韩欧美亚洲一区二区| 一二三区精品福利视频| 高清在线不卡av| 欧美高清性hdvideosex| 亚洲成人av在线电影|