📄 fpga.c
字号:
for(i=0;i<66;i++)
{
if((unsigned int)Now_Flow_Information_Add%0x10000==0 && Flash_Bit==0)
{
flag=nr_flash_erase_sector((unsigned short*)na_cfi_flash_0_base,(unsigned
short*)Now_Flow_Information_Add);
}
if(Flash_Bit==0)
{
temp=flow_data[i+4];
Flash_Bit=1;
}
else
{
temp=temp+(flow_data[i+4]<<8);
unlock_bypass_mode(fb);
flag = nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,(unsigned
short*)Now_Flow_Information_Add,temp);
reset_bypass_mode(fb);
Flash_Bit=0;
if(++Now_Flow_Information_Add==Flow_Information_End)
Now_Flow_Information_Add=Flow_Information_Base;
}
}
// temp=flow_data[68];
// flag = nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,(unsigned short*)Now_Flow_Information_Add,temp);
// if(++Now_Flow_Information_Add==Flow_Information_End)
// Now_Flow_Information_Add=Flow_Information_Base;
for(i=0;i<4;i++)
{
if(Flash_Bit==0)
{
temp=flow_data[i];
Flash_Bit=1;
}
else
{
temp=temp+(flow_data[i]<<8);
unlock_bypass_mode(fb);
flag = nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,(unsigned
short*)flow_add_temp,temp);
reset_bypass_mode(fb);
Flash_Bit=0;
if(++flow_add_temp==Flow_Information_End)
flow_add_temp=Flow_Information_Base;
}
}
}
/*****************************************************************************
往FLASH写方案信息
******************************************************************************/
void Write_Flash()
{
int i;
int flag;
unsigned short base_temp1;
unsigned short base_temp2;
unsigned short temp_data;
volatile unsigned short *fb = (unsigned short *) na_cfi_flash_0_base;
#ifdef nasys_main_flash
if (-1 == (int)fb)
fb = nasys_main_flash;
#endif
if((*(Conf_Phase1_Address_Flash+Flash_Mark_Address))==0x00 &&(*(Conf_Phase1_Address_Backup+Flash_Mark_Address))==0xffff)
{
flag=nr_flash_erase_sector_4kB((unsigned short*)na_cfi_flash_0_base,(unsigned short*)FLASH_BASE_ADD_bake);
unlock_bypass_mode(fb);
if(*(Conf_Phase1_Address_Backup+Flash_Mark_Address)!=0x00)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash+Flash_Mark_Address,0x00);
reset_bypass_mode(fb);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash,Conf_Phase1_Address_Backup,144);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase2_Address_Flash,Conf_Phase2_Address_Backup,144);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash,Conf_Stage_Address_Backup,1568);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash,Conf_Daydesign_Address_Backup,1184);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesigntable_Address_Flash,Conf_Daydesigntable_Address_Backup,30);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_YaoKong_Address_Flash,Conf_YaoKong_Address_Backup,4);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_CurNumber_Address_Flash,Conf_CurNumber_Address_Backup,16);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Solution_Address_Flash,Conf_Solution_Address_Backup,3360);
}
if(CheckData[4]==0x95)
{
flag=nr_flash_erase_sector_4kB((unsigned short*)na_cfi_flash_0_base,(unsigned short*)FLASH_BASE_ADD);
for(i=0; i<98; i++)
{
Conf_Stage_Address_Buffer[i]=CheckData[5+i];
}
if(CheckData[5]==1)
{
base_temp1=98;
unlock_bypass_mode(fb);
for(i=0; i<49; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash+i,((Conf_Stage_Address_Buffer[i*2])+(Conf_Stage_Address_Buffer[i*2+1]<<8)
));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash,(void*)&Conf_Stage_Address_Buffer[0],49);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash+base_temp1,Conf_Stage_Address_Backup+base_temp1,1219);
}
else
if(CheckData[5]==32)
{
base_temp1=98*31;
unlock_bypass_mode(fb);
for(i=0; i<49; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash+base_temp1+i,((Conf_Stage_Address_Buffer[i*2])+(Conf_Stage_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash+base_temp1,(void*)&Conf_Stage_Address_Buffer[0],49);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash,Conf_Stage_Address_Backup,1219);
}
else
{
base_temp1=98*(CheckData[5]-1);
base_temp2=98+base_temp1;
unlock_bypass_mode(fb);
for(i=0; i<49; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash+base_temp1/2+i,((Conf_Stage_Address_Buffer[i*2])+(Conf_Stage_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash+base_temp1/2,(void*)&Conf_Stage_Address_Buffer[0],49);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash,Conf_Stage_Address_Backup,(int)base_temp1/2);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash+base_temp2/2,Conf_Stage_Address_Backup+base_temp2/2,(3136-(int)base_temp2)/2);
}
unlock_bypass_mode(fb);
if(*(Conf_Phase1_Address_Backup+Flash_Mark_Address)!=0x00)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash+4480,0x00);
reset_bypass_mode(fb);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash,Conf_Phase1_Address_Backup,288);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash,Conf_Controlstage_Address_Backup,640);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash,Conf_Daydesign_Address_Backup,1184);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesigntable_Address_Flash,Conf_Daydesigntable_Address_Backup,30);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_YaoKong_Address_Flash,Conf_YaoKong_Address_Backup,4);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_CurNumber_Address_Flash,Conf_CurNumber_Address_Backup,16);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Solution_Address_Flash,Conf_Solution_Address_Backup,3360);
}
if(CheckData[4]==0x96)
{
flag=nr_flash_erase_sector_4kB((unsigned short*)na_cfi_flash_0_base,(unsigned short*)FLASH_BASE_ADD);
for(i=0; i<41; i++)
{
Conf_Controlstage_Address_Buffer[i]=CheckData[5+i];
}
if(CheckData[5]==1)
{
base_temp1=40;
temp_data=(Conf_Controlstage_Address_Buffer[40])+((*(Conf_Controlstage_Address_Backup+base_temp1/2)&&
0x00ff)<<8);
unlock_bypass_mode(fb);
for(i=0; i<20; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+i,((Conf_Controlstage_Address_Buffer[i*2])+(Conf_Controlstage_Address_Buffer[i*2+1]<<8)));
// reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash,(void*)&Conf_Controlstage_Address_Buffer[0],20);
// unlock_bypass_mode(fb);
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2,temp_data);
reset_bypass_mode(fb);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,(Conf_Controlstage_Address_Flash+(base_temp1/2)),Conf_Controlstage_Address_Backup+base_temp1/2+1,620);
}
else
if(CheckData[5]==32)
{
base_temp1=41*31-1;
temp_data=((*Conf_Controlstage_Address_Backup+base_temp1/2)<<8)+(Conf_Controlstage_Address_Buffer[0]&
0x00ff);
unlock_bypass_mode(fb);
for(i=0; i<20; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2+i,((Conf_Controlstage_Address_Buffer[i*2])+(Conf_Controlstage_Address_Buffer[i*2+1]<<8)));
// reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2,(void*)&Conf_Controlstage_Address_Buffer[1],20);
// unlock_bypass_mode(fb);
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2,temp_data);
reset_bypass_mode(fb);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash,Conf_Controlstage_Address_Backup,620);
}
else
{
if(CheckData[5]%2==1)
{
base_temp1=41*(CheckData[5]-1);
base_temp2=40+base_temp1;
temp_data=(Conf_Controlstage_Address_Buffer[40])+((*(Conf_Controlstage_Address_Backup+base_temp2/2)& 0x00ff)<<8);
unlock_bypass_mode(fb);
for(i=0; i<20; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2+i,((Conf_Controlstage_Address_Buffer[i*2])+(Conf_Controlstage_Address_Buffer[i*2+1]<<8)));
// reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2,(void*)&Conf_Controlstage_Address_Buffer[0],20);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash,Conf_Controlstage_Address_Backup,base_temp1/2);
// unlock_bypass_mode(fb);
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp2/2,temp_data);
reset_bypass_mode(fb);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp2/2+1,Conf_Controlstage_Address_Backup+base_temp2/2+1,(1312-(int)base_temp2)/2-1);
}
else
{
base_temp1=41*(CheckData[5]-1);
base_temp2=41+base_temp1;
temp_data=(*(Conf_Controlstage_Address_Backup+base_temp1/2)& 0x00ff)+((Conf_Controlstage_Address_Buffer[0]& 0x00ff)<<8);
unlock_bypass_mode(fb);
for(i=0; i<20; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2+1+i,((Conf_Controlstage_Address_Buffer[i*2])+(Conf_Controlstage_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2+1,(void*)&Conf_Controlstage_Address_Buffer[1],20);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash,Conf_Controlstage_Address_Backup,base_temp1/2);
unlock_bypass_mode(fb);
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp1/2,temp_data);
reset_bypass_mode(fb);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash+base_temp2/2,Conf_Controlstage_Address_Backup+base_temp2/2+1,(1312-(int)base_temp2)/2);
}
}
reset_bypass_mode(fb);
if(*(Conf_Phase1_Address_Backup+Flash_Mark_Address)!=0x00)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash+Flash_Mark_Address,0x00);
unlock_bypass_mode(fb);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash,Conf_Phase1_Address_Backup,288);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash,Conf_Stage_Address_Backup,1568);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash,Conf_Daydesign_Address_Backup,1184);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesigntable_Address_Flash,Conf_Daydesigntable_Address_Backup,30);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_YaoKong_Address_Flash,Conf_YaoKong_Address_Backup,4);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_CurNumber_Address_Flash,Conf_CurNumber_Address_Backup,16);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Solution_Address_Flash,Conf_Solution_Address_Backup,3360);
}
if(CheckData[4]==0x98)
{
flag=nr_flash_erase_sector_4kB((unsigned short*)na_cfi_flash_0_base,(unsigned short*)FLASH_BASE_ADD);
for(i=0; i<74; i++)
{
Conf_Daydesign_Address_Buffer[i]=CheckData[5+i];
}
if(CheckData[5]==1)
{
base_temp1=74;
unlock_bypass_mode(fb);
for(i=0; i<37; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash+i,((Conf_Daydesign_Address_Buffer[i*2])+(Conf_Daydesign_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash,(void*)&Conf_Daydesign_Address_Buffer[0],37);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash+base_temp1/2,Conf_Daydesign_Address_Backup+base_temp1/2,1147);
}
else
if(CheckData[5]==32)
{
base_temp1=74*31-1;
unlock_bypass_mode(fb);
for(i=0; i<37; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash+base_temp1/2+1+i,((Conf_Daydesign_Address_Buffer[i*2])+(Conf_Daydesign_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash+base_temp1/2+1,(void*)&Conf_Daydesign_Address_Buffer[0],37);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash,Conf_Daydesign_Address_Backup,1147);
}
else
{
base_temp1=74*(CheckData[5]-1);
base_temp2=74+base_temp1;
unlock_bypass_mode(fb);
for(i=0; i<37; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash+base_temp1/2+i,((Conf_Daydesign_Address_Buffer[i*2])+(Conf_Daydesign_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash+base_temp1/2,(void*)&Conf_Daydesign_Address_Buffer[0],37);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash,Conf_Daydesign_Address_Backup,(int)base_temp1/2);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash+base_temp2/2,Conf_Daydesign_Address_Backup+base_temp2/2,(2368-(int)base_temp2)/2);
}
unlock_bypass_mode(fb);
if(*(Conf_Phase1_Address_Backup+Flash_Mark_Address)!=0x00)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash+Flash_Mark_Address,0x00);
reset_bypass_mode(fb);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash,Conf_Phase1_Address_Backup,288);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash,Conf_Stage_Address_Backup,1568);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash,Conf_Controlstage_Address_Backup,640);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesigntable_Address_Flash,Conf_Daydesigntable_Address_Backup,30);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_YaoKong_Address_Flash,Conf_YaoKong_Address_Backup,4);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_CurNumber_Address_Flash,Conf_CurNumber_Address_Backup,16);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Solution_Address_Flash,Conf_Solution_Address_Backup,3360);
}
if(CheckData[4]==0x99)
{
flag=nr_flash_erase_sector_4kB((unsigned short*)na_cfi_flash_0_base,(unsigned short*)FLASH_BASE_ADD);
for(i=0; i<60; i++)
{
Conf_Daydesigntable_Address_Buffer[i]=CheckData[5+i];
}
unlock_bypass_mode(fb);
if(*(Conf_Phase1_Address_Backup+Flash_Mark_Address)!=0x00)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash+Flash_Mark_Address,0x00);
// reset_bypass_mode(fb);
// unlock_bypass_mode(fb);
for(i=0; i<30; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Daydesigntable_Address_Flash+i,((Conf_Daydesigntable_Address_Buffer[i*2])+(Conf_Daydesigntable_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesigntable_Address_Flash,(void*)&Conf_Daydesigntable_Address_Buffer[0],30);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash,Conf_Phase1_Address_Backup,288);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash,Conf_Stage_Address_Backup,1568);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash,Conf_Controlstage_Address_Backup,640);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash,Conf_Daydesign_Address_Backup,1184);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_YaoKong_Address_Flash,Conf_YaoKong_Address_Backup,4);
}
if(CheckData[4]==0x94)
{
flag=nr_flash_erase_sector_4kB((unsigned short*)na_cfi_flash_0_base,(unsigned short*)FLASH_BASE_ADD);
for(i=0; i<288; i++)
{
if(CheckData[5]==0)
{
Conf_Phase1_Address_Buffer[i]=CheckData[6+i];
}
else
{
Conf_Phase2_Address_Buffer[i]=CheckData[6+i];
}
}
if(CheckData[5]==0)
{
unlock_bypass_mode(fb);
for(i=0; i<144; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash+i,((Conf_Phase1_Address_Buffer[i*2])+(Conf_Phase1_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash,(void*)&Conf_Phase1_Address_Buffer[0],144);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase2_Address_Flash,Conf_Phase2_Address_Backup,144);
}
else
{
unlock_bypass_mode(fb);
for(i=0; i<144; i++)
{
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase2_Address_Flash+i,((Conf_Phase2_Address_Buffer[i*2])+(Conf_Phase2_Address_Buffer[i*2+1]<<8)));
}
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase2_Address_Flash,(void*)&Conf_Phase2_Address_Buffer[0],144);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash,Conf_Phase1_Address_Backup,144);
}
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage_Address_Flash,Conf_Stage_Address_Backup,1568);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Controlstage_Address_Flash,Conf_Controlstage_Address_Backup,640);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesign_Address_Flash,Conf_Daydesign_Address_Backup,1184);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Daydesigntable_Address_Flash,Conf_Daydesigntable_Address_Backup,30);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_YaoKong_Address_Flash,Conf_YaoKong_Address_Backup,4);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_CurNumber_Address_Flash,Conf_CurNumber_Address_Backup,16);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Solution_Address_Flash,Conf_Solution_Address_Backup,3360);
unlock_bypass_mode(fb);
if(*(Conf_Phase1_Address_Backup+Flash_Mark_Address)!=0x00)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash+Flash_Mark_Address,0x00);
reset_bypass_mode(fb);
}
if(CheckData[4]==0xCF)
{
flag=nr_flash_erase_sector_4kB((unsigned short*)na_cfi_flash_0_base,(unsigned short*)FLASH_BASE_ADD);
for(i=0; i<8; i++)
{
Conf_YaoKong_Address_Buffer[i]=CheckData[5+i];
}
unlock_bypass_mode(fb);
if(*(Conf_Phase1_Address_Backup+Flash_Mark_Address)!=0x00)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash+Flash_Mark_Address,0x00);
// reset_bypass_mode(fb);
// unlock_bypass_mode(fb);
for(i=0; i<4; i++)
nr_flash_write_bypass((unsigned short*)na_cfi_flash_0_base,Conf_YaoKong_Address_Flash+i,((Conf_YaoKong_Address_Buffer[i*2])+(Conf_YaoKong_Address_Buffer[i*2+1]<<8)));
reset_bypass_mode(fb);
// nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_YaoKong_Address_Flash,(void*)&Conf_YaoKong_Address_Buffer[0],4);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Phase1_Address_Flash,Conf_Phase1_Address_Backup,288);
nr_flash_write_buffer((unsigned short*)na_cfi_flash_0_base,Conf_Stage
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -