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

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

?? flash2812_api_library.h

?? memory算法用在tms320f2812上
?? 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 ----------------------------------

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美自拍偷拍色图| 激情久久五月天| 亚洲 欧美综合在线网络| 亚洲嫩草精品久久| 亚洲成人在线免费| 视频一区二区三区入口| 麻豆一区二区在线| 国产大陆亚洲精品国产| 99精品国产视频| 欧美午夜一区二区三区免费大片| 欧美在线观看视频一区二区三区| 在线中文字幕一区二区| 欧美久久免费观看| 久久久亚洲精品石原莉奈 | 亚洲男人的天堂av| 五月激情六月综合| 成人免费看黄yyy456| 欧美怡红院视频| 中文一区一区三区高中清不卡| 亚洲色图欧洲色图婷婷| 日本欧美一区二区三区乱码| 成人午夜大片免费观看| 欧美人妇做爰xxxⅹ性高电影 | 日韩一级片在线观看| 国产精品无码永久免费888| 午夜精品一区二区三区电影天堂 | 国产一区不卡在线| 色哟哟欧美精品| 国产精品久久久久久久蜜臀| 三级久久三级久久| 精品视频免费在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日本不卡一二三| 欧美日本国产视频| 中文字幕五月欧美| 国产成人综合网站| 综合激情成人伊人| 国产99一区视频免费| 国产精品三级电影| av网站一区二区三区| 亚洲欧美日韩国产中文在线| 视频一区在线播放| av一二三不卡影片| 久久久久久久久免费| 裸体一区二区三区| 欧美一区二区黄| 国内精品久久久久影院一蜜桃| 久久一留热品黄| 色综合天天综合色综合av| 亚洲成人免费在线| 欧美不卡视频一区| 成人美女视频在线观看18| 亚洲视频小说图片| 26uuu精品一区二区| 色天使色偷偷av一区二区| 天堂在线一区二区| 亚洲私人影院在线观看| 91精品国产91久久综合桃花| 成人av电影在线| 日本美女一区二区| 亚洲午夜精品网| 一区二区三区视频在线看| 亚洲精品在线网站| 欧美一区二区三区电影| 成人性生交大片免费| 国产一区二区三区免费观看| 日韩影院精彩在线| 夜夜嗨av一区二区三区| 亚洲女同女同女同女同女同69| 日韩欧美一级二级三级久久久| 欧洲激情一区二区| 欧洲精品中文字幕| 欧美国产精品久久| 国产欧美综合在线观看第十页| 成人激情文学综合网| 国产偷国产偷亚洲高清人白洁| 91精品国产高清一区二区三区| 日本高清不卡视频| 一本一本大道香蕉久在线精品| 99国产精品久| 91精品国产综合久久精品图片| 欧美三级日韩三级国产三级| 91精品免费观看| 欧美精品一区二区久久婷婷| 国产精品美女久久久久aⅴ| 最新日韩在线视频| 免费高清视频精品| 蜜臀久久99精品久久久画质超高清| 一个色综合av| 美腿丝袜亚洲色图| www.视频一区| 日韩一区二区免费高清| 久久久99免费| 一区二区在线电影| 美女脱光内衣内裤视频久久网站| 高清不卡在线观看| 欧美无砖砖区免费| 中文字幕一区三区| 国产一区二区三区久久久| 在线观看亚洲精品视频| 久久亚洲精品小早川怜子| 亚洲综合一区二区精品导航| 国产成人亚洲综合a∨婷婷图片| 欧美日韩国产片| 亚洲女同一区二区| 国产aⅴ综合色| 久久色成人在线| 精品亚洲成a人| 69久久夜色精品国产69蝌蚪网| 亚洲自拍偷拍综合| 91小视频在线观看| 一区二区三区自拍| 91久久一区二区| 亚洲国产精品久久人人爱蜜臀| 91麻豆精品秘密| 亚洲成人一区二区在线观看| 在线成人免费视频| 丝瓜av网站精品一区二区| 欧美日韩国产成人在线91| 全国精品久久少妇| 欧美亚洲国产怡红院影院| 亚洲激情欧美激情| 91年精品国产| 亚洲色大成网站www久久九九| 欧美性大战久久久久久久| 天堂在线亚洲视频| 91在线一区二区| 日韩黄色小视频| 精品国产一区二区三区久久影院| 久久99最新地址| 最好看的中文字幕久久| 日本道精品一区二区三区| 精品一区二区免费视频| 国产欧美日韩精品在线| 成人av综合在线| 日本强好片久久久久久aaa| 国产午夜一区二区三区| 555www色欧美视频| 国产成人综合在线观看| 麻豆91免费看| 全部av―极品视觉盛宴亚洲| 亚洲美女屁股眼交3| 中文幕一区二区三区久久蜜桃| 欧美丰满高潮xxxx喷水动漫| 国产成人在线视频免费播放| 蜜桃视频在线观看一区二区| 亚洲免费观看高清完整版在线| 久久奇米777| 欧美国产日本韩| 国产精品婷婷午夜在线观看| 久久先锋影音av鲁色资源网| 精品久久国产字幕高潮| 欧美伦理视频网站| 这里只有精品电影| 777午夜精品免费视频| 91精品欧美综合在线观看最新 | 99久久精品费精品国产一区二区| 狠狠色丁香久久婷婷综| 国产一区 二区 三区一级| 国产伦精品一区二区三区视频青涩 | 国产日韩欧美综合一区| 国产精品久久久久久久久搜平片| 国产日本亚洲高清| 一区二区三区在线观看国产| 天天影视网天天综合色在线播放| 亚洲成人动漫av| 国产一区二区精品久久99| 国产69精品一区二区亚洲孕妇| 成人精品高清在线| 欧美精品亚洲二区| 欧美日本在线一区| 精品国产免费一区二区三区香蕉| 中文字幕亚洲成人| 奇米777欧美一区二区| 在线观看视频一区| 亚洲精品一区二区三区在线观看| 中文字幕在线免费不卡| 日本欧美肥老太交大片| 国产成人欧美日韩在线电影| 在线观看国产精品网站| 久久久精品黄色| 久久精工是国产品牌吗| 欧美无砖砖区免费| 成人免费在线视频观看| 久色婷婷小香蕉久久| 欧美日韩黄色影视| 日韩精品亚洲专区| 欧美在线小视频| 香蕉久久夜色精品国产使用方法| 成人黄色网址在线观看| 制服.丝袜.亚洲.中文.综合| 麻豆国产一区二区| 日韩一级黄色片| 久久国产福利国产秒拍| 欧美一区二区福利在线| 日本网站在线观看一区二区三区| 欧美亚洲另类激情小说| 精品一区二区免费| 欧美成人r级一区二区三区| 奇米综合一区二区三区精品视频 |