Everything except xmodem works
This commit is contained in:
@@ -6,7 +6,8 @@ enum {
|
|||||||
CMD_INVALID,
|
CMD_INVALID,
|
||||||
CMD_WRITE,
|
CMD_WRITE,
|
||||||
CMD_TEST,
|
CMD_TEST,
|
||||||
CMD_DUMP
|
CMD_DUMP,
|
||||||
|
CMD_ERASE
|
||||||
};
|
};
|
||||||
|
|
||||||
char line[120];
|
char line[120];
|
||||||
@@ -32,7 +33,7 @@ void setup() {
|
|||||||
setCtrlPins();
|
setCtrlPins();
|
||||||
|
|
||||||
setAddrPinsOut();
|
setAddrPinsOut();
|
||||||
setDataPinsIn();
|
setDataPinsOut();
|
||||||
//setDataPinsOut();
|
//setDataPinsOut();
|
||||||
|
|
||||||
Serial.begin(9600, SERIAL_8N1);
|
Serial.begin(9600, SERIAL_8N1);
|
||||||
@@ -84,6 +85,7 @@ byte parseCommand(char c) {
|
|||||||
case 'w': cmd = CMD_WRITE; break;
|
case 'w': cmd = CMD_WRITE; break;
|
||||||
case 't': cmd = CMD_TEST; break;
|
case 't': cmd = CMD_TEST; break;
|
||||||
case 'd': cmd = CMD_DUMP; break;
|
case 'd': cmd = CMD_DUMP; break;
|
||||||
|
case 'e': cmd = CMD_ERASE; break;
|
||||||
default: cmd = CMD_INVALID; break;
|
default: cmd = CMD_INVALID; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,7 +124,7 @@ void loop() {
|
|||||||
Serial.println("Wrote: 0x3F");
|
Serial.println("Wrote: 0x3F");
|
||||||
setDataPinsIn();
|
setDataPinsIn();
|
||||||
delay(500);
|
delay(500);
|
||||||
Serial.println("Received: ");
|
Serial.print("Received: ");
|
||||||
Serial.println(readData(0x0000), HEX);
|
Serial.println(readData(0x0000), HEX);
|
||||||
cmd = NULL;
|
cmd = NULL;
|
||||||
break;
|
break;
|
||||||
@@ -136,6 +138,10 @@ void loop() {
|
|||||||
// }
|
// }
|
||||||
cmd = NULL;
|
cmd = NULL;
|
||||||
break;
|
break;
|
||||||
|
case CMD_ERASE:
|
||||||
|
eraseROM();
|
||||||
|
cmd = NULL;
|
||||||
|
break;
|
||||||
|
|
||||||
case CMD_INVALID:
|
case CMD_INVALID:
|
||||||
default:
|
default:
|
||||||
@@ -144,6 +150,8 @@ void loop() {
|
|||||||
Serial.println("Commands: ");
|
Serial.println("Commands: ");
|
||||||
Serial.println("w\twrite new firmware");
|
Serial.println("w\twrite new firmware");
|
||||||
Serial.println("d\tdump firmware");
|
Serial.println("d\tdump firmware");
|
||||||
|
Serial.println("t\tdo a test write and then read");
|
||||||
|
Serial.println("e\terase chip");
|
||||||
Serial.println();
|
Serial.println();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -154,4 +162,18 @@ void dumpROM() {
|
|||||||
byte data = readData(0x0000 | i);
|
byte data = readData(0x0000 | i);
|
||||||
Serial.println(data, HEX);
|
Serial.println(data, HEX);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void eraseROM() {
|
||||||
|
setDataPinsOut();
|
||||||
|
|
||||||
|
writeByte(0xAA, 0x5555);
|
||||||
|
writeByte(0x55, 0x2AAA);
|
||||||
|
writeByte(0x80, 0x5555);
|
||||||
|
writeByte(0xAA, 0x5555);
|
||||||
|
writeByte(0x55, 0x2AAA);
|
||||||
|
writeByte(0x10, 0x5555);
|
||||||
|
|
||||||
|
delay(100);
|
||||||
|
setDataPinsIn();
|
||||||
}
|
}
|
Reference in New Issue
Block a user