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

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

?? 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   

// 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一区二区三区免费野_久草精品视频
色爱区综合激月婷婷| 久久精品夜色噜噜亚洲aⅴ| 欧美精品在线观看一区二区| 精品福利视频一区二区三区| 一区二区在线观看视频在线观看| 麻豆成人久久精品二区三区红| 成人av免费在线播放| 日韩欧美黄色影院| 亚洲第一电影网| av影院午夜一区| 久久精品一区四区| 老色鬼精品视频在线观看播放| 91免费观看视频在线| 日本一区二区三区四区在线视频| 美女脱光内衣内裤视频久久影院| 色欧美88888久久久久久影院| 久久亚洲精精品中文字幕早川悠里| 无码av免费一区二区三区试看 | 色乱码一区二区三区88 | 91精品国产欧美一区二区18| 亚洲精品水蜜桃| 成人黄色网址在线观看| 久久久电影一区二区三区| 另类小说色综合网站| 91麻豆精品国产91久久久使用方法 | 欧美一区国产二区| 亚洲国产日产av| 在线视频国内自拍亚洲视频| 日韩一区在线免费观看| 成人中文字幕在线| 亚洲国产精品成人综合| 粉嫩绯色av一区二区在线观看 | 国产一区不卡视频| www国产成人| 国产精品自拍在线| 久久久国产精品午夜一区ai换脸| 国产制服丝袜一区| 久久久久高清精品| 懂色av一区二区三区免费观看| 国产午夜亚洲精品午夜鲁丝片| 国产精品2024| 成人欧美一区二区三区小说 | 3atv在线一区二区三区| 免费高清在线视频一区·| 7777精品伊人久久久大香线蕉完整版| 亚洲成a人片综合在线| 欧美高清视频在线高清观看mv色露露十八 | 精品va天堂亚洲国产| 激情国产一区二区| 欧美国产一区视频在线观看| www.在线欧美| 一区二区三区精品在线观看| 欧美午夜视频网站| 欧美aaaaaa午夜精品| 欧美一区二区精品久久911| 国产一区二区三区视频在线播放| 久久久欧美精品sm网站| 91视频国产观看| 午夜国产精品一区| 国产亚洲欧美色| 色拍拍在线精品视频8848| 婷婷综合五月天| 久久综合视频网| 91豆麻精品91久久久久久| 免费成人小视频| 中文字幕视频一区| 91精品国产91久久综合桃花| 国产福利视频一区二区三区| 亚洲自拍欧美精品| 国产欧美综合在线观看第十页| 91美女片黄在线观看91美女| 日产国产欧美视频一区精品| 国产精品免费网站在线观看| 91精品在线免费| 成人国产在线观看| 久久国产尿小便嘘嘘尿| 亚洲精品国产高清久久伦理二区| 欧美成人性战久久| 欧美在线制服丝袜| 大白屁股一区二区视频| 日韩av一二三| 一区二区三区精品在线| 国产精品欧美久久久久一区二区| 欧美精品乱码久久久久久按摩 | 经典三级一区二区| 亚洲国产精品视频| 国产精品不卡视频| 日韩欧美一区在线观看| 日本黄色一区二区| 粉嫩aⅴ一区二区三区四区五区 | 日韩一级片网址| 日本久久精品电影| 成人亚洲一区二区一| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲丰满少妇videoshd| 亚洲欧洲国产日本综合| 久久久久久99久久久精品网站| 91精品国产综合久久福利| 欧美亚洲国产一区二区三区 | 一区二区三区在线观看动漫| 欧美激情在线一区二区三区| 欧美mv和日韩mv的网站| 日韩一区二区三区电影| 欧美日韩在线一区二区| 在线观看欧美日本| 99视频在线观看一区三区| 成人性色生活片| 国产a级毛片一区| 国产成人一区在线| 国产九色精品成人porny| 免费成人在线观看| 日本成人在线网站| 日韩av一区二| 全部av―极品视觉盛宴亚洲| 日韩av午夜在线观看| 日韩精品一级二级 | av电影一区二区| 成人精品鲁一区一区二区| 成人小视频免费观看| av资源站一区| 色婷婷综合久久久久中文 | 欧美午夜片在线看| 欧美日韩色一区| 日韩一二三区视频| 精品国产免费久久| 久久精品人人做人人爽97| 欧美国产日产图区| 亚洲人吸女人奶水| 亚洲亚洲人成综合网络| 午夜欧美大尺度福利影院在线看| 午夜国产精品影院在线观看| 久久精品国产久精国产| 国产精品一品二品| 一本色道久久综合精品竹菊| 欧美性色黄大片手机版| 日韩美女天天操| 国产色一区二区| 亚洲久草在线视频| 天天爽夜夜爽夜夜爽精品视频| 奇米精品一区二区三区四区| 国产91清纯白嫩初高中在线观看| 91丨porny丨蝌蚪视频| 欧美婷婷六月丁香综合色| 欧美不卡在线视频| 中文字幕日韩精品一区 | 91精品国产综合久久久久久久久久| 日韩欧美国产一二三区| 国产精品日韩精品欧美在线| 亚洲一区在线观看网站| 国内成人精品2018免费看| 99精品桃花视频在线观看| 在线电影一区二区三区| 久久亚洲欧美国产精品乐播 | 欧美日本韩国一区二区三区视频 | 国产精品卡一卡二| 亚洲成人在线免费| 国内精品写真在线观看| 91久久精品网| 国产午夜精品一区二区| 丝瓜av网站精品一区二区| 成人在线视频一区二区| 欧美精品1区2区3区| 中文字幕一区二区在线观看| 偷拍一区二区三区| 99久久777色| 国产亚洲精品7777| 日韩精品一二区| 色综合激情五月| 国产午夜亚洲精品午夜鲁丝片| 午夜av一区二区| 不卡视频在线观看| 久久久另类综合| 午夜亚洲国产au精品一区二区| 国产成人a级片| 欧美一级在线免费| 亚洲成人综合视频| 9人人澡人人爽人人精品| xf在线a精品一区二区视频网站| 偷拍与自拍一区| 欧美婷婷六月丁香综合色| 18欧美乱大交hd1984| 国产精品99久久久久| 欧美一区二区在线看| 亚洲国产另类精品专区| 色综合久久中文综合久久97| 国产欧美日韩久久| 狠狠色狠狠色合久久伊人| 日韩一级大片在线| 日精品一区二区三区| 欧美日韩mp4| 亚洲国产成人av网| 91久久线看在观草草青青| 亚洲视频一区二区在线观看| 国产91清纯白嫩初高中在线观看 | 6080午夜不卡| 五月天网站亚洲| 欧美日韩成人综合| 亚洲成人www| 欧美另类久久久品| 三级不卡在线观看|