#include "mb91465k.h"
#include "flash.h"
-#define BUFSIZE 0x10
+#define BUFSIZE 0x20
#define cleardata() memset(data,0,BUFSIZE)
static void increaseled(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;
while(running) {
cleardata();
increaseled();
-
switch(recvbyte()) {
case 0x15: //chip erase
Putch4(0x45);
Putch4(0x23);
break;
- case 0x12: //erase
- Putch4(0x11);
- address = recvdword();
- increaseled();
-
- size = recvword();
- increaseled();
-
- PDR14 = 0xff;
- for(i=0; i<(size+4); i+=4) { /* erase */
- if(FLASH_SectorErase(address + i) != 1) {
- panic();
- }
- increaseled();
- }
- Putch4(0x18); //Erasing done.
- break;
-
case 0x13: //receive
Putch4(0x37);
increaseled();
panic();
}
}
+ Putch4(0x28); //Flashing done.
break;
- case 0x23: //ack it
- Putch4(0xaa);
- break;
-
- case 0x97: /* exit and restart (let do this by the watchdog)! */
+ case 0x97: /* exit and restart (let do this by the watchdog!) */
while(1) {
increaseled();
}