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

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

?? flash2812_api_library.h

?? 合眾達DSKF2812開發板的測試程序
?? 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一区二区三区免费野_久草精品视频
亚洲欧美日韩中文字幕一区二区三区| 日韩精品欧美精品| 欧美精品v国产精品v日韩精品 | 国产一区二区不卡在线| 亚洲人被黑人高潮完整版| 26uuuu精品一区二区| 欧美卡1卡2卡| 日本高清成人免费播放| av亚洲精华国产精华| 国产麻豆9l精品三级站| 男男成人高潮片免费网站| 无吗不卡中文字幕| 怡红院av一区二区三区| 亚洲女爱视频在线| 亚洲三级电影网站| 26uuu欧美| 国产亚洲综合性久久久影院| 久久综合一区二区| 久久综合九色综合欧美98| 精品欧美黑人一区二区三区| 日韩你懂的在线播放| 91精品国产91久久综合桃花| 欧美高清视频一二三区| 欧美高清视频www夜色资源网| 一本色道久久综合精品竹菊| 91丨porny丨最新| 欧洲另类一二三四区| 欧洲精品中文字幕| 欧美老女人第四色| 日韩三级av在线播放| 欧美不卡视频一区| 国产亚洲美州欧州综合国| 国产精品二区一区二区aⅴ污介绍| 中文一区在线播放| 亚洲另类色综合网站| 自拍偷自拍亚洲精品播放| 日韩一区在线播放| 亚洲综合av网| 蜜桃av噜噜一区| 国产精品一区二区三区网站| 成人午夜激情在线| 色狠狠色狠狠综合| 日韩视频一区二区三区在线播放 | 玉米视频成人免费看| 五月天亚洲婷婷| www.视频一区| 欧美亚洲尤物久久| 精品日韩一区二区| 亚洲伦理在线免费看| 天天亚洲美女在线视频| 国产一区二区毛片| 色婷婷国产精品| 欧美极品xxx| 另类中文字幕网| 色哦色哦哦色天天综合| 久久久高清一区二区三区| 天天色天天操综合| 在线欧美一区二区| 亚洲激情自拍视频| 国产69精品久久久久777| 日韩亚洲欧美一区二区三区| 午夜久久久久久电影| 91在线云播放| 中文字幕不卡的av| 国产精品一区三区| 久久久噜噜噜久噜久久综合| 日韩成人午夜电影| 欧美一区二区三区系列电影| 亚洲成人一区在线| 欧美三级在线看| 一二三四社区欧美黄| 日本电影欧美片| 一级精品视频在线观看宜春院 | 不卡视频在线观看| 国产欧美日韩激情| 成人夜色视频网站在线观看| 欧美v日韩v国产v| 国产尤物一区二区在线| 精品国产一区久久| 美女一区二区视频| 久久这里只有精品首页| 国产伦精品一区二区三区免费 | 国产成人亚洲综合a∨婷婷图片 | 另类专区欧美蜜桃臀第一页| 欧美一级一级性生活免费录像| 日韩激情在线观看| 精品久久99ma| 国产成人a级片| 亚洲日穴在线视频| 欧美精品vⅰdeose4hd| 久久不见久久见免费视频1| 久久精品亚洲乱码伦伦中文| 99久久久精品| 亚洲大尺度视频在线观看| 欧美一级黄色片| 成人免费视频caoporn| 亚洲精品乱码久久久久久黑人| 欧美日韩精品高清| 久久精品99国产国产精| 国产欧美日韩在线| 成人av手机在线观看| 亚洲美女屁股眼交| 欧美综合欧美视频| 中文字幕一区二区三区乱码在线| 欧美四级电影网| 日韩一区精品视频| 久久久久久久av麻豆果冻| 国产精品99精品久久免费| 国产精品国产三级国产三级人妇 | 91老师国产黑色丝袜在线| 亚洲一区中文日韩| 欧美日韩精品欧美日韩精品一| 国产酒店精品激情| 亚洲欧美经典视频| 日韩一区二区三区三四区视频在线观看 | 国产一区二区影院| 中文字幕亚洲一区二区va在线| 91黄色免费看| 青青草国产精品97视觉盛宴| 99久久99久久精品国产片果冻| 亚洲欧美aⅴ...| 色88888久久久久久影院野外| 美脚の诱脚舐め脚责91 | 成人午夜激情在线| 亚洲人成精品久久久久久 | 亚洲午夜免费电影| 欧美久久久久久久久久| 成人性生交大合| 午夜激情综合网| 国产精品久久久久精k8| 91精品国产高清一区二区三区蜜臀 | 成人欧美一区二区三区视频网页| 欧美另类z0zxhd电影| 美女精品一区二区| 日韩成人av影视| 中文字幕乱码一区二区免费| 欧美系列一区二区| av亚洲精华国产精华精华| 麻豆成人免费电影| 伊人开心综合网| 国产精品素人一区二区| 884aa四虎影成人精品一区| 欧美性感一类影片在线播放| 国产精品99久久久久久似苏梦涵 | 欧美卡1卡2卡| 国产sm精品调教视频网站| 国产真实乱对白精彩久久| 亚洲成a人片在线不卡一二三区 | 亚洲人成亚洲人成在线观看图片 | 久久福利视频一区二区| 亚洲超丰满肉感bbw| 午夜成人免费电影| 一区二区三区国产精华| 国产精品灌醉下药二区| 久久久久九九视频| 精品欧美久久久| 国产日韩欧美亚洲| 久久久久88色偷偷免费| 久久综合色综合88| 欧美va亚洲va香蕉在线| 欧美精品123区| 在线观看亚洲一区| 色综合天天综合网天天狠天天| 丁香婷婷综合色啪| 成人网男人的天堂| 成人涩涩免费视频| 国产成人免费视频| 99riav久久精品riav| 色偷偷成人一区二区三区91| 91美女片黄在线观看91美女| av中文一区二区三区| 成人av手机在线观看| 精品视频资源站| 在线不卡中文字幕播放| 欧美日韩国产高清一区二区| 色婷婷久久99综合精品jk白丝| 日本道精品一区二区三区| 欧美美女直播网站| 91精品免费在线| 久久众筹精品私拍模特| 日本一区二区三区在线不卡| 国产精品免费视频网站| 婷婷开心激情综合| 国产一区视频在线看| 成人av免费在线观看| 日本道免费精品一区二区三区| 精品国产91久久久久久久妲己| 国产农村妇女精品| 尤物视频一区二区| 青草av.久久免费一区| 国产精品亚洲一区二区三区妖精| 韩国精品主播一区二区在线观看 | 国产精品国产三级国产普通话蜜臀| 国产精品伦一区| 亚洲成人午夜电影| 国产专区综合网| 成人午夜碰碰视频| 欧美日韩国产免费一区二区 | 亚洲国产欧美在线人成| 国产一区二区三区综合|