📄 writeflash.c
字号:
////////////////////////////////////////////
//IOB0
//IOB1
//IOB2
//IOB3
//IOB4
#include "hardware.h"
#include "A2000.h"
#define SPEECH_1 0
#define DAC1 1
#define DAC2 2
#define Ramp_UpDn_Off 0
#define Ramp_UpDn_On 3
#define Manual 0
#define Auto 1
#define Full 1
#define Empty 2
#define Mode 1
#define P_Watchdog_Clear (unsigned int *)Port_Watchdog_Clear
extern long int RES_Table;
unsigned int i,j[400];
unsigned int Page;
unsigned int block;
unsigned int Ret;
long int Addr;
long int Addr_end;
int main()
{
int i = 0;
unsigned int Addr_flash;
//
Addr = RES_Table;
Addr_end = *(&RES_Table+1);
Page = 0; //
block = 45; //定义此次写入Flash中的资源的起始Block
//-----------------------------------------------------------------------
//初始化
System_Initial();
InitSignalLine();
SP_InitSamsungFlash();
//-----------------------------------------------------------------------
SP_InitWriteSamsungFlash(Page,block); //初始化写Flash
SP_SamsungEraseBlock(block);
while(Addr<Addr_end&&i<8192)
{
Ret=SP_GetResource(Addr);
SP_FillSamsungFlash(Ret);
Addr++;
i++;
*P_Watchdog_Clear = 0x0001;
}
SP_StopWriteSamsungFlash();
/* SP_InitReadSamsungFlash_1(0,0,25);
for(i=0;i<400;i++)
{
j[i] =SP_ExtractSamsungFlash();
*P_Watchdog_Clear = 0x0001;
}
SP_StopReadSamsungFlash();*/
block += 1;
SP_InitWriteSamsungFlash(Page,block); //初始化写Flash
SP_SamsungEraseBlock(block);
while(Addr<Addr_end)
{
Ret=SP_GetResource(Addr);
SP_FillSamsungFlash(Ret);
Addr++;
*P_Watchdog_Clear = 0x0001;
}
SP_StopWriteSamsungFlash();
/* SP_InitReadSamsungFlash_1(318,12,13);
for(i=0;i<160;i++)
{
j[i] =SP_ExtractSamsungFlash();
*P_Watchdog_Clear = 0x0001;
}*/
while(1)
for(i=0;i<0x0fff;i++)
{
*P_Watchdog_Clear = 0x0001;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -