3 from SerialPort_linux import *
5 # serial device to communicate with
7 # baudrate used for communication with pkernel
10 print "Initializing serial port..."
11 tty = SerialPort(DEVICE, 500, INIT_BAUDRATE)
19 except SerialPortException:
20 # timeout happened, who cares ;-)
23 print "OK, trying to set baudrate..."
25 cmdBAUDRATE(REAL_BAUDRATE)
26 tty = SerialPort(DEVICE, 100, REAL_BAUDRATE)
37 # execute (existing) program in ram
42 # read something from the IRAM
43 #print cmdREAD(0x00030000, 32)
46 #for i in range(0, 32):
48 #cmdWRITE(0x00030000, 32, data)
52 # write something to the begin of the IRAM
55 for i in range(0, 0x400):
58 checksum = (checksum + value) % (2**16)
60 print "Calculated checksum:", checksum
61 print "Writing", data_wr, "to the IRAM..."
62 cmdWRITE(0x00030000, len(data_wr), data_wr)
63 print "Received Checksum:", last_checksum
66 print "Reading from the IRAM again..."
67 data_re = cmdREAD(0x00030000, len(data_wr))
68 print "Received data:", data_re, "Checksum:", last_checksum
72 # see whats in the iram at the moment
74 print "Reading from the IRAM..."
75 data_re = cmdREAD(0x00030000, 0x10000-4)
76 print "Received data:", data_re, "Checksum:", last_checksum
80 # see whats in the dram at the moment
82 print "Reading from the DRAM..."
83 data_re = cmdREAD(0x0002C000, 0x10000-0xC000-4)
84 print "Received data:", data_re, "Checksum:", last_checksum
90 for i in range(0, 0x10000-4):
94 print "Writing", data_wr, "to the IRAM..."
95 cmdWRITE(0x00030000, len(data_wr), data_wr)
96 print "Received Checksum:", last_checksum
103 for i in range(0, 0x10000-0xC000-4):
105 data_wr.append(value)
107 print "Writing", data_wr, "to the DRAM..."
108 cmdWRITE(0x0002C000, len(data_wr), data_wr)
109 print "Received Checksum:", last_checksum
114 # write some data in the iram and try to execute it
125 0x9f,0xa0,0x9f,0xa0,0x9f,0xa0, #nop
126 0x9f,0xa0,0x9f,0xa0,0x9f,0xa0,
127 0x9f,0xa0,0x9f,0xa0,0x9f,0xa0,
128 0x9f,0xa0,0x9f,0xa0,0x9f,0xa0,
129 0x9f,0xa0,0x9f,0xa0,0x9f,0xa0,
130 0x9f,0xa0,0x9f,0xa0,0x9f,0xa0,
131 0x9f,0xa0,0x9f,0xa0,0x9f,0xa0]
132 print "Writing", data_wr, "to the IRAM..."
133 cmdWRITE(0x00030000, len(data_wr), data_wr)
134 print "Received Checksum:", last_checksum