flash.writeEnable(True)
from intelhex import IntelHex
-h = IntelHex('x.hex')
+#h = IntelHex('../msp4th/hello-world.hex')
+h = IntelHex('../msp4th/x.hex')
a = [a for a in h.addresses() if (a >= 0x4000 and a < 0xf000)]
alen = max(a) - min(a)
+#code = ''.join([chr(h[i]) for i in range(0x4000, 0x10000-2)])
code = h.gets(0x4000, alen)
+#code = 0*'\x00' + code + '\x00\x40'
flash.write(min(a), code)
+vectors = ''.join([chr(h[i]) for i in range(0xff00, 0x10000-2)])
+vectors += '\x00\x40'
+flash.write(0xff00, vectors)
+
while not flash.isReady():
print 'waiting...'
-nread = 0
-c2 = ''
-while nread < len(code):
- nr = min(256, len(code)-nread)
- c = flash.read(0x4000 + nread, nr)
- c2 += c
- print 'read: %06x %s' % (0x4000+nread, str2hex(c))
- nread += nr
-
-for i in range(len(code)):
- print i, code[i] == c2[i]
+if 0:
+ nread = 0
+ c2 = ''
+ while nread < len(code):
+ nr = min(256, len(code)-nread)
+ c = flash.read(0x4000 + nread, nr)
+ c2 += c
+ print 'read: %06x %s' % (0x4000+nread, str2hex(c))
+ nread += nr
+
+ print len(code), len(c2)
+ #for i in range(len(code)):
+ #print i, code[i] == c2[i]
##############################################################################