⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iflash.h

📁 西安明朗公司开发板ML-F020ICB的全部测试代码
💻 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 + -