?? flash.h
字號:
#ifndef _flash
#define _flash
/*********************************************************************************
*********************************************************************************
* *
* 函數定義:unsigned int _flash_erase(unsigned int addr, unsigned int type) *
* 功 能:Flash扇區/塊/整片擦除操作 *
* *
* 入口參數:A ---- 地址addr *
* 扇區擦除:Amsb~A11,每個扇區2K *
* 塊擦除 :Amsb~A15,每個塊32K *
* 整片擦除:5555H *
* Amsb: A16,Flash用SST39VF200時 *
* A17,Flash用SST39VF400時(缺省) *
* A18,Flash用SST39VF800時 *
* Flash定位在程序儲存空間0x4000000~401FFFFH *
* ~403FFFFH(缺省) *
* ~407FFFFH *
* 地址addr為從0開始的偏移地址,而非Flash的絕對地址 *
* (SP+n) ---- 操作類型type,如果是.far_mode模式則n為2,否則n為1 *
* 扇區擦除:30H *
* 塊擦除: 50H *
* 整片擦除:10H *
* 出口參數:A ---- 擦除標志 *
* 未擦干凈:00H *
* 已擦干凈:01H *
* 資源使用:B,AR0 *
* *
*********************************************************************************/
unsigned int flash_erase(unsigned int addr, unsigned int type);
/*********************************************************************************
* *
* 函數定義:unsigned int _flash_writes(unsigned long addr, unsigned int data) *
* 功 能:將數據data寫入addr所指定的Flash單元 *
* *
* 入口參數:A ---- 地址addr,Amsb~A0 *
* Amsb: A16,Flash用SST39VF200時 *
* A17,Flash用SST39VF400時(缺省) *
* A18,Flash用SST39VF800時 *
* Flash定位在程序儲存空間80000H~9FFFFH/BFFFFH(缺省)/FFFFFH *
* 地址addr為從0開始的偏移地址,而非Flash的絕對地址 *
* (SP+n) ---- 數據data,如果是.far_mode模式則n為2,否則n為1 *
* 出口參數:A ---- 寫入標志 *
* 未寫入:00H *
* 已寫入:01H *
* 資源使用:B *
* *
*********************************************************************************/
unsigned int flash_writes(unsigned long addr, unsigned int data);
/*********************************************************************************
* *
* 函數定義:unsigned int _flash_writem(unsigned long addr,unsigned int ptr, unsigned int length) *
* 功 能:將ptr所指向的數據緩沖區中的length個數據寫入addr所指定的Flash單元 *
* *
* 入口參數:A ---- 地址addr,Amsb~A0 *
* Amsb: A16,Flash用SST39VF200時 *
* A17,Flash用SST39VF400時(缺省) *
* A18,Flash用SST39VF800時 *
* Flash定位在程序儲存空間80000H~9FFFFH/BFFFFH(缺省)/FFFFFH *
* 地址addr為從0開始的偏移地址,而非Flash的絕對地址 *
* (SP+n) ---- 數據緩沖區起始地址ptr,如果是.far_mode模式則n為2,否則n為1 *
* (SP+m) ---- 數據長度lrngth,如果是.far_mode模式則m為3,否則m為2 *
* 出口參數:A ---- 寫入標志 *
* 未寫入:00H *
* 已寫入:01H *
* 資源使用:B,AR0 *
* *
*********************************************************************************/
unsigned int flash_writem(unsigned long addr, unsigned int ptr, unsigned int length);
/*********************************************************************************
* *
* 函數定義:unsigned int flash_reads(unsigned long addr) *
* 功 能:從addr指定的Flash單元中讀出一個數據 *
* *
* 入口參數:A ---- 地址addr,Amsb~A0 *
* Amsb: A16,Flash用SST39VF200時 *
* A17,Flash用SST39VF400時(缺省) *
* A18,Flash用SST39VF800時 *
* Flash定位在程序儲存空間80000H~9FFFFH/BFFFFH(缺省)/FFFFFH *
* 地址addr為從0開始的偏移地址,而非Flash的絕對地址 *
* 出口參數:A ---- 讀出數據 *
* 資源使用:A *
* *
*********************************************************************************/
unsigned int flash_reads(unsigned long addr);
/*********************************************************************************
* *
* 函數定義:void flash_readm(unsigned long addr, unsigned int ptr, unsigned int length) *
* 功 能:從addr指定的Flash單元中讀出length數據到ptr所指向的數據緩沖區中 *
* *
* 入口參數:A ---- 地址addr,Amsb~A0 *
* Amsb: A16,Flash用SST39VF200時 *
* A17,Flash用SST39VF400時(缺省) *
* A18,Flash用SST39VF800時 *
* Flash定位在程序儲存空間80000H~9FFFFH/BFFFFH(缺省)/FFFFFH *
* 地址addr為從0開始的偏移地址,而非Flash的絕對地址 *
* (SP+n) ---- 數據緩沖區起始地址ptr,如果是.far_mode模式則n為2,否則n為1 *
* (SP+m) ---- 數據長度length,如果是.far_mode模式則m為3,否則m為2 *
* 出口參數:A ---- 讀出數據 *
* 資源使用:B,AR0 *
* *
*********************************************************************************/
void flash_readm(unsigned long addr, unsigned int ptr, unsigned int length);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -