sendDWord(address)
sendWord(size)
- if (recvByte() != 0x04):
- raise Exception
- print "Received Metadata."
-
# write binary stream of data
for i in range(0, size):
sendByte(data[i])
- if (recvByte() != 0x08):
- raise Exception
- print "Received Data."
-
if (recvByte() != 0x28):
raise Exception
print "Flashing done."
print "Flashing", len(seq.data), "bytes at address", hex(seq.address)
pkernWRITE(seq.address, len(seq.data), seq.data)
-sendByte(0x99);
-
+"""
+sendByte(0x99) #exit and wait
print "Reset your board now to run code from Flash"
+"""
+
+sendByte(0x97) #exit and restart
static void increaseled(void)
{
PDR14 = ~(((~PDR14)+1)%256);
- HWWD_CL = 0;
}
static unsigned char recvbyte(void)
size = recvword();
increaseled();
- Putch4(0x04); //Received Metadata.
PDR14 = 0xff;
for(i=0; i<size; i++) { /* get data */
increaseled();
data[i] = recvbyte();
}
- Putch4(0x08); //Received Data.
PDR14 = 0xff;
for(i=0; i<size; i+=2) { /* flash the data */
Putch4(0x28); //Flashing done.
break;
+ case 0x97: /* exit and restart (let do this by the watchdog!) */
+ while(1) {
+ increaseled();
+ }
+
case 0x99: /* exit */
running = 0;
break;