?? flash.h
字號:
/*------------------------------------------------------------------------------
FLASH芯片用途和內存分配
FLASH #0 ==== 存放ROM代碼和所有的圖片LOGO信息,存放幫助信息.
對于此片FLASH的操作,放置在庫文件中,不開放給Programmer.
Programmer可以讀此FLASH中的內容,但是不能寫.
FLASH #1 ==== 一共2M字節大小.
前面的1M ( 0x000000 ---- 0x0fffff) 存放EJ數據
后面的1M ( 0x100000 ---- 0x1fffff) 存放幫助信息
此片FLASH的操作,可以開放給Programmer.
FLASH #2 ==== DIP FLASH ROM(在調試的時候使用的FLASH芯片)
由于此芯片僅僅用于調試,并且和Programmer接觸的機會很少,
所以也不開放給Programmer.
為了程序將來的擴展方便,雖然程序員能看到的FLASH只有一片,(即#2),但是在調用相關
函數的時候,依然保持有參數的輸入,用戶可以直接傳送 FLS_CHIP_IDX_2(即#2FLASH)
2006-9-7 15:50
*-----------------------------------------------------------------------------*/
#ifndef ___FLASH_H
#define ___FLASH_H
/*------------------------------------------------------------------------------
* 寫入一個字到FLASH中,
* chipNo -- CHIP0 only
* 為了軟件穩定,對于PROGRAM chip 的FLASH,單獨寫程序并封裝成LIB文件
* 所以,實際可以操作的只有一片FLASH(不考慮擴展板的情況)
* 送入參數中,如果adr不為偶數,也不會寫入,因為現在FLASH在按WORD模式操作,
* 要求目標地址必須為偶地址
* 函數返回: 是否寫入正確: OK/NG
*----------------------------------------------------------------------------*/
BOOL Fls_WriteWord(char chipNo,int *dst, int value);
/*----------------------------------------------------------------------------
* 把指定地址(srcAdr)中一段字符串到指定芯片(chipNo)的指定地址(dstAdr),字符串
* 長度由len決定
* len: 字的長度,比如要寫入0x55aa55aa,則len為2. (2個字)
* 注意: dstAdr 必須為偶數地址,否則程序會返回錯誤信息
* 函數返回: OK/NG
*---------------------------------------------------------------------------*/
BOOL Fls_WriteStr(BYTE chipNo, int *dst, int *src, word len);
/*---------------------------------------------------------------------------*
* 從指定芯片的指定地址讀取一個字到返回指針中.
* 函數返回: OK/NG
* 要求: 所指定的地址必須為偶數,否則也會返回錯誤
*---------------------------------------------------------------------------*/
BOOL Fls_ReadWord(BYTE chipNo, int *src, int *readData);
/*--------------------------------------------------------------------------*
* 從指定芯片的指定地址讀取一段字符串到返回指針中,讀取長度為len.
* len 為字的長度.
* 如果指定的地址不為偶數,則會返回錯誤(讀取不成功)
* len: 字的長度,比如要寫入0x55aa55aa,則len為2. (2個字)
*--------------------------------------------------------------------------*/
BOOL Fls_ReadStr(BYTE chipNo, int *src, int *readData,int len);
/*--------------------------------------------------------------------------*
* 擦除指定芯片
* 函數返回: OK/NG
*--------------------------------------------------------------------------*/
BOOL Fls_ChipErase(BYTE chipNo);
/*--------------------------------------------------------------------------*
* Initialize the Flash chip.
* 初使化相關的端口,等等
*--------------------------------------------------------------------------*/
void Fls_Inital(void);
/*--------------------------------------------------------------------------*
* 擦除指定芯片的指定扇區.
* 函數輸入: idx -- 扇區Index No. ( 0---MAX_FLS_SECTOR_NUM)
* 函數返回: OK/NG
*--------------------------------------------------------------------------*/
BOOL Fls_SectorErase(byte idx);
#endif /* End of the ifndef FLASH.h*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -