X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=pkernel%2Fmain.c;h=74d1659ee066accd8f347946e4e05cc78a57b34c;hb=b580c9fce4cc4e51d411e09eff79af6c17519600;hp=452c3881c7d0040d8b66371be48cf2c1b3bd0313;hpb=89576267a3ec91de6d4ac380969ae5d19ac7f1af;p=pyfrprog.git diff --git a/pkernel/main.c b/pkernel/main.c index 452c388..74d1659 100644 --- a/pkernel/main.c +++ b/pkernel/main.c @@ -1,15 +1,12 @@ #include "mb91465k.h" #include "flash.h" -#pragma section CODE=IRAM,attr=CODE - #define BUFSIZE 0x20 #define cleardata() memset(data,0,BUFSIZE) static void increaseled(void) { PDR14 = ~(((~PDR14)+1)%256); - HWWD_CL = 0; } static unsigned char recvbyte(void) @@ -58,8 +55,6 @@ void main(void) unsigned short i, size, next; unsigned char running = 1, data[BUFSIZE] = {0}; - PORTEN = 0x3; /* enable I/O Ports */ - /*Enable LEDs*/ DDR14 = 0xFF; PDR14 = 0xff; @@ -71,22 +66,13 @@ void main(void) cleardata(); increaseled(); switch(recvbyte()) { - case 0x12: //erase - Putch4(0x11); - address = recvdword(); + case 0x15: //chip erase + Putch4(0x45); increaseled(); - - size = recvword(); - increaseled(); - - PDR14 = 0xff; - for(i=0; i<(size+4); i+=4) { /* erase */ - if(FLASH_SectorErase(address + i) != 1) { - panic(); - } - increaseled(); + if(FLASH_ChipErase() != 1) { + panic(); } - Putch4(0x18); //Erasing done. + Putch4(0x23); break; case 0x13: //receive @@ -99,13 +85,11 @@ void main(void) size = recvword(); increaseled(); - Putch4(0x04); //Received Metadata. PDR14 = 0xff; for(i=0; i