flash_apic.c

来自「easyARM8962 flash操作api函数调用实验源码」· C语言 代码 · 共 77 行

C
77
字号
/****************************************Copyright (c)****************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http:// www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name:          FLASH_APIC.c
** Last modified Date: 2007.09.18
** Last Version:       V1.0
** Description:        The basic experiment of FLASH    FLASH基础实验
** 
**--------------------------------------------------------------------------------------------------------
** Created By:         kangqinhua
** Created date:       2007.09.18
** Version:            V1.0
** Descriptions:       The original version 初始版本
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
*********************************************************************************************************/
#include "hw_types.h"
#include "flash.h"
#include "sysctl.h"

/*********************************************************************************************************
** Function name:       	main
**
** Descriptions:            Main function of the project 工程的主函数
**
** Input parameters:        None 无
** Returned value:          None 无
**         
** Used global variables:   None 无
** Calling modules:         FlashUsecSet, FlashErase, FlashProgram
**                      
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
int main(void)
{
    unsigned long Data[4] = {0x12345678, 0xaa55aa55, 0x55aa55aa, 0xaabbccdd};
    unsigned int i = 0;
                                                                        /*  当使用6MHz的晶振时,复位时系
																		    统时中为6MHz                */
    FlashUsecSet(6);		                                            /*  写或擦除Flash时钟要求为系统时
	                                                                        中减1MHz的频率              */
    if (FlashErase(1024 * 6)) {			                                /*  擦除Flash的第7个扇区,即偏移
	                                                                        地址为0x1800                */
        while(1) {
		    ;						                                    /*  擦除Flash出错               */

        }
	}
	if (FlashProgram(Data, 1024 * 6, 4 * 4)) {
        while(1) {
		    ;						                                    /*  编程Flash出错               */
	    }
	}
    for (i = 0; i < 4; i++) { 
        if (HWREG(1024 * 6 + i * 4) != Data[i])	{	                    /*  比较写入Flash的数据是否正确 */
            while(1) {
			    ;					                                    /*  写入的数据与不对            */
            }
		}
	}
    while(1) {
	    ;
	} 
}
/*********************************************************************************************************
 END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?