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

📄 flash.c

📁 altera epxa1的例子程序
💻 C
字号:

//#include <stdio.h>


#include "flash.h"


void write_flash_value(unsigned short *address, short int value)
{
	short int check;
	short int prog_done_mask = (1<<7);
	
	
	
	*address = 0x0060;  					// Enter Unlock command (0x60)
	
	*(address + (0x1F8000)) = 0x00D0;  					// Unlock the first block BA = 0x08 (0xD0 unlocks the flash)
	*address = 0x0090;	 					// Move to Read Status Mode
	check = *(address+0x0002);					//*********add a check for the lock status
	
	*address = 0x0020; //Enter Erase Mode
	*(address + (0x1F8000)) = 0x00D0; //Enter Erase confirm commnad
	*(address + 0x000) = 0x00D0; //Enter Erase confirm commnad
	*address = 0x0070;	//Switch to Read Status Mode
	
	check = *address;
	while ((check & prog_done_mask) == 0) {
		check = *address;
	}
	*address = 0x0050;
	*address = 0x00FF;
	
	
				*address = 0x0060;  					// Enter Unlock command (0x60)
				*(address + (0x1F8000)) = 0x00D0;  			// Unlock the first block BA = 0x08 (0xD0 unlocks the flash)
				*address = 0x0090;	 				// Move to Read Status Mode
				check = *(address+0x0002);				//*********add a check for the lock status
				*address = 0x0040;
		        	*(address + (0x1FFFFF)) = value; 		//Write Value to Flash
				*address = 0x0070;						//Switch to Read Status Mode
				check = *address;
				while ((check & prog_done_mask) == 0)   		//Check to see if programming is done
					check = *address;		
				*address = 0x0050;						//Clear Read Status Register
				
		
	
	
	
}	

⌨️ 快捷键说明

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