📄 iflash.h
字号:
/************************************************************************************
* Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
* All rights reserved.
*
* Http: www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: IFlash.h
* Project : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
*
* Author: 李林利
* Version: 1.20
* Date: 2007.6.1
* Email: GavinLi@126.com
*
* Description: 本文件MCU内部FLASH存储器硬件驱动程序头文件
*
* Others: none;
*
* Function List:
* 1. void IFlash_ErasePage(unsigned char page)
* 2. void IFLASH_WriteByte (unsigned int addr, unsigned char val)
* 3. void IFlash_Write(unsigned int addr, unsigned char *p, unsigned int len)
* 4. unsigned char IFlash_ReadByte(unsigned int addr)
* 5. void IFlash_Read(unsigned int addr, unsigned char *p, unsigned int len)
* 6. void IFlash_Encrypt(void)
*
* History:
* 1. Author: 李林利
* Version: 1.10
* Date: 2007.3.12
* Modification: none
*
* 2. Author: 李林利
* Version: 1.00
* Date: 2004.11.24
* Modification: 建立文件
*
*************************************************************************************/
/*************************************************************************************
* MCU内部FLASH存储器函数使用说明
*
* MCU内部FLASH存储器函数可以任意调用,一般先擦除后写入再读出,但要注意参数范围否则出错;
* 细节详见具体函数说明;
*
*************************************************************************************/
/************************************************************************************/
// 常量及全局变量定义
/************************************************************************************/
/*************************************************************************************/
//
// MCU内部FLASH存储器函数外部引用声明
//
/*************************************************************************************/
/***********************************************************************************
* Function: IFlash_ErasePage;
*
* Description: 擦除内部flash页程序;
*
* Input: page,擦除内部flash页序号, page范围是0~126;
*
* Output: none;
*
* Return: none;
*
* Note: IFLASH每页512字节,page不能大于126,而且擦除的页应避开程序存储区;
************************************************************************************/
void IFlash_ErasePage(unsigned char page);
/***********************************************************************************
* Function: IFLASH_WriteByte;
*
* Description: 向FLASH的某个地址写入字节数据;
*
* Input: addr,flash地址; val,写入的字节数据;
*
* Output: none;
*
* Return: none;
*
* Note: 地址范围是:0~0xFDFF,本函数不作地址范围检查, 写入的地址应避开程序存储区;
************************************************************************************/
void IFLASH_WriteByte (unsigned int addr, unsigned char val);
/***********************************************************************************
* Function: IFlash_Write;
*
* Description: 向内部flash写入数据;
*
* Input: addr,内部FLASH起始地址; *p,要写入数据的指针;len,要写入数据的长度;
*
* Output: none;
*
* Return: none;
*
* Note: 地址范围是:0~0xFDFF,本函数不作地址范围检查, 写入的地址应避开程序存储区;
************************************************************************************/
void IFlash_Write(unsigned int addr, unsigned char *p, unsigned int len);
/***********************************************************************************
* Function: IFlash_ReadByte;
*
* Description: 从内部flash读取一个字节数据;
*
* Input: addr,内部FLASH地址;
*
* Output: none;
*
* Return: FLASH内addr地址上数据;
*
* Note: 地址范围是:0~0xFDFF,本函数不作地址范围检查, 读取的地址应避开程序存储区;
************************************************************************************/
unsigned char IFlash_ReadByte(unsigned int addr);
/***********************************************************************************
* Function: IFlash_Read;
*
* Description: 从内部flash读取数据;
*
* Input: addr, 内部FLASH起始地址; *p,要读取数据存储区指针;len,要读取数据的长度;
*
* Output: *p, 数据存储区指针;
*
* Return: none;
*
* Note: 地址范围是:0~0xFDFF,本函数不作地址范围检查, 读取的地址应避开程序存储区;
************************************************************************************/
void IFlash_Read(unsigned int addr, unsigned char *p, unsigned int len);
/***********************************************************************************
* Function: IFlash_Encrypt;
*
* Description: 加密内部flash中的程序;
*
* Input: val,写入的加密字节,Bitx=1,不加密; Bitx=0,加密; 每个Bit控制范围如下:
* Bit0: 0x0000-0x1FFF, Bit1: 0x2000-0x3FFF,
* Bit2: 0x4000-0x5FFF, Bit3: 0x6000-0x7FFF,
* Bit4: 0x8000-0x9FFF, Bit5: 0xA000-0xBFFF,
* Bit6: 0xC000-0xDFFF, Bit7: 0xE000-0xFFFD;
*
* Output: none;
*
* Return: none;
*
* Note: 加密后FLASH中的内容将不能被JTAG读取,这时将不能进行在线调试;
************************************************************************************/
void IFlash_Encrypt(unsigned char val);
/***********************************************************************************/
// 文件结束
/***********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -