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

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

?? flash2812_api_library.h

?? DSP2812 的FLASH開發程序.只需要在上面稍做修改就可以變成自己的程序
?? 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一区| 亚洲精品欧美激情| 一本久久综合亚洲鲁鲁五月天 | 777久久久精品| 欧美性色综合网| 欧美性受xxxx黑人xyx性爽| 精品国产一区二区三区四区四 | 成人免费视频视频| 国内精品伊人久久久久影院对白| 石原莉奈在线亚洲三区| 五月天一区二区三区| 亚洲韩国一区二区三区| 亚洲最大成人网4388xx| 婷婷综合五月天| 91亚洲精品久久久蜜桃网站| 色久优优欧美色久优优| 欧美主播一区二区三区美女| 91精品国产品国语在线不卡| 精品久久99ma| 亚洲国产成人一区二区三区| 亚洲情趣在线观看| 日本强好片久久久久久aaa| 九九热在线视频观看这里只有精品 | 午夜精品久久久久久久99水蜜桃| 99这里只有久久精品视频| 91亚洲精品乱码久久久久久蜜桃| 国产欧美日韩不卡免费| 亚洲精品五月天| 91影院在线免费观看| 中文字幕乱码亚洲精品一区| 韩国欧美一区二区| 久久这里只有精品6| 国产精品久久久久精k8| 天堂成人国产精品一区| 欧美午夜在线观看| 亚洲成人黄色影院| 国产成人av一区二区三区在线| 色综合一个色综合| 欧美www视频| 激情综合网av| 337p日本欧洲亚洲大胆色噜噜| 国产永久精品大片wwwapp| 欧美一a一片一级一片| 亚洲夂夂婷婷色拍ww47| 成人亚洲一区二区一| 国产精品美女久久久久aⅴ国产馆| 婷婷激情综合网| 欧美一区二区在线看| 另类小说综合欧美亚洲| 欧美三级欧美一级| 亚洲欧洲精品天堂一级 | 色天使色偷偷av一区二区| 亚洲精品成人a在线观看| 欧美亚洲一区二区在线| 日本视频一区二区| 久久久电影一区二区三区| 午夜日韩在线电影| 精品捆绑美女sm三区| 成人激情免费网站| 国产亚洲婷婷免费| 国产尤物一区二区| 亚洲婷婷综合色高清在线| 欧美日韩高清在线| 亚洲国产综合91精品麻豆 | 色狠狠一区二区| 日韩电影在线观看一区| 精品国产3级a| 色婷婷亚洲精品| 另类专区欧美蜜桃臀第一页| 国产精品久久久久久久久动漫| 日本福利一区二区| 精品在线播放午夜| 自拍偷拍国产亚洲| 欧美一级国产精品| 手机精品视频在线观看| 亚洲国产精品成人综合色在线婷婷 | 色综合色狠狠天天综合色| 日韩国产精品91| 国产精品国产三级国产aⅴ原创 | 欧美一级片在线观看| www.欧美日韩| 精品在线免费观看| 亚洲成人免费观看| 国产精品拍天天在线| 日韩欧美在线不卡| 91福利视频在线| 国产成人无遮挡在线视频| 亚洲mv在线观看| 中文字幕一区二区三区精华液| 欧美videos中文字幕| 在线视频一区二区免费| 国产盗摄一区二区| 精油按摩中文字幕久久| 日欧美一区二区| 一区二区三区在线免费| 国产精品美女一区二区在线观看| 日韩精品一区二区三区中文不卡 | 日韩一区在线看| 久久久www免费人成精品| 7799精品视频| 在线一区二区三区四区五区 | 久久aⅴ国产欧美74aaa| 一区二区三区国产精华| 国产精品电影一区二区| 久久亚洲精品小早川怜子| 日韩三级视频中文字幕| 欧美视频一区二区三区在线观看 | 国产一区二区三区美女| 老司机精品视频线观看86| 日韩黄色免费电影| 水野朝阳av一区二区三区| 亚洲午夜精品在线| 亚洲一区视频在线观看视频| 亚洲欧美日韩小说| 日韩一区中文字幕| 亚洲色图视频免费播放| 亚洲天堂av老司机| 一区二区三区在线视频播放| 亚洲一区在线观看免费| 婷婷国产v国产偷v亚洲高清| 日韩成人av影视| 激情五月婷婷综合网| 国产曰批免费观看久久久| 国产乱子轮精品视频| 高清国产一区二区三区| 五月天亚洲婷婷| 麻豆精品在线视频| 亚洲品质自拍视频| 有坂深雪av一区二区精品| 亚洲国产一区二区视频| 三级成人在线视频| 老司机免费视频一区二区三区| 久久99精品国产91久久来源| 国产一区 二区| 99麻豆久久久国产精品免费| 91国在线观看| 日韩欧美色综合| 日韩限制级电影在线观看| 精品捆绑美女sm三区| 国产精品毛片久久久久久| 亚洲人成在线观看一区二区| 亚洲国产一区二区a毛片| 久久精品国产精品亚洲综合| 成人理论电影网| 欧美三级日韩在线| 久久影视一区二区| 亚洲精品大片www| 美女免费视频一区| 成人av电影在线观看| 欧美色综合久久| 久久亚洲综合色| 一区二区三区免费观看| 久久精品久久久精品美女| 成人免费看视频| 制服.丝袜.亚洲.另类.中文| 国产亚洲欧洲997久久综合| 亚洲精品国产成人久久av盗摄| 奇米精品一区二区三区四区 | 2021国产精品久久精品| 亚洲视频一二区| 久久精品国产秦先生| 91视频观看视频| 精品少妇一区二区三区免费观看| 亚洲人午夜精品天堂一二香蕉| 蓝色福利精品导航| 欧美综合色免费| 国产欧美精品一区二区三区四区 | 亚洲图片欧美激情| 国产在线视频不卡二| 欧美精品一二三四| 欧美精品v国产精品v日韩精品| 中文字幕欧美三区| 另类小说综合欧美亚洲| 日本精品一区二区三区四区的功能| 亚洲精品一区在线观看| 亚洲成人在线观看视频| 91蜜桃在线免费视频| 久久久久国产一区二区三区四区 | 欧美日韩一区二区三区在线看| 国产精品视频第一区| 日韩福利视频网| 欧美日韩在线一区二区| 1区2区3区精品视频| 高清成人免费视频| 国产亚洲1区2区3区| 久久福利资源站| 欧美久久久久久蜜桃| 亚洲一二三区不卡| 色婷婷久久久久swag精品| 国产精品理论在线观看| 国产91综合一区在线观看| 久久伊人蜜桃av一区二区| 激情成人综合网| 精品国产网站在线观看| 美女视频黄 久久| 精品日韩av一区二区| 蜜桃av一区二区| 精品国产伦一区二区三区观看体验 | 欧美色图天堂网| 一区二区三区丝袜|