Bootloader command GO, -g <addr>

This commit is contained in:
Domen Puncer 2012-06-19 15:06:39 +02:00
parent 15db5e2e8a
commit aa21cfd79d

View File

@ -329,7 +329,7 @@ class CommandInterface:
def usage(): def usage():
print """Usage: %s [-hqVewvr] [-l length] [-p port] [-b baud] [-a addr] [file.bin] print """Usage: %s [-hqVewvr] [-l length] [-p port] [-b baud] [-a addr] [-g addr] [file.bin]
-h This help -h This help
-q Quiet -q Quiet
-V Verbose -V Verbose
@ -341,6 +341,7 @@ def usage():
-p port Serial port (default: /dev/tty.usbserial-ftCYPMYJ) -p port Serial port (default: /dev/tty.usbserial-ftCYPMYJ)
-b baud Baud speed (default: 115200) -b baud Baud speed (default: 115200)
-a addr Target address -a addr Target address
-g addr Address to start running at (0x08000000, usually)
./stm32loader.py -e -w -v example/main.bin ./stm32loader.py -e -w -v example/main.bin
@ -365,12 +366,13 @@ if __name__ == "__main__":
'write': 0, 'write': 0,
'verify': 0, 'verify': 0,
'read': 0, 'read': 0,
'go_addr':-1,
} }
# http://www.python.org/doc/2.5.2/lib/module-getopt.html # http://www.python.org/doc/2.5.2/lib/module-getopt.html
try: try:
opts, args = getopt.getopt(sys.argv[1:], "hqVewvrp:b:a:l:") opts, args = getopt.getopt(sys.argv[1:], "hqVewvrp:b:a:l:g:")
except getopt.GetoptError, err: except getopt.GetoptError, err:
# print help information and exit: # print help information and exit:
print str(err) # will print something like "option -a not recognized" print str(err) # will print something like "option -a not recognized"
@ -401,6 +403,8 @@ if __name__ == "__main__":
conf['baud'] = eval(a) conf['baud'] = eval(a)
elif o == '-a': elif o == '-a':
conf['address'] = eval(a) conf['address'] = eval(a)
elif o == '-g':
conf['go_addr'] = eval(a)
elif o == '-l': elif o == '-l':
conf['len'] = eval(a) conf['len'] = eval(a)
else: else:
@ -449,7 +453,9 @@ if __name__ == "__main__":
rdata = cmd.readMemory(conf['address'], conf['len']) rdata = cmd.readMemory(conf['address'], conf['len'])
file(args[0], 'wb').write(''.join(map(chr,rdata))) file(args[0], 'wb').write(''.join(map(chr,rdata)))
# cmd.cmdGo(addr + 0x04) if conf['go_addr'] != -1:
cmd.cmdGo(conf['go_addr'])
finally: finally:
cmd.releaseChip() cmd.releaseChip()