📄 main.c
字号:
#include "main.h"
#include "serial.h"
#include "flash.h"
#define XHYPER255A
extern uint ReceiveFile(void);
LOADER_STATUS status;
void C_Entry(void){
//char cc;
char c,flag;
long k,l,i;
uint buffer,ads[10];
long src=0;
FUNIT *s;
char * string1 = "\n\nThis is my first embody program!\nPlease send file.....\n\n";
status.terminalSpeed = SERIAL_SPEED;
status.downloadSpeed = SERIAL_DOWNLOAD_SPEED;
SerialInit(status.terminalSpeed);
/*k=0;
while(1)
{
printf("o");
if(SerialInputByte(&c))
// SerialOutputString("ok");
save_file(c,k++);
else
{
k++;
if(k>100000)k=0;
// printf("error%ld",k);
}
}*/
/////char * string1 = "\n\nThis is my first embody program!\nPlease send file.....\n\n";
SerialOutputString(string1);
src = (long)KERNEL_DRAM_BASE;////#define KERNEL_DRAM_BASE (0xA0008000)
s=(FUNIT *)src;
for(i=0;i<5191;i++)
{
buffer=ReceiveFile();
// ads[i]=buffer;
*s=buffer;
//*s=0x1234;
s++;
}
//SerialInputByte()
WriteProToFlash(FLASH_BLOCK_SIZE*128);
//串口初始化为115200,而且最好程序的入口不要是main
/*
flag='#'; k=-1;l=0;
while( 1 ) {
/*
printf("\n***************MENU**********************\n");
printf("* 1--EraseFlashBlocks *\n");
printf("* 2--EraseOneFlashBlock *\n");
printf("* 3--WriteProToFlash *\n");
printf("* 4--ReadProFromFlash *\n");
printf("* 5--RebootFromFlash *\n");
printf("***************MENU**********************\n");
while (!SerialInputByte(&c));
k++;l++;
save_file(c,k);
if(l>4000)
WriteProToFlash(k);
while (!SerialInputByte(&c));
printf("%c",c);
if( (c=='*') && (flag=='#'))
{
flag=c;
k=-1;
continue;
}
//发送文件协议:*dddddd*
if((flag=='*'))//开始接受数据
{
if(c!='*')
{
k++;
save_file(c,k);
}
else
{
flag='#';//文件传输结束
WriteProToFlash(k);
k=-1;
SerialOutputString(string1);
}
}
else
printf(" invalid file sign: %c ",c);
}//while(1)*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -