X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=frprog.py;h=b9432a85c2a67f698ced568193561155cb65fb9e;hb=aa7ae00606beffecc4e058868a81c76a6872110d;hp=03a441dedf9627e76cfb69698fdac765b8a528e8;hpb=7b64a4f9de0211a3d903dd4ed6ad2bb9b6186563;p=pyfrprog.git diff --git a/frprog.py b/frprog.py index 03a441d..b9432a8 100755 --- a/frprog.py +++ b/frprog.py @@ -35,7 +35,7 @@ def recvChecksum(): last_checksum = recvByte() last_checksum |= (recvByte() << 8) -def cmdREAD(address, size): +def bootromREAD(address, size): # send READ command sendByte(0x01) if (recvByte() != 0xF1): @@ -54,7 +54,7 @@ def cmdREAD(address, size): recvChecksum() return data -def cmdWRITE(address, size, data): +def bootromWRITE(address, size, data): # send WRITE command sendByte(0x01) if (recvByte() != 0xF1): @@ -72,7 +72,7 @@ def cmdWRITE(address, size, data): recvChecksum() # TODO: test this function! -def cmdCALL(address): +def bootromCALL(address): # send CALL command sendByte(0x01) if (recvByte() != 0xF1): @@ -86,7 +86,7 @@ def cmdCALL(address): #return recvByte() # TODO: test this function! -def cmdCHECKSUM(): +def bootromCHECKSUM(): # call CHECKSUM command sendByte(0x01) if (recvByte() != 0xF1): @@ -97,7 +97,7 @@ def cmdCHECKSUM(): # get checksum recvChecksum() -def cmdBAUDRATE(baudrate): +def bootromBAUDRATE(baudrate): # send BAUDRATE command sendByte(0x01) if (recvByte() != 0xF1): @@ -210,9 +210,11 @@ while True: # timeout happened, who cares ;-) pass +starttime = time.time() # save time at this point for evaluating the duration at the end + print "OK, trying to set baudrate..." # set baudrate -cmdBAUDRATE(BOOTLOADER_BAUDRATE) +bootromBAUDRATE(BOOTLOADER_BAUDRATE) time.sleep(0.1) # just to get sure that the bootloader is really running in new baudrate mode! del tty tty = SerialPort(DEVICE, 100, BOOTLOADER_BAUDRATE) @@ -225,22 +227,20 @@ for seq in bootloaderseqs: else: continue #print "RAMing", len(seq.data), "bytes at address", hex(addr) - cmdWRITE(addr, len(seq.data), seq.data) + bootromWRITE(addr, len(seq.data), seq.data) tty.flush() sys.stdout.write(".") sys.stdout.flush() print # execute our pkernel finally and set pkernel conform baudrate -cmdCALL(0x30000) -time.sleep(0.5) # just to get sure that the pkernel is really running! +bootromCALL(0x30000) +time.sleep(0.1) # just to get sure that the pkernel is really running! del tty -pkernelmode = True tty = SerialPort(DEVICE, None, KERNEL_BAUDRATE) print "Performing ChipErase..." pkernCHIPERASE() -print "Chip erasing done." print "Flashing", for seq in pkernelseqs: @@ -254,7 +254,9 @@ for seq in pkernelseqs: sys.stdout.write(".") sys.stdout.flush() print -print "Flashing done." + +duration = time.time() - starttime +print "Procedure complete, took", round(duration, 2), "seconds." sendByte(0x97) # exit and restart print "Program was started. Have fun!"