📄 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 + -