aboutsummaryrefslogtreecommitdiffstats
path: root/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py
diff options
context:
space:
mode:
Diffstat (limited to 'demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py')
-rwxr-xr-xdemos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py141
1 files changed, 0 insertions, 141 deletions
diff --git a/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py b/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py
deleted file mode 100755
index 13f976bf9..000000000
--- a/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/usr/bin/env python
-import serial
-import array
-
-#=========================================================
-PORT = '/dev/ttyUSB1'
-FILE = 'build/ch.bin'
-
-RAM_ADDR = 0x10000300
-PAGE_SIZE = 0x40
-SECTOR_SIZE = 0x400
-FLASH_SIZE = 0x4000
-
-#=========================================================
-ser = serial.Serial( PORT, 115200, timeout=1)
-
-data = array.array('B')
-f = file( FILE, 'rb')
-try:
- data.fromfile(f, FLASH_SIZE)
-except:
- pass
-f.close()
-
-## pad out to next whole page
-data.fromstring( chr(0xff)*(PAGE_SIZE - (data.buffer_info()[1]%PAGE_SIZE)) )
-
-#=========================================================
-## fix-up LPC boot checksum
-csum = 0;
-for i in range(7):
- csum = csum + \
- (data[(i*4)] ) + \
- (data[(i*4)+1]<<8 ) + \
- (data[(i*4)+2]<<16) + \
- (data[(i*4)+3]<<24); \
-
-csum = -csum
-data[28] = csum & 0xff
-data[29] = csum>>8 & 0xff
-data[30] = csum>>16 & 0xff
-data[31] = csum>>24 & 0xff
-
-#=========================================================
-##
-ser.write('?')
-resp = ser.readline()
-if resp.strip() <> 'Synchronized':
- print 'No Response "?"'
- exit(1)
-
-ser.write('Synchronized\r\n')
-resp = ser.readline()
-resp = ser.readline()
-if resp.strip() <> 'OK':
- print 'Not Synchronized'
- exit(1)
-
-ser.write('12000\r\n')
-resp = ser.readline()
-resp = ser.readline()
-if resp.strip() <> 'OK':
- print 'No Response "12000"'
- exit(1)
-
-ser.write('A 0\r\n')
-resp = ser.readline()
-resp = ser.readline()
-if resp.strip() <> '0':
- print 'Error Response "A"', resp
- exit(1)
-
-ser.write('J\r\n')
-resp = ser.readline()
-if resp.strip() <> '0':
- print 'Error Response "J"', resp
- exit(1)
-resp = ser.readline()
-print 'Device ID: ', hex(int(resp))
-
-ser.write('U 23130\r\n')
-resp = ser.readline()
-if resp.strip() <> '0':
- print 'Error Response "U"', resp
- exit(1)
-
-
-## Erase whole device
-ser.write('P 0 7\r\n')
-resp = ser.readline()
-if resp.strip() <> '0':
- print 'Error Response "P"', resp
- exit(1)
-
-ser.write('E 0 7\r\n')
-resp = ser.readline()
-if resp.strip() <> '0':
- print 'Error Response "P"', resp
- exit(1)
-
-
-#=========================================================
-address = 0
-
-while data.buffer_info()[1]:
-
- ser.write( "W %d %d\r\n"%(RAM_ADDR, PAGE_SIZE) )
- resp = ser.readline()
- if resp.strip() <> '0':
- print 'Error Response "W"', resp
- exit(1)
-
- for i in range(PAGE_SIZE):
- ser.write( chr(data.pop(0)) )
-
- #print('P %x %x\r\n'%( address/SECTOR_SIZE, address/SECTOR_SIZE ))
- #print('C %x %x 0xff\r\n'%( address, RAM_ADDR ))
-
- ## Program page
- ser.write('P %d %d\r\n'%( address/SECTOR_SIZE, address/SECTOR_SIZE ))
- resp = ser.readline()
- if resp.strip() <> '0':
- print 'Error Response "P"', resp
- exit(1)
-
- ser.write( 'C %d %d %d\r\n'%(address, RAM_ADDR, PAGE_SIZE) )
- resp = ser.readline()
- if resp.strip() <> '0':
- print 'Error Response "C"', resp
- exit(1)
-
- print '.',
- address = address + PAGE_SIZE
- if (address%SECTOR_SIZE) == 0:
- print ''
-
-#=========================================================
-#=========================================================
-
-
-