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

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

?? flash2812_api_library.h

?? TI公司的DSPTMS320F2812初學者入門應用程序
?? 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   
#define STATUS_FAILE                    1

// 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一区二区三区免费野_久草精品视频
91在线观看高清| 天天亚洲美女在线视频| 国产乱淫av一区二区三区| 欧美mv和日韩mv的网站| 日本在线播放一区二区三区| 91精品国产品国语在线不卡| 日韩av一区二区在线影视| 日韩一级欧美一级| 国产在线精品免费| 国产精品欧美综合在线| 色8久久人人97超碰香蕉987| 亚洲成人免费影院| 日韩欧美你懂的| 国产91精品入口| 亚洲精品视频观看| 91精品国产综合久久精品麻豆| 老鸭窝一区二区久久精品| 国产嫩草影院久久久久| 99re在线精品| 日本成人在线看| 国产欧美日产一区| 欧美亚日韩国产aⅴ精品中极品| 日本视频在线一区| 国产精品蜜臀在线观看| 欧美美女黄视频| 国产成人午夜精品影院观看视频 | 欧美高清一级片在线| 另类的小说在线视频另类成人小视频在线| 国产亚洲成aⅴ人片在线观看| 亚洲乱码国产乱码精品精98午夜 | 亚洲精品成人在线| 欧美日韩国产系列| 国产麻豆成人精品| 亚洲一区在线电影| 久久久久久久久一| 欧美影视一区在线| 国产一区欧美日韩| 亚洲免费av在线| 亚洲精品在线一区二区| 99久久国产综合色|国产精品| 青椒成人免费视频| ...xxx性欧美| 精品99999| 欧美一区二区在线观看| av影院午夜一区| 麻豆成人久久精品二区三区红| 亚洲日本在线视频观看| 日韩精品一区二区三区视频在线观看| 色婷婷综合久色| 国产激情视频一区二区在线观看 | 亚洲欧洲日韩av| 欧美电影免费观看完整版| 91在线免费视频观看| 国产精品亚洲а∨天堂免在线| 日本一不卡视频| 亚洲国产欧美在线| 亚洲美女视频在线| 欧美韩国日本一区| 精品久久久久久久久久久久包黑料 | 色久优优欧美色久优优| 国产麻豆欧美日韩一区| 奇米影视在线99精品| 一区二区三区精品久久久| 国产精品灌醉下药二区| 久久久91精品国产一区二区精品 | 精品一区二区三区香蕉蜜桃| 亚洲午夜免费电影| 中文字幕在线不卡一区二区三区| 欧美精品一区二区三区蜜桃| 91精品国产福利| 欧美高清视频不卡网| 欧美在线三级电影| 色哟哟一区二区| 91看片淫黄大片一级在线观看| 国产精品资源网站| 国产精品99久久久久| 国内精品写真在线观看| 黑人巨大精品欧美一区| 狠狠久久亚洲欧美| 国产91对白在线观看九色| 韩国理伦片一区二区三区在线播放| 麻豆91免费看| 国产一区二区三区免费看| 寂寞少妇一区二区三区| 国产一区二区在线影院| 国产精品亚洲第一| 99久久亚洲一区二区三区青草 | 韩国视频一区二区| 国产美女精品一区二区三区| 国产成人鲁色资源国产91色综| 国产成人免费在线观看不卡| 成人国产精品免费观看视频| av色综合久久天堂av综合| 99国产精品久| 欧美综合色免费| 欧美一区二区三区在线视频| 日韩一区二区三区视频| 欧美精品一区二区三区高清aⅴ| 久久亚洲二区三区| 中文字幕在线不卡视频| 亚洲综合av网| 狂野欧美性猛交blacked| 国产一区二区三区免费看| 99国产精品久久久| 91精品在线麻豆| 国产午夜精品一区二区| 亚洲免费三区一区二区| 三级一区在线视频先锋| 韩国成人精品a∨在线观看| 成人精品亚洲人成在线| 欧美午夜电影网| 2021中文字幕一区亚洲| 亚洲乱码日产精品bd| 蜜臀av国产精品久久久久| 成人深夜福利app| 欧美日韩三级一区二区| 久久免费美女视频| 夜夜爽夜夜爽精品视频| 精品影视av免费| 色综合天天做天天爱| 日韩精品一区二区在线观看| 中文字幕综合网| 麻豆91免费看| 在线观看视频一区二区| 26uuu国产电影一区二区| 亚洲精品v日韩精品| 精品亚洲成a人| 色嗨嗨av一区二区三区| 久久久影视传媒| 亚洲与欧洲av电影| 国产成人欧美日韩在线电影 | 91精品国产综合久久香蕉的特点 | 亚洲第一综合色| 国产另类ts人妖一区二区| 91黄色免费看| 国产色婷婷亚洲99精品小说| 肉色丝袜一区二区| www.av精品| 久久综合久久综合九色| 日日欢夜夜爽一区| 91国产成人在线| 国产精品日韩成人| 国产在线播放一区三区四| 欧美人伦禁忌dvd放荡欲情| 最新日韩av在线| 国产一区二区美女诱惑| 欧美一区二区三区系列电影| 亚洲综合在线五月| 99精品久久久久久| 久久久高清一区二区三区| 日本不卡在线视频| 欧美美女一区二区在线观看| 一个色在线综合| 色噜噜狠狠成人中文综合 | 精品久久人人做人人爱| 午夜精品福利在线| 欧美在线啊v一区| 亚洲女人****多毛耸耸8| 波多野结衣的一区二区三区| 国产日韩欧美制服另类| 国产一区二区三区av电影 | 91精品综合久久久久久| 五月综合激情网| 色婷婷综合久久久中文字幕| 亚洲人成网站在线| av一区二区三区在线| 成人免费一区二区三区视频 | 日本韩国一区二区三区| 中文字幕日本不卡| 99国产精品久| 亚洲伦在线观看| 色偷偷一区二区三区| 一区二区三区国产精品| 在线免费av一区| 亚洲国产综合人成综合网站| 欧美日韩免费在线视频| 日韩精品色哟哟| 欧美一区二区成人| 久久国产麻豆精品| 久久毛片高清国产| 成人三级在线视频| 亚洲欧洲日韩综合一区二区| 色综合久久久久综合体桃花网| 一片黄亚洲嫩模| 欧美日韩一区二区欧美激情| 婷婷丁香久久五月婷婷| 日韩写真欧美这视频| 国产综合成人久久大片91| 欧美国产精品一区二区三区| 成人高清视频在线| 亚洲一区二区精品久久av| 欧美精品视频www在线观看| 美女免费视频一区二区| 国产三级精品在线| 色综合久久中文综合久久97| 亚洲成av人片一区二区三区| 精品欧美黑人一区二区三区| 成人精品鲁一区一区二区| 亚洲日本一区二区| 欧美日韩国产首页|