skeezix
Internal Development
Got things working a treat without much effort; right now I'm just typing commands into the terminal, but will whip up a 10 line python script to do the burn/test cycle for me .. but check this out
lowercase -> commands I entered by hand
+TEXT -> responses back from the burner microcontroller
#TEXT -> debug log from the burner
The dialog below is..
i) ask burner if ok ("ohai")
ii) tell burner to receive 5 bytes (which I then just type in 12345 or whatever)
iii) tell burner to dump existing memory for a small region
iv) tell burner to burn the buffer to device
v) tell burner to dump the memory again, so we can see it changed
FWIW, the 'F383' response is the crc32 checksum of the received buffer; this way the client-side can crc32 as well, and verify the received buffer was in fact correct; the actual burn process does a burn and verify as well, so this should be pretty 'fool proof' within reason (you send bad args in, too bad! its supposed to be driven by an automated client, so no malformed commands..)
+BOOTUP
+READY
ohai
+OHAI
+READY
dump 0 30
# Dump 30 bytes starting at 0
a 0 r 31 00110001
a 1 r 32 00110010 a 2 r 33 00110011 a 3 r 34 00110100 a 4 r 35 00110101 a 5 r 73 01110011 a 6 r 73 01110011
a 7 r 69 01101001 a 8 r 6F 01101111 a 9 r 6E 01101110 a 10 r 73 01110011 a 11 r 20 00100000 a 12 r 6C 01101100
a 13 r 69 01101001 a 14 r 73 01110011 a 15 r 74 01110100 a 16 r 65 01100101 a 17 r 64 01100100 a 18 r 20 00100000
a 19 r 62 01100010 a 20 r 65 01100101 a 21 r 6C 01101100 a 22 r 6F 01101111 a 23 r 77 01110111 a 24 r 20 00100000
a 25 r 61 01100001 a 26 r 72 01110010 a 27 r 65 01100101 a 28 r 20 00100000 a 29 r 72 01110010
+OK
+READY
receive 5
+RECEIVE F383
+READY
burn 7
# Burn 5 bytes to address 7
# Verifying..
+BURNOK
+READY
dump 0 30
# Dump 30 bytes starting at 0
a 0 r 31 00110001
a 1 r 32 00110010 a 2 r 33 00110011 a 3 r 34 00110100 a 4 r 35 00110101 a 5 r 73 01110011 a 6 r 73 01110011
a 7 r 31 00110001 a 8 r 6F 01101111 a 9 r 6E 01101110 a 10 r 73 01110011 a 11 r 35 00110101 a 12 r 6C 01101100
a 13 r 69 01101001 a 14 r 73 01110011 a 15 r 74 01110100 a 16 r 65 01100101 a 17 r 64 01100100 a 18 r 20 00100000
a 19 r 62 01100010 a 20 r 65 01100101 a 21 r 6C 01101100 a 22 r 6F 01101111 a 23 r 77 01110111 a 24 r 20 00100000
a 25 r 61 01100001 a 26 r 72 01110010 a 27 r 65 01100101 a 28 r 20 00100000 a 29 r 72 01110010
+OK
+READY
So I'll write up the little command line driver tool, and its pretty much good to go.
I've got a partial schematic done.
I should add some safeties to it, so it can do the trick where it can be used as a pass-through read, or as a burner, without ejecting the IC or anything; but for now, its a good standalone 32K burner
jeff
lowercase -> commands I entered by hand
+TEXT -> responses back from the burner microcontroller
#TEXT -> debug log from the burner
The dialog below is..
i) ask burner if ok ("ohai")
ii) tell burner to receive 5 bytes (which I then just type in 12345 or whatever)
iii) tell burner to dump existing memory for a small region
iv) tell burner to burn the buffer to device
v) tell burner to dump the memory again, so we can see it changed
FWIW, the 'F383' response is the crc32 checksum of the received buffer; this way the client-side can crc32 as well, and verify the received buffer was in fact correct; the actual burn process does a burn and verify as well, so this should be pretty 'fool proof' within reason (you send bad args in, too bad! its supposed to be driven by an automated client, so no malformed commands..)
+BOOTUP
+READY
ohai
+OHAI
+READY
dump 0 30
# Dump 30 bytes starting at 0
a 0 r 31 00110001
a 1 r 32 00110010 a 2 r 33 00110011 a 3 r 34 00110100 a 4 r 35 00110101 a 5 r 73 01110011 a 6 r 73 01110011
a 7 r 69 01101001 a 8 r 6F 01101111 a 9 r 6E 01101110 a 10 r 73 01110011 a 11 r 20 00100000 a 12 r 6C 01101100
a 13 r 69 01101001 a 14 r 73 01110011 a 15 r 74 01110100 a 16 r 65 01100101 a 17 r 64 01100100 a 18 r 20 00100000
a 19 r 62 01100010 a 20 r 65 01100101 a 21 r 6C 01101100 a 22 r 6F 01101111 a 23 r 77 01110111 a 24 r 20 00100000
a 25 r 61 01100001 a 26 r 72 01110010 a 27 r 65 01100101 a 28 r 20 00100000 a 29 r 72 01110010
+OK
+READY
receive 5
+RECEIVE F383
+READY
burn 7
# Burn 5 bytes to address 7
# Verifying..
+BURNOK
+READY
dump 0 30
# Dump 30 bytes starting at 0
a 0 r 31 00110001
a 1 r 32 00110010 a 2 r 33 00110011 a 3 r 34 00110100 a 4 r 35 00110101 a 5 r 73 01110011 a 6 r 73 01110011
a 7 r 31 00110001 a 8 r 6F 01101111 a 9 r 6E 01101110 a 10 r 73 01110011 a 11 r 35 00110101 a 12 r 6C 01101100
a 13 r 69 01101001 a 14 r 73 01110011 a 15 r 74 01110100 a 16 r 65 01100101 a 17 r 64 01100100 a 18 r 20 00100000
a 19 r 62 01100010 a 20 r 65 01100101 a 21 r 6C 01101100 a 22 r 6F 01101111 a 23 r 77 01110111 a 24 r 20 00100000
a 25 r 61 01100001 a 26 r 72 01110010 a 27 r 65 01100101 a 28 r 20 00100000 a 29 r 72 01110010
+OK
+READY
So I'll write up the little command line driver tool, and its pretty much good to go.
I've got a partial schematic done.
I should add some safeties to it, so it can do the trick where it can be used as a pass-through read, or as a burner, without ejecting the IC or anything; but for now, its a good standalone 32K burner
jeff
Last edited by a moderator: