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

📄 main.c

📁 linux flash 操作控制程序源码! l inux flash 操作控制程序源码!
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#include "common.h"
/*int main(void)
{
	U32 RAMsAddress=0xc20000000;
	U32 FlashSAddress=0xc8000000;
	U32 Count;
	U16 *PSourceformFlash,*PDestintoRam,Regist;
	
	Count=0x00010000;
	PSourceformFlash=(U16 *)0xc8000000;
	PDestintoRam=(U16 *)0xc2000000;
	
		do
    	{
    	   	
		 Regist=*PSourceformFlash;
		printf("\ntest address at [0x%08X]..test  [0x%08X]", PSourceformFlash,Regist);
		*(PDestintoRam++) = *(PSourceformFlash++);
		
		Count-=2;
		   
    	} while(Count!=0);
  	return 0;
	
}
// lhy add for test 16bit flash data read from flash to ram.
*/



int main(void)
{
	char c;
	printf("Flash mode flows: \n");
	printf("0  program bootloader 0xc8000000..... \n");
	printf("1  program kernel 0xc8100000.....\n");
	printf("2  program blob-kernel 0xc8014000.....\n");
	printf("3  program filesystem 0xc8300000.....\n");

	printf("   select option(0-3) for you program:");
	
	//c=getchar();
	scanf("%c",&c);

	printf("  \n");

	if ((c>='0')&(c<='4'))
	{
		
	if (c=='0')
	//program bootloader;
	
	{
		U32 	SourceAddress = 0xC2000000;		
		U32	TargetAddress = 0xC8000000;

		//modify it for s29gl256n10 060526
		//U32 	Word = 32*1024;
		U32 	Word = 64*1024;
		//end modify it for s29gl256n10 060526
		
		FlashLoader(TargetAddress, SourceAddress, Word);

  	return 0;
		}

	else
	if (c=='1')
	//program kernel;
	
	{
		U32 	SourceAddress = 0xC2000000;		
		U32	TargetAddress = 0xC8100000 ;
		U32 	Word = 512*1024;
		
		FlashLoader(TargetAddress, SourceAddress, Word);

  	return 0;
		}
		
		
	else
	if (c=='2')
	
	//program small cramfs..
	{
		U32 	SourceAddress = 0xC2000000;		
		U32	TargetAddress =0xc8300000;
		U32 	Word = 2*1024*1024;
		
		FlashLoader(TargetAddress, SourceAddress, Word);

  	return 0;
		}
	
	/*
	//program blob-kernel;
	{
		U32 	SourceAddress = 0xC2000000;		
		U32	TargetAddress =0xc8024000;
		U32 	Word = 512*1024;
		
		FlashLoader(TargetAddress, SourceAddress, Word);

  	return 0;
		}
	*/

	else

	if (c=='3')
	//program filesystem;
	
	{
		U32 	SourceAddress = 0xC2000000;		
		U32	TargetAddress = 0xC8300000;
		U32 	Word = 5*1024*1024;
		
		FlashLoader(TargetAddress, SourceAddress, Word);

  	return 0;
		}
		
	else
	if (c=='4')
	//program filesystem;
	
	{
		U32 	SourceAddress = 0xC2000000;		
		U32	TargetAddress = 0xC8300000;
		U32 	Word = 8*1024*1024;
		
		FlashLoader(TargetAddress, SourceAddress, Word);

  	return 0;
		}	
		
		
	
	}
	else
	printf("You options is error!");
}




⌨️ 快捷键说明

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