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

📄 main_entry.c.bak

📁 一个比较好的三星s3c4510的启动代码
💻 BAK
📖 第 1 页 / 共 3 页
字号:
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_13) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
		Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
		Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
	i_printf("\b\b\b\b\b 896k");

	}

	if(CNT>0x896)
	{
         
         *((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_14) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
		Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
	i_printf("\b\b\b\b\b 960k");

	}

         if(CNT>0x960)
	{
         *((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_15) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
	i_printf("\b\b\b\b\b 1024k");

	}
	if(CNT>0x1024)
	{
        *((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_16) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
	i_printf("\b\b\b\b\b\b 1088k");

	}
	
	if(CNT>0x1088)
	{
	
        *((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_17) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
	i_printf("\b\b\b\b\b\b 1152k");

	}

	if(CNT>0x1152)
	{
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_18) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
		Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
	i_printf("\b\b\b\b\b\b 1216k");
	}

	if(CNT>0x1216)
	{
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_19) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
		Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1280k");
	}


         if(CNT>0x1280)
	{
         *((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_20) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1344k");
	}

	if(CNT>0x1344)
	{
        *((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_21) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1408k");
	}
	
	if(CNT>0x1408)
	{
	
        *((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_22) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
		Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1472k");
	}

	if(CNT>0x1472)
	{
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_23) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1536k");
	}

	if(CNT>0x1536)
	{
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_24) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	     Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1600k");
	}



if(CNT>0x1600)
	{
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_25) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	     Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1600k");
	}

if(CNT>0x1664)
	{
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_26) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	     Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1664k");
	}


if(CNT>0x1664)
	{
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_27) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	     Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
          }
		i_printf("\b\b\b\b\b\b 1728k");
	}


if(CNT>0x1728)
	{
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;	//0xaaaa  
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_SETUP_ERASE;  //0x8080  
    	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1; //0xaaaa    
	*((volatile unsigned short *)AM_START_ADDR+ AM_ADDR_UNLOCK2) = AM_DATA_UNLOCK2;	//0x5555	
  	//*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_CHIP_ERASE;	//0x1010
	*((volatile unsigned short *)AM_SECTOR_ADDR_28) = AM_SECTOR_ERASE;	//0x3030
	for(i=0;i<50;i++)
         {
	 	Delay(50000);
         Delay(50000);
         Delay(50000);
         Delay(50000);
	     Delay(50000);
         Delay(50000);

⌨️ 快捷键说明

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