📄 iflash_example.c
字号:
/************************************************************************************
* Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
* All rights reserved.
*
* Http: www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: IFLASH_Example.c
* Project : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
*
* Author: 李林利
* Version: 1.20
* Date: 2007.6.1
* Email: GavinLi@126.com
*
* Description: CPU内部FLASH测试程序文件;
*
* Others: none;
*
* Function List:
* 1. void IFlash_Proc(void)
*
* History:
* 1. Author: 李林利
* Version: 1.10
* Date: 2007.3.12
* Modification: none
*
* 2. Author: 李林利
* Version: 1.00
* Date: 2004.11.24
* Modification: 建立文件
*
*************************************************************************************/
/************************************************************************************/
// 引用外部头文件
#include "..\config\Const.h"
#include "..\driver\uart.h"
#include "..\driver\IFlash.h"
#include "..\driver\Delay.h"
/************************************************************************************/
// 常量及全局变量定义
/************************************************************************************/
/*************************************************************************************/
//
// IFlash测试程序函数定义
//
/*************************************************************************************/
/***********************************************************************************
* Function: IFlash_Proc;
*
* Description: CPU内部FLASH测试程序;
*
* Input: none;
*
* Return: none;
*
* Note: none;
************************************************************************************/
void IFlash_Proc(void)
{
unsigned int data i,k=0;
unsigned char data val;
unsigned char xdata dat[128];
Uart0_SendBlock("IFlash test starting!\n\r",23,&i);
Delay_ms(100);
//IFlash_ErasePage(125);
//IFlash_ErasePage(126);
IFlash_ErasePage(125);
//IFlash_ErasePage(1);
for(val=0;val<128;val++)
{
dat[val]=val;
IFLASH_WriteByte ((unsigned int)(125*512)+(unsigned int)val,val);
}
IFlash_Write((unsigned int)(125*512)+(unsigned int)128, dat, 128);
for(val=0;val<128;val++)
{
if(val!=IFlash_ReadByte((unsigned int)(125*512)+(unsigned int)val))
{
k++;
}
}
if(k!=0)
{
Uart0_SendBlock("IFlash L128test fail!\n\r",23,&i);
}
else
{
Uart0_SendBlock("IFlash L128test succeed!\n\r",26,&i);
}
IFlash_Read((unsigned int)(125*512)+(unsigned int)128, dat, 128);
for(val=0;val<128;val++)
{
if(val != dat[val])
{
k++;
}
}
/*for(val=0;val<128;val++)
{
if(val!=IFlash_ReadByte((unsigned int)(125*512)+(unsigned int)(128+val)))
{
k++;
}
}*/
/*j=0xFE00;
for(val=0;val<128;val++)
{
if(UART_ERR_TXFULL==Uart0_SendChar(IFlash_ReadByte(j++)))
{
val++;
val--;
}
}*/
/*j==127*512;
for(val=0;val<128;val++)
{
IFLASH_WriteByte (j+val,val);
}*/
/*j=0xFE00;
for(val=0;val<128;val++)
{
dat[val]=val;
IFLASH_WriteByte (j+val,val);
if(val!=IFlash_ReadByte(j+val))
{
k++;
}
}*/
/*k=0;
j=0xFF00;
IFlash_Write(j, dat, 128);
IFlash_Read(j, dat, 128);
for(val=0;val<128;val++)
{
if(dat[val]!=val)
{
k++;
}
}*/
if(k!=0)
{
Uart0_SendBlock("IFlash H128test fail!\n\r",23,&i);
}
else
{
Uart0_SendBlock("IFlash H128test succeed!\n\r",26,&i);
}
IFlash_Encrypt();
Uart0_SendBlock("IFlash Has been Protected!\n\r",28,&i);
Uart0_SendBlock("IFlash test End!\n\r",18,&i);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -