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

📄 main.c

📁 ARM S3C44B0X FLASH烧写程序
💻 C
字号:
#define FLASH_START_ADDR   0x0000
#define FLASH_ADDR_UNLOCK1 0x5555
#define FLASH_ADDR_UNLOCK2 0x2aaa
#define FLASH_DATA_UNLOCK1 0xaaaa
#define FLASH_DATA_UNLOCK2 0x5555
#define FLASH_PROGRAM_ONE_WORD  0xa0a0
#define FLASH_CHIP_ERASE   0x1010
#define UINT16 unsigned short
//int FlashStatusDetect(UINT16 *ptr,UINT16 Data,int TimeCounter);
void Delay(unsigned int);
int Main()
{
//  int i;
//  volatile UINT16 *flashPtr=(UINT16 *) FLASH_START_ADDR;
  *((volatile UINT16 *) FLASH_START_ADDR+FLASH_ADDR_UNLOCK1)=FLASH_DATA_UNLOCK1;
  *((volatile UINT16 *) FLASH_START_ADDR+FLASH_ADDR_UNLOCK2)=FLASH_DATA_UNLOCK2;
  *((volatile UINT16 *) FLASH_START_ADDR+FLASH_ADDR_UNLOCK1)=FLASH_PROGRAM_ONE_WORD;
  *((volatile UINT16 *) 0x000c)=0x9;
//  *((volatile UINT16 *) FLASH_START_ADDR+FLASH_ADDR_UNLOCK2)=FLASH_DATA_UNLOCK2;
//  *((volatile UINT16 *) FLASH_START_ADDR+FLASH_ADDR_UNLOCK1)=FLASH_CHIP_ERASE;
  
//  if(FlashStatusDetect(UINT16 *)flashPtr,0xffff,0x1000000)!=1)
//     printf("ERROR!");
  return(0);
}

void Delay(unsigned int x)
{
     unsigned int i,j,k;
     for(i=0;i<=0xff;i++)
         for(j=0;j<0xff;j++)
            for(k=0;k<0xff;k++);
}

/*int FlashStatusDetect(UINT16 *ptr,UINT16 Data,int TimeCounter)
{
  int tmp=TimeCounter;
  volatile UINT16 *p=ptr;
  UINT16 data1,data2,current_data;
  current_data=Data&0x8080;
  while((*p&0x8080)!=current_data)
  {
    if(tmp--<=0)
    return 0;
  }
  return 1;
}*/

⌨️ 快捷键说明

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