This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EK-TM4C123GXL: ROM Bootloader memory corruption

Part Number: EK-TM4C123GXL
Other Parts Discussed in Thread: UNIFLASH

Hi,

I'm trying to do a firmware upgrade using the ROM Bootloader and am having issues with corruption of the memory. The general steps that I'm doing:

  • Putting device into bootloader mode
  • Following the instructions in the Bootloader Manual write data. Data is written, as I can use the debugger to check that the Flash is reset to 0xFFFFFFFF and changes to the values that I'm writing. I successfully fill the flash memory with the memory address, so the protocol is implemented. Logic analyzer traces confirm the protocol is also working, and not return code errors are being issues by the TM4C.
  • Export the code in code composer studio as a TI text Hex file (attached).
  • Parse the Hex file and start writing the file to the TM4C bootloader starting at address 0, making sure to change addresses as dictated by the hex file. Picture 1 shows that the data appears to be written correctly; the left is the hex file, the right is the memory as seen by the debugger. 
  • Somewhere along the way, always at address 0x1FFC, the data appears to be written, but after the unit is issued the reset command the memory after 0x1FFC until the next hex address called out in the hex file (0x231C) is reset to 0xFFFFFFFF. Picture 2 shows the hex file with the highlighted value that corresponds to 0x1FFC on the right. Picture 3 shows that the next memory region is again valid.

Questions:

  • Any guidance as to why I can write the addresses successfully without corruption, but when writing a valid program, the memory appears to be corrupted (always at the same address).
  • Any guidance on when to write certain areas of memory? Is the program starting to run as I start writing or something odd?

Thank you for any help, I'm happy to provide more data as needed.

Austin McElroy

Picture 1:

Picture 2:

Picture 3:

Firmware as Text:

@0000
70 04 00 20 01 23 00 00 07 23 00 00 09 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 0B 23 00 00 
0B 23 00 00 00 00 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 00 00 00 00 00 00 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
00 00 00 00 00 00 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 00 00 00 00 
00 00 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 00 00 00 00 00 00 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 0B 23 00 00 
0B 23 00 00 0B 23 00 00 0B 23 00 00 AD F1 08 0D 
00 90 00 20 01 90 01 98 06 28 11 D2 01 98 C0 4A 
00 99 52 F8 30 00 88 42 04 D3 01 98 BD 49 51 F8 
30 00 06 E0 01 98 40 1C 01 90 01 98 06 28 ED D3 
00 20 02 B0 70 47 AD F1 20 0D 00 90 C5 48 00 68 
C0 F3 89 20 C0 F3 15 00 05 90 C2 48 00 68 6F F3 
9F 20 04 90 C0 48 00 68 00 F4 F8 50 00 0A 40 1C 
06 90 BD 48 00 68 00 F0 1F 00 40 1C 07 90 00 99 
07 98 B1 FB F0 F0 00 90 05 98 40 09 02 90 05 98 
02 99 A0 EB 41 10 03 90 04 98 00 99 48 43 01 90 
02 98 00 9A 01 99 50 43 01 EB 50 11 01 91 03 98 
00 9A 01 99 50 43 01 EB 90 21 01 91 06 98 01 99 
B1 FB F0 F0 01 90 01 98 08 B0 70 47 C5 48 00 68 
40 1C 00 02 70 47 C5 49 C3 48 0A 68 C4 49 10 40 
81 42 07 D1 C3 48 00 68 6F F3 1F 40 C0 02 00 F5 
00 60 05 E0 CF 48 00 68 6F F3 1F 40 40 1C C0 02 
70 47 BA 49 B8 48 0A 68 CB 49 10 40 81 42 08 D1 
C8 48 00 68 00 F4 E0 20 01 0C 01 20 0A 31 88 40 
01 E0 4F F4 80 60 70 47 1C B5 00 90 C3 49 C3 48 
00 9C 00 9B 00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 
FF 02 01 EB 14 21 00 EB 13 20 01 F0 70 41 6F F3 
1F 50 41 EA 40 11 41 EA 82 01 41 F0 00 70 01 68 
00 20 01 B1 01 20 1C BD 1C B5 00 90 CE 49 CE 48 
00 9C 00 9B 00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 
FF 02 01 EB 14 21 00 EB 13 20 01 F0 70 41 6F F3 
1F 50 41 EA 40 11 41 EA 82 01 41 F0 00 70 01 68 
00 20 01 B1 01 20 1C BD 1C B5 00 90 CD 49 CD 48 
00 9C 00 9B 00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 
FF 02 01 EB 14 21 00 EB 13 20 01 F0 70 41 6F F3 
1F 50 41 EA 40 11 41 EA 82 01 01 22 41 F0 00 70 
02 60 1C BD 1C B5 00 90 BE 49 BE 48 00 9C 00 9B 
00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 FF 02 01 EB 
14 21 00 EB 13 20 01 F0 70 41 6F F3 1F 50 41 EA 
40 11 41 EA 82 01 00 22 41 F0 00 70 02 60 1C BD 
1C B5 00 90 CA 49 CA 48 00 9C 00 9B 00 9A 04 F4 
7F 44 03 F4 7F 43 02 F0 FF 02 01 EB 14 21 00 EB 
13 20 01 F0 70 41 6F F3 1F 50 41 EA 40 11 41 EA 
82 01 01 22 41 F0 00 70 02 60 00 20 01 90 01 98 
10 28 05 D2 01 98 40 1C 01 90 01 98 10 28 F9 D3 
00 9C 00 9B 00 9A B6 49 B5 48 04 F4 7F 44 03 F4 
7F 43 02 F0 FF 02 01 EB 14 21 00 EB 13 20 01 F0 
70 41 6F F3 1F 50 41 EA 40 11 41 EA 82 01 00 22 
41 F0 00 70 02 60 1C BD 1C B5 00 90 C3 49 C3 48 
00 9C 00 9B 00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 
FF 02 01 EB 14 21 00 EB 13 20 01 F0 70 41 6F F3 
1F 50 41 EA 40 11 41 EA 82 01 01 22 41 F0 00 70 
02 60 1C BD 1C B5 00 90 B4 49 B4 48 00 9C 00 9B 
00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 FF 02 01 EB 
14 21 00 EB 13 20 01 F0 70 41 6F F3 1F 50 41 EA 
40 11 41 EA 82 01 00 22 41 F0 00 70 02 60 1C BD 
FC 27 00 00 00 28 00 00 1C B5 00 90 BE 49 BE 48 
00 9C 00 9B 00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 
FF 02 01 EB 14 21 00 EB 13 20 01 F0 70 41 6F F3 
1F 50 41 EA 40 11 41 EA 82 01 01 22 41 F0 00 70 
02 60 1C BD 60 E1 0F 40 64 E1 0F 40 1C B5 00 90 
AD 49 AD 48 00 9C 00 9B 00 9A 04 F4 7F 44 03 F4 
7F 43 02 F0 FF 02 01 EB 14 21 00 EB 13 20 01 F0 
70 41 6F F3 1F 50 41 EA 40 11 41 EA 82 01 00 22 
41 F0 00 70 02 60 1C BD 1C B5 00 90 9F 49 9F 48 
00 9C 00 9B 00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 
FF 02 01 EB 14 21 00 EB 13 20 01 F0 70 41 6F F3 
1F 50 41 EA 40 11 41 EA 82 01 01 22 41 F0 00 70 
02 60 1C BD C4 DF 0F 40 00 00 FF 70 00 E0 0F 40 
00 00 05 10 08 E0 0F 40 1C B5 00 90 8B 49 8B 48 
00 9C 00 9B 00 9A 04 F4 7F 44 03 F4 7F 43 02 F0 
FF 02 01 EB 14 21 00 EB 13 20 01 F0 70 41 6F F3 
1F 50 41 EA 40 11 41 EA 82 01 00 22 41 F0 00 70 
02 60 1C BD C0 DF 0F 40 00 00 0A 10 00 E3 0F 40 
AD F1 08 0D 8D F8 00 00 BB 49 BC 48 0A 68 BC 49 
10 40 81 42 0E D1 9D F8 00 00 28 B1 74 49 08 68 
40 F0 00 60 08 60 13 E0 71 49 08 68 20 F0 00 60 
08 60 0D E0 9D F8 00 00 28 B1 6E 49 08 68 40 F0 
00 50 08 60 04 E0 6B 49 08 68 20 F0 00 50 08 60 
02 B0 70 47 08 B5 00 90 00 99 2C 20 01 F0 91 FB 
2C 20 01 F0 24 FC 08 BD 00 EA 0F 40 08 B5 2C 20 
01 F0 56 FC 2C 20 01 F0 AD FB 08 BD AD F1 08 0D 
00 90 5D 49 00 98 0A 68 10 43 08 60 02 B0 70 47 
AD F1 08 0D 00 90 58 49 00 9A 08 68 90 43 08 60 
02 B0 70 47 00 E9 0F 40 AD F1 08 0D 00 90 53 49 
00 98 08 60 02 B0 70 47 AD F1 08 0D 8D F8 00 00 
9D F8 00 00 10 B1 4D 48 00 68 01 E0 9E 48 00 68 
02 B0 70 47 AD F1 08 0D 00 90 49 49 00 98 08 60 
02 B0 70 47 46 48 00 68 70 47 AD F1 08 0D 00 90 
44 49 00 98 08 60 02 B0 70 47 42 48 00 68 70 47 
AD F1 08 0D 00 90 40 49 00 98 08 60 02 B0 70 47 
00 E5 0F 40 AD F1 08 0D 00 90 3C 49 00 98 08 60 
02 B0 70 47 3B 48 3A 49 08 60 FE E7 08 B5 01 F0 
60 FD 08 BD 08 B5 38 49 08 68 40 F0 04 00 08 60 
01 F0 57 FD 34 49 08 68 20 F0 04 00 08 60 08 BD 
32 48 00 68 70 47 AD F1 08 0D 00 90 2F 49 00 9A 
08 68 90 43 08 60 02 B0 70 47 AD F1 08 0D 00 90 
A7 49 00 98 08 60 02 B0 70 47 C0 46 00 E6 0F 40 
AD F1 08 0D 00 90 26 48 00 99 08 42 09 D0 00 98 
24 49 00 F0 00 40 08 60 00 98 22 49 6F F3 DE 10 
08 60 00 98 1F 49 08 60 00 98 80 0A 0D D3 1E 48 
00 68 10 F4 40 7F FA D0 1B 48 00 68 00 F4 40 70 
B0 F5 80 7F 01 D0 00 20 00 E0 01 20 02 B0 70 47 
AD F1 08 0D 00 90 15 49 00 98 08 60 02 B0 70 47 
12 48 00 68 70 47 C0 46 00 E7 0F 40 00 E8 0F 40 
60 E0 0F 40 B0 E0 0F 40 54 E0 0F 40 58 E0 0F 40 
B4 E1 0F 40 BC E1 0F 40 88 E1 0F 40 8C E1 0F 40 
0C ED 00 E0 04 00 FA 05 10 ED 00 E0 5C E0 0F 40 
00 01 00 80 50 E1 0F 40 54 E1 0F 40 D8 E1 0F 40 
30 B5 AD F1 2C 0D 01 91 00 90 2F 49 2F 48 0A 68 
2F 49 10 40 81 42 01 D1 00 20 57 E1 00 98 00 F4 
F8 60 80 09 04 90 00 98 00 F0 38 00 10 28 08 D1 
A7 48 08 90 00 20 09 90 09 98 09 90 15 20 04 90 
59 E0 00 98 00 F0 38 00 30 28 06 D1 47 F2 30 50 
08 90 4F F4 00 10 09 90 4D E0 00 98 00 F0 38 00 
38 28 06 D1 4F F4 00 40 08 90 4F F4 80 00 09 90 
41 E0 00 98 10 F0 38 0F 39 D1 04 98 1A 28 02 DC 
04 98 09 28 01 DA 00 20 20 E1 04 98 91 49 51 F8 
20 00 08 90 4F F4 40 10 09 90 09 98 40 F0 40 70 
09 90 4F 48 00 68 20 F0 1C 00 05 90 04 98 07 28 
03 DB 05 98 40 F0 10 00 05 90 05 98 48 49 08 60 
4F F4 00 20 06 90 0A E0 00 E0 0F 40 00 00 FF 70 
00 00 05 10 06 98 40 1E 06 90 06 98 18 B1 0E 48 
00 68 40 0A F6 D3 06 98 28 B9 00 20 EE E0 00 20 
08 90 00 20 09 90 00 98 10 F4 60 5F 40 F0 9D 80 
00 98 10 F0 38 0F 09 D0 00 98 00 F0 38 00 10 28 
04 D0 00 20 DA E0 C0 46 50 E0 0F 40 00 98 C0 F3 
02 60 03 90 6D 48 FF F7 39 FC 6B 49 08 60 6F 49 
6B 48 09 68 08 40 0A 90 0A 98 40 F0 00 40 0A 90 
6A 49 0A 98 08 60 04 98 09 38 04 90 65 4A 03 98 
01 99 52 F8 20 00 01 9A 40 18 40 1E B0 FB F2 F0 
07 90 62 49 09 98 0A 68 10 43 08 60 5E 4D 03 9C 
04 9B 5F 49 D8 22 98 00 02 FB 04 52 00 EB C3 00 
80 18 40 68 08 60 5A 4A 07 98 11 68 40 1E 41 EA 
00 21 11 60 54 4D 57 49 03 9C 04 9B D8 22 98 00 
02 FB 04 52 00 EB C3 00 09 68 82 58 51 48 01 F4 
00 01 11 43 01 60 08 98 FF F7 0D FC 40 08 01 90 
01 98 FF F7 EB FB 44 49 08 60 4A 48 00 68 00 0E 
08 D3 46 49 08 68 40 F0 80 40 08 60 07 E0 C0 46 
7C E0 0F 40 43 49 08 68 40 F4 00 00 08 60 4F F4 
00 40 02 90 02 98 00 28 09 DD AC 48 00 68 40 08 
05 D2 02 98 40 1E 02 90 02 98 00 28 F5 DC 02 98 
80 B1 36 48 00 68 0A 90 A5 49 0A 9A 09 98 10 43 
01 43 0A 91 0A 98 40 F0 00 40 0A 90 2F 49 0A 98 
08 60 45 E0 00 20 01 90 42 E0 25 48 FF F7 AE FB 
25 49 08 60 2B 49 08 68 20 F4 00 00 08 60 27 48 
00 68 0A 90 97 48 0A 99 08 40 0A 90 0A 98 40 F0 
00 40 0A 90 21 49 0A 98 08 60 01 98 10 B9 00 20 
07 90 0F E0 01 98 08 99 B1 FB F0 F0 07 90 07 98 
10 B1 07 98 40 1E 07 90 07 98 08 99 40 1C B1 FB 
F0 F0 01 90 01 98 FF F7 81 FB 0F 49 08 60 13 48 
00 68 0A 90 07 9A 09 99 0A 98 40 EA 82 20 01 43 
0A 91 0A 98 40 F0 00 40 0A 90 0C 49 0A 98 08 60 
0A 49 08 68 20 F4 70 00 08 60 01 98 0B B0 30 BD 
00 24 F4 00 90 27 00 00 C0 E0 0F 40 40 78 7D 01 
00 FC 0F E0 9C 28 00 00 1C 23 00 00 B0 E0 0F 40 
64 E1 0F 40 60 E1 0F 40 00 B5 AD F1 14 0D 00 90 
AC 48 00 68 02 90 AE 48 00 68 03 90 02 98 40 F4 
00 60 02 90 02 98 20 F4 80 00 02 90 03 98 40 F4 
00 60 03 90 A3 49 02 98 08 60 A5 49 03 98 08 60 
02 98 40 08 23 D3 00 98 40 08 20 D2 00 98 02 9A 
6F F0 01 01 00 F0 01 00 01 43 11 40 02 91 5C 49 
4F F4 80 70 08 60 97 49 02 98 08 60 4F F4 00 20 
01 90 04 E0 01 98 40 1E 01 90 01 98 18 B1 55 48 
00 68 40 0A F6 D3 01 98 00 28 00 F0 95 80 02 98 
20 F4 FE 60 02 90 00 98 02 99 00 F4 FE 60 08 43 
02 90 49 48 03 99 08 40 03 90 00 9A 47 48 03 99 
10 40 08 43 03 90 00 98 03 99 00 F0 08 00 41 EA 
C0 01 03 91 7F 49 02 98 08 60 81 49 03 98 08 60 
02 98 20 F4 00 50 02 90 00 98 02 99 00 F4 00 50 
08 43 02 90 03 98 20 F4 00 50 03 90 00 98 03 99 
00 F4 00 50 08 43 03 90 35 49 40 20 08 60 03 98 
00 08 06 D3 03 98 72 49 08 60 6E 49 02 98 08 60 
05 E0 02 98 6B 49 08 60 6D 49 03 98 08 60 02 99 
9B 48 08 40 02 90 00 9A 9A 48 02 99 10 40 08 43 
02 90 03 98 20 F0 FC 50 03 90 00 98 03 99 00 F0 
FC 50 08 43 03 90 00 98 C0 0F 0E D3 02 98 40 F4 
80 00 02 90 03 98 20 F4 80 00 03 90 00 9A 8E 48 
03 99 10 40 08 43 03 90 03 E0 03 98 20 F0 80 40 
03 90 00 98 00 0B 16 D2 4F F4 00 40 01 90 01 98 
48 B1 0E 48 00 68 40 08 05 D2 01 98 40 1E 01 90 
01 98 00 28 F5 D1 02 98 20 F4 00 60 02 90 03 98 
20 F4 00 60 03 90 02 98 46 49 08 60 48 49 03 98 
08 60 10 20 01 F0 CA FA 05 B0 00 BD 68 E1 0F 40 
01 00 00 10 FF 03 00 EF 8F FF FF 7F 30 00 00 80 
58 E0 0F 40 50 E0 0F 40 AD F1 18 0D 39 48 00 68 
00 90 3B 48 00 68 01 90 18 E0 00 98 AE 49 00 F4 
F8 60 80 09 51 F8 20 00 03 90 24 E0 B1 48 03 90 
21 E0 B6 48 03 90 1E E0 47 F2 30 50 03 90 1A E0 
4F F4 00 40 03 90 16 E0 00 20 AE E0 01 98 00 08 
03 D3 01 98 00 F0 70 00 02 E0 00 98 00 F0 30 00 
00 28 DA D0 10 38 E1 D0 10 38 E2 D0 10 38 E3 D0 
40 38 E5 D0 E8 E7 4F F0 FF 30 04 90 01 98 00 08 
02 D3 01 98 00 0B 05 D3 01 98 00 08 53 D2 00 98 
00 0B 50 D2 B6 48 00 68 02 90 B6 48 00 68 05 90 
05 99 05 98 03 9A 01 F0 1F 01 00 F4 F8 50 49 1C 
00 0A 40 1C 41 43 48 00 B2 FB F0 F0 03 90 02 99 
02 98 03 9B 03 9A C1 F3 89 21 6F F3 9F 20 C1 F3 
15 01 50 43 59 43 00 EB 91 20 03 90 00 98 40 F4 
80 00 00 90 14 E0 B8 48 04 90 24 E0 B9 48 04 90 
21 E0 C0 46 60 E0 0F 40 B7 48 04 90 1B E0 C0 46 
70 E0 0F 40 B5 48 04 90 15 E0 BA 48 04 90 12 E0 
B9 48 00 68 00 F4 70 40 B0 F5 00 50 E3 D0 B0 F5 
80 50 E3 D0 B0 F5 80 50 E6 D0 B0 F5 40 50 E9 D0 
B0 F5 00 50 E9 D0 00 98 C0 0D 2F D3 01 98 00 08 
23 D3 01 98 C0 0F 16 D3 01 98 00 08 02 D3 01 98 
00 0B 05 D3 01 98 00 08 0D D2 00 98 00 0B 0A D2 
01 98 03 99 00 F0 FE 50 49 00 80 0D 40 1C B1 FB 
F0 F0 03 90 12 E0 01 98 03 99 00 F0 FC 50 C0 0D 
40 1C B1 FB F0 F0 03 90 08 E0 00 98 03 99 00 F0 
F0 60 C0 0D 40 1C B1 FB F0 F0 03 90 03 98 04 99 
88 42 01 D9 04 98 03 90 03 98 06 B0 70 47 AD F1 
08 0D 00 90 9C 49 00 98 08 60 02 B0 70 47 C0 46 
FE FF 3F F8 01 00 C0 07 00 00 40 40 AD F1 10 0D 
01 91 00 90 95 49 96 48 0A 68 96 49 10 40 81 42 
09 D1 00 99 01 98 90 4A 49 1E 20 F0 FC 50 40 EA 
C1 50 10 60 2D E0 00 98 40 1E 02 90 0E E0 02 98 
40 F4 40 10 02 90 13 E0 02 98 40 F4 00 10 02 90 
0E E0 02 98 40 F4 80 00 02 90 09 E0 01 98 10 F0 
70 00 EC D0 10 38 03 D0 20 38 ED D0 40 38 F0 D0 
01 98 80 08 03 D3 02 98 40 F0 00 40 02 90 01 98 
C0 0F 03 D3 02 98 40 F0 80 40 02 90 02 98 76 49 
08 60 04 B0 70 47 AD F1 08 0D 00 90 76 48 76 4A 
00 99 00 68 20 F4 F0 10 01 43 11 60 02 B0 70 47 
71 48 00 68 40 0D 01 D2 00 20 03 E0 6E 48 00 68 
00 F4 F0 10 70 47 AD F1 08 0D 00 90 6B 4A 00 98 
13 68 01 21 00 F0 0F 00 81 40 19 43 11 60 02 B0 
70 47 AD F1 08 0D 00 90 64 4B 00 98 19 68 01 22 
00 F0 0F 00 82 40 91 43 19 60 02 B0 70 47 60 49 
08 68 20 F4 80 40 08 60 70 47 5D 49 08 68 40 F4 
80 40 08 60 70 47 C0 46 90 27 00 00 AD F1 08 0D 
00 90 58 49 00 98 08 60 02 B0 70 47 52 48 00 68 
70 47 C0 46 00 24 F4 00 AD F1 08 0D 00 90 4E 49 
00 98 0A 68 10 43 08 60 02 B0 70 47 00 09 3D 00 
AD F1 30 0D 01 91 00 90 44 49 45 48 0A 68 45 49 
10 40 81 42 04 D1 01 98 00 21 01 60 00 20 49 E0 
45 48 00 68 03 90 03 98 40 0F 04 D2 01 98 00 21 
01 60 00 20 3E E0 00 98 00 F4 F8 60 80 09 02 90 
3E 49 02 98 51 F8 20 00 06 90 05 48 00 68 04 90 
04 48 00 68 05 90 04 98 6F F3 9F 20 04 E0 C0 46 
60 E1 0F 40 64 E1 0F 40 07 90 04 98 C0 F3 89 20 
C0 F3 15 00 08 90 05 98 00 F0 1F 00 09 90 05 98 
00 F4 F8 50 00 0A 0A 90 06 9B 06 9A 08 98 07 99 
58 43 51 43 01 EB 90 21 0B 91 09 98 0A 99 0B 9A 
40 1C 49 1C 41 43 B2 FB F1 F0 0B 90 01 99 0B 98 
08 60 01 20 0C B0 70 47 00 B4 C4 04 20 48 00 68 
70 47 C0 46 80 F0 FA 02 00 5A 62 02 40 78 7D 01 
AD F1 08 0D 00 90 1A 49 00 9A 08 68 90 43 08 60 
02 B0 70 47 00 2D 31 01 10 E0 0F 40 AD F1 08 0D 
01 91 00 90 13 49 01 98 00 9A 40 1E 00 F0 FF 00 
10 43 08 60 02 B0 70 47 AD F1 08 0D 00 90 0E 49 
00 98 08 60 02 B0 70 47 44 E1 0F 40 00 E0 0F 40 
00 00 FF 70 00 00 05 10 60 E0 0F 40 6C E0 0F 40 
70 E0 0F 40 38 E0 0F 40 B0 E0 0F 40 90 27 00 00 
64 E0 0F 40 48 E1 0F 40 38 E1 0F 40 AD F1 10 0D 
00 90 88 48 03 90 18 20 02 90 B8 49 B6 48 0A 68 
85 49 10 40 81 42 03 D1 84 48 03 90 1B 20 02 90 
00 20 01 90 02 98 01 99 88 42 13 D9 01 99 03 9A 
00 98 52 F8 31 10 88 42 05 D1 01 99 03 98 00 EB 
C1 00 40 68 07 E0 01 98 40 1C 01 90 02 98 01 99 
88 42 EB D8 00 20 04 B0 70 47 AD F1 10 0D 01 92 
8D F8 08 10 00 90 01 98 40 08 06 D3 00 99 9D F8 
08 00 D1 F8 00 14 08 43 05 E0 00 98 9D F8 08 10 
D0 F8 00 04 88 43 00 99 C1 F8 00 04 01 98 80 08 
06 D3 00 99 9D F8 08 00 D1 F8 20 14 08 43 05 E0 
00 98 9D F8 08 10 D0 F8 20 04 88 43 00 99 C1 F8 
20 04 04 B0 70 47 AD F1 10 0D 8D F8 0C 10 00 90 
9D F8 0C 10 01 20 88 40 8D F8 0C 00 00 98 D0 F8 
00 04 01 90 00 98 D0 F8 20 04 02 90 01 98 9D F8 
0C 10 01 42 01 D0 01 21 00 E0 00 21 02 98 9D F8 
0C 20 02 42 01 D0 02 20 00 E0 00 20 08 43 04 B0 
70 47 AD F1 10 0D 01 92 8D F8 08 10 00 90 01 98 
40 08 06 D3 00 99 9D F8 08 00 D1 F8 08 14 08 43 
05 E0 00 98 9D F8 08 10 D0 F8 08 04 88 43 00 99 
C1 F8 08 04 01 98 80 08 06 D3 00 99 9D F8 08 00 
D1 F8 04 14 08 43 05 E0 00 98 9D F8 08 10 D0 F8 
04 04 88 43 00 99 C1 F8 04 04 01 98 C0 08 06 D3 
00 99 9D F8 08 00 D1 F8 0C 14 08 43 05 E0 00 98 
9D F8 08 10 D0 F8 0C 04 88 43 00 99 C1 F8 0C 04 
01 98 40 0C 05 D3 00 98 D0 F8 38 05 40 F0 01 00 
04 E0 00 98 D0 F8 38 05 20 F0 01 00 00 99 C1 F8 
38 05 04 B0 70 47 AD F1 18 0D 8D F8 14 10 00 90 
9D F8 14 10 01 20 88 40 8D F8 14 00 00 98 D0 F8 
08 04 01 90 00 98 D0 F8 04 04 02 90 00 98 D0 F8 
0C 04 03 90 00 98 D0 F8 38 05 04 90 01 98 9D F8 
14 10 01 42 01 D0 01 20 00 E0 00 20 02 99 9D F8 
14 20 0A 42 01 D0 02 21 00 E0 00 21 03 9A 9D F8 
14 30 01 43 13 42 01 D0 04 20 00 E0 00 20 04 9A 
01 43 50 08 02 D3 4F F4 80 30 00 E0 00 20 08 43 
06 B0 70 47 A4 25 00 00 00 00 0A 10 CC 24 00 00 
1F B5 02 93 01 92 8D F8 0C 10 00 90 2B 49 2A 48 
0A 68 BE 49 10 40 81 42 30 D0 00 20 8D F8 0D 00 
9D F8 0D 00 08 28 29 DA 9D F8 0D 10 9D F8 0C 20 
01 20 88 40 10 42 18 D0 00 98 9D F8 0D 20 D0 F8 
C4 1F 00 9B 52 00 03 20 90 40 81 43 C3 F8 C4 1F 
00 98 01 9C 00 F6 C4 71 9D F8 0D 00 0A 68 43 00 
C4 F3 41 10 98 40 10 43 08 60 9D F8 0D 00 40 1C 
8D F8 0D 00 9D F8 0D 00 08 28 D5 DB 01 98 40 08 
06 D3 00 99 9D F8 0C 00 D1 F8 00 15 08 43 05 E0 
00 98 9D F8 0C 10 D0 F8 00 05 88 43 00 99 C1 F8 
00 05 01 98 80 08 0B D3 00 99 9D F8 0C 00 D1 F8 
04 15 08 43 0A E0 C0 46 00 00 FF 70 00 E0 0F 40 
00 98 9D F8 0C 10 D0 F8 04 05 88 43 00 99 C1 F8 
04 05 01 98 C0 08 06 D3 00 99 9D F8 0C 00 D1 F8 
08 15 08 43 05 E0 00 98 9D F8 0C 10 D0 F8 08 05 
88 43 00 99 C1 F8 08 05 01 98 00 09 06 D3 00 99 
9D F8 0C 00 D1 F8 18 15 08 43 05 E0 00 98 9D F8 
0C 10 D0 F8 18 05 88 43 00 99 C1 F8 18 05 B7 49 
B7 48 0A 68 79 49 10 40 81 42 12 D0 01 98 40 09 
06 D3 00 99 9D F8 0C 00 D1 F8 3C 15 08 43 05 E0 
00 98 9D F8 0C 10 D0 F8 3C 05 88 43 00 99 C1 F8 
3C 05 02 98 40 08 06 D3 00 99 9D F8 0C 00 D1 F8 
0C 15 08 43 05 E0 00 98 9D F8 0C 10 D0 F8 0C 05 
88 43 00 99 C1 F8 0C 05 02 98 80 08 06 D3 00 99 
9D F8 0C 00 D1 F8 10 15 08 43 05 E0 00 98 9D F8 
0C 10 D0 F8 10 05 88 43 00 99 C1 F8 10 05 02 98 
C0 08 06 D3 00 99 9D F8 0C 00 D1 F8 14 15 08 43 
05 E0 00 98 9D F8 0C 10 D0 F8 14 05 88 43 00 99 
C1 F8 14 05 02 98 00 09 06 D3 00 99 9D F8 0C 00 
D1 F8 1C 15 08 43 05 E0 00 98 9D F8 0C 10 D0 F8 
1C 05 88 43 00 99 C1 F8 1C 05 84 49 84 48 0A 68 
46 49 10 40 81 42 26 D0 02 98 80 0A 06 D3 00 99 
9D F8 0C 00 D1 F8 44 15 08 43 05 E0 00 98 9D F8 
0C 10 D0 F8 44 05 88 43 00 99 C1 F8 44 05 02 98 
10 F4 40 7F 06 D0 00 99 9D F8 0C 00 D1 F8 40 15 
08 43 05 E0 00 98 9D F8 0C 10 D0 F8 40 05 88 43 
00 99 C1 F8 40 05 02 98 30 B9 00 99 9D F8 0C 00 
D1 F8 28 15 08 43 05 E0 00 98 9D F8 0C 10 D0 F8 
28 05 88 43 00 99 C1 F8 28 05 00 90 1F BD AD F1 
18 0D 02 93 01 92 8D F8 14 10 00 90 9D F8 14 10 
01 20 88 40 8D F8 14 00 00 98 9D F8 14 10 D0 F8 
00 05 01 42 01 D0 01 20 00 E0 00 20 04 90 00 98 
9D F8 14 10 D0 F8 04 05 01 42 01 D0 02 20 00 E0 
00 20 04 99 08 43 04 90 00 98 9D F8 14 10 D0 F8 
08 05 01 42 01 D0 04 20 00 E0 00 20 04 99 08 43 
04 90 00 98 9D F8 14 10 D0 F8 18 05 01 42 01 D0 
08 20 00 E0 00 20 04 99 08 43 04 90 43 49 44 48 
0A 68 06 49 10 40 81 42 1B D0 00 98 9D F8 14 10 
D0 F8 3C 05 01 42 03 D0 10 20 02 E0 00 00 05 10 
00 20 04 99 08 43 04 90 00 98 9D F8 14 20 04 99 
D0 F8 C4 0F 52 00 D0 40 00 F0 03 00 41 EA 40 11 
04 91 04 98 01 99 08 60 00 98 9D F8 14 10 D0 F8 
0C 05 01 42 01 D0 01 20 00 E0 00 20 03 90 00 98 
9D F8 14 10 D0 F8 10 05 01 42 01 D0 02 20 00 E0 
00 20 03 99 08 43 03 90 00 98 9D F8 14 10 D0 F8 
14 05 01 42 01 D0 04 20 00 E0 00 20 03 99 08 43 
03 90 00 98 9D F8 14 10 D0 F8 1C 05 01 42 01 D0 
08 20 00 E0 00 20 03 99 08 43 03 90 17 49 18 48 
0A 68 B7 49 10 40 81 42 15 D0 00 98 9D F8 14 10 
D0 F8 40 05 01 42 0E D0 00 98 9D F8 14 10 D0 F8 
44 05 01 42 02 D0 4F F4 00 70 01 E0 4F F4 80 70 
03 99 08 43 03 90 03 98 02 99 08 60 06 B0 70 47 
AD F1 08 0D 01 91 00 90 00 98 01 99 00 F5 82 60 
02 68 11 43 01 60 02 B0 70 47 C0 46 00 E0 0F 40 
00 00 FF 70 AD F1 08 0D 01 91 00 90 00 98 01 9A 
00 F5 82 60 01 68 91 43 01 60 02 B0 70 47 AD F1 
08 0D 8D F8 04 10 00 90 9D F8 04 00 18 B1 00 98 
D0 F8 18 04 02 E0 00 98 D0 F8 14 04 02 B0 70 47 
AD F1 08 0D 01 91 00 90 01 98 00 99 C1 F8 1C 04 
02 B0 70 47 0E B5 01 91 00 90 00 98 FF F7 B6 FC 
02 90 01 99 02 98 00 F0 CC FA 02 98 00 F0 5F FB 
0E BD 0E B5 00 90 00 98 FF F7 A8 FC 01 90 01 98 
00 F0 8E FB 01 98 00 F0 E5 FA 0E BD 00 B5 AD F1 
14 0D 02 92 01 91 00 90 00 98 FF F7 97 FC 03 90 
01 99 03 98 40 18 02 99 00 F0 AB FA 01 99 03 98 
40 18 00 F0 3C FB 05 B0 00 BD 0E B5 01 91 00 90 
00 98 FF F7 83 FC 02 90 01 99 02 98 40 18 00 F0 
67 FB 01 99 02 98 40 18 00 F0 BC FA 0E BD AD F1 
08 0D 8D F8 04 10 00 90 9D F8 04 00 00 99 51 F8 
20 00 02 B0 70 47 AD F1 08 0D 8D F8 05 20 8D F8 
04 10 00 90 9D F8 04 10 00 9A 9D F8 05 00 42 F8 
21 00 02 B0 70 47 0E B5 8D F8 04 10 00 90 00 98 
9D F8 04 10 00 22 FF F7 80 FC 9D F8 04 10 00 98 
00 23 01 22 FF F7 64 FD 0E BD 0E B5 8D F8 04 10 
00 90 00 98 9D F8 04 10 02 22 FF F7 6E FC 9D F8 
04 10 00 98 08 23 66 22 FF F7 52 FD 0E BD 0E B5 
8D F8 04 10 00 90 00 98 9D F8 04 10 00 22 FF F7 
5C FC 9D F8 04 10 00 98 00 23 01 22 FF F7 40 FD 
0E BD 0E B5 8D F8 04 10 00 90 00 98 9D F8 04 10 
02 22 FF F7 4A FC 9D F8 04 10 00 98 08 23 01 22 
FF F7 2E FD 0E BD 0E B5 8D F8 04 10 00 90 00 98 
9D F8 04 10 02 22 FF F7 38 FC 9D F8 04 10 00 98 
08 23 01 22 FF F7 1C FD 0E BD 0E B5 8D F8 04 10 
00 90 00 98 9D F8 04 10 02 22 FF F7 26 FC 9D F8 
04 10 00 98 08 23 66 22 FF F7 0A FD 0E BD 0E B5 
8D F8 04 10 00 90 00 98 9D F8 04 10 02 22 FF F7 
14 FC 9D F8 04 10 00 98 08 23 66 22 FF F7 F8 FC 
0E BD 0E B5 8D F8 04 10 00 90 00 98 9D F8 04 10 
02 22 FF F7 02 FC 9D F8 04 10 00 98 08 23 66 22 
FF F7 E6 FC 0E BD 0E B5 8D F8 04 10 00 90 00 98 
9D F8 04 10 00 22 FF F7 F0 FB 9D F8 04 10 00 98 
08 23 01 22 FF F7 D4 FC 0E BD 0E B5 8D F8 04 10 
00 90 00 98 9D F8 04 10 01 22 08 23 FF F7 C8 FC 
9D F8 04 10 00 98 01 22 FF F7 D7 FB 0E BD C0 46 
00 00 05 10 0E B5 8D F8 04 10 00 90 00 98 9D F8 
04 10 01 22 09 23 FF F7 B3 FC 9D F8 04 10 00 98 
01 22 FF F7 C2 FB 0E BD 0E B5 8D F8 04 10 00 90 
00 98 9D F8 04 10 02 22 FF F7 B7 FB 9D F8 04 10 
00 98 08 23 01 22 FF F7 9B FC 0E BD 0E B5 8D F8 
04 10 00 90 00 98 9D F8 04 10 02 22 FF F7 A5 FB 
9D F8 04 10 00 98 09 23 01 22 FF F7 89 FC 0E BD 
0E B5 8D F8 04 10 00 90 00 98 9D F8 04 10 02 22 
FF F7 93 FB 9D F8 04 10 00 98 08 23 01 22 FF F7 
77 FC 0E BD 0E B5 8D F8 04 10 00 90 00 98 9D F8 
04 10 02 22 FF F7 81 FB 9D F8 04 10 00 98 08 23 
66 22 FF F7 65 FC 0E BD 0E B5 8D F8 04 10 00 90 
00 98 9D F8 04 10 02 22 FF F7 6F FB 9D F8 04 10 
00 98 08 23 01 22 FF F7 53 FC 0E BD 0E B5 8D F8 
04 10 00 90 00 98 9D F8 04 10 02 22 FF F7 5D FB 
9D F8 04 10 00 98 08 23 01 22 FF F7 41 FC 0E BD 
0E B5 8D F8 04 10 00 90 00 98 9D F8 04 10 02 22 
FF F7 4B FB 9D F8 04 10 00 98 0A 23 01 22 FF F7 
2F FC 0E BD 0E B5 8D F8 04 10 00 90 00 98 9D F8 
04 10 02 22 FF F7 39 FB 9D F8 04 10 00 98 08 23 
01 22 FF F7 1D FC 0E BD 0E B5 8D F8 04 10 00 90 
00 98 9D F8 04 10 02 22 FF F7 27 FB 9D F8 04 10 
00 98 08 23 01 22 FF F7 0B FC 0E BD 0E B5 8D F8 
04 10 00 90 00 98 9D F8 04 10 02 22 FF F7 15 FB 
9D F8 04 10 00 98 08 23 01 22 FF F7 F9 FB 0E BD 
0E B5 8D F8 04 10 00 90 00 98 9D F8 04 10 02 22 
FF F7 03 FB 9D F8 04 10 00 98 08 23 01 22 FF F7 
E7 FB 0E BD 0E B5 8D F8 04 10 00 90 00 98 9D F8 
04 10 00 22 FF F7 F1 FA 9D F8 04 10 00 98 00 23 
01 22 FF F7 D5 FB 0E BD 0E B5 8D F8 04 10 00 90 
00 98 9D F8 04 10 02 22 FF F7 DF FA 9D F8 04 10 
00 98 08 23 01 22 FF F7 C3 FB 0E BD 0E B5 8D F8 
04 10 00 90 00 98 9D F8 04 10 00 22 FF F7 CD FA 
9D F8 04 10 00 98 4F F4 02 73 01 22 FF F7 B0 FB 
0E BD 0E B5 8D F8 04 10 00 90 00 98 9D F8 04 10 
00 22 FF F7 BA FA 9D F8 04 10 00 98 4F F4 84 73 
01 22 FF F7 9D FB 0E BD AD F1 08 0D 00 90 00 98 
D0 F8 48 05 02 B0 70 47 3E B5 00 90 00 98 C0 F3 
07 40 01 90 3B 48 01 9A 01 68 01 20 90 40 08 42 
07 D0 01 9A 38 49 04 20 00 EB C2 00 08 58 01 90 
04 E0 01 98 34 49 51 F8 30 00 01 90 00 98 C0 F3 
07 20 02 90 01 98 00 9A 02 9B 02 9C 01 9D D0 F8 
2C 15 02 F0 0F 02 0F 20 9A 40 A0 40 81 43 0A 43 
C5 F8 2C 25 3E BD AD F1 08 0D 8D F8 04 10 00 90 
00 98 00 F2 34 51 0A 68 9D F8 04 00 10 43 08 60 
02 B0 70 47 AD F1 08 0D 8D F8 04 10 00 90 00 98 
9D F8 04 20 00 F2 34 51 08 68 90 43 08 60 02 B0 
70 47 AD F1 08 0D 8D F8 04 10 00 90 00 98 9D F8 
04 10 00 F5 A6 60 02 68 11 43 01 60 02 B0 70 47 
AD F1 08 0D 8D F8 04 10 00 90 00 98 9D F8 04 20 
00 F5 A6 60 01 68 91 43 01 60 02 B0 70 47 AD F1 
08 0D 8D F8 04 10 00 90 08 48 00 99 C1 F8 20 05 
00 98 00 F2 24 51 0A 68 9D F8 04 00 10 43 08 60 
02 B0 70 47 6C E0 0F 40 00 27 00 00 4B 43 4F 4C 
FE E7 08 B5 00 F0 3F FA 00 21 00 B1 01 21 08 46 
08 BD 08 B5 00 F0 2C FA 00 21 00 B1 01 21 08 46 
08 BD AD F1 10 0D 01 91 00 90 A1 48 A1 49 00 68 
81 42 18 D0 9E 48 00 68 03 90 00 20 02 90 02 98 
9B 28 0D D2 02 98 03 99 02 9A 9A 4B 51 F8 20 00 
43 F8 22 00 02 98 40 1C 02 90 02 98 9B 28 F1 D3 
94 48 93 49 08 60 00 99 92 4A 01 98 42 F8 21 00 
04 B0 70 47 AD F1 08 0D 00 90 8E 4A A6 49 00 98 
42 F8 20 10 02 B0 70 47 AD F1 08 0D 00 90 A5 4A 
00 99 A3 48 52 F8 21 20 A0 49 10 43 08 60 02 B0 
70 47 AD F1 08 0D 9D 48 00 68 00 F4 E0 60 01 90 
00 20 00 90 00 98 08 28 0C D2 00 98 99 4A 01 99 
52 F8 20 00 88 42 05 D0 00 98 40 1C 00 90 00 98 
08 28 F2 D3 00 98 02 B0 70 47 AD F1 10 0D 8D F8 
08 10 00 90 AD 49 00 98 80 08 51 F8 20 00 00 68 
01 90 00 98 01 99 FF 22 00 F0 03 00 C0 00 82 40 
91 43 01 91 00 98 9D F8 08 10 01 9A 00 F0 03 00 
C0 00 81 40 11 43 01 91 A0 4A 00 98 81 08 52 F8 
21 10 01 98 08 60 04 B0 70 47 AD F1 08 0D 00 90 
9A 49 00 98 80 08 51 F8 20 00 00 99 00 68 01 F0 
03 01 C9 00 C8 40 00 F0 FF 00 02 B0 70 47 AD F1 
08 0D 00 90 00 98 04 28 05 D1 91 49 08 68 40 F4 
80 30 08 60 2A E0 00 98 05 28 05 D1 8C 49 08 68 
40 F4 00 30 08 60 21 E0 00 98 06 28 05 D1 88 49 
08 68 40 F4 80 20 08 60 18 E0 00 98 0F 28 05 D1 
84 49 08 68 40 F0 02 00 08 60 0F E0 00 98 10 28 
0C D3 00 98 80 4A 10 38 41 09 00 98 52 F8 21 20 
10 38 01 21 00 F0 1F 00 81 40 11 60 02 B0 70 47 
AD F1 08 0D 00 90 00 98 04 28 05 D1 74 49 08 68 
20 F4 80 30 08 60 2A E0 00 98 05 28 05 D1 70 49 
08 68 20 F4 00 30 08 60 21 E0 00 98 06 28 05 D1 
6B 49 08 68 20 F4 80 20 08 60 18 E0 00 98 0F 28 
05 D1 68 49 08 68 20 F0 02 00 08 60 0F E0 00 98 
10 28 0C D3 00 98 65 4A 10 38 41 09 00 98 52 F8 
21 20 10 38 01 21 00 F0 1F 00 81 40 11 60 02 B0 
70 47 AD F1 08 0D 00 90 00 20 01 90 00 98 04 28 
05 D1 57 48 00 68 00 F4 80 30 01 90 2C E0 00 98 
05 28 05 D1 52 48 00 68 00 F4 00 30 01 90 23 E0 
00 98 06 28 05 D1 4E 48 00 68 00 F4 80 20 01 90 
1A E0 00 98 0F 28 05 D1 4A 48 00 68 00 F0 02 00 
01 90 11 E0 00 98 10 28 0E D3 00 98 46 49 10 38 
40 09 51 F8 20 10 00 98 0A 68 10 38 01 21 00 F0 
1F 00 81 40 11 40 01 91 01 98 02 B0 70 47 C0 46 
08 ED 00 E0 00 00 00 20 AD F1 08 0D 00 90 00 98 
02 28 05 D1 3A 49 08 68 40 F0 00 40 08 60 21 E0 
00 98 0E 28 05 D1 36 49 08 68 40 F0 80 50 08 60 
18 E0 00 98 0F 28 05 D1 31 49 08 68 40 F0 80 60 
08 60 0F E0 00 98 10 28 0C D3 00 98 2D 4A 10 38 
41 09 00 98 52 F8 21 20 10 38 01 21 00 F0 1F 00 
81 40 11 60 02 B0 70 47 01 1E 00 00 0C ED 00 E0 
00 00 FA 05 2C 28 00 00 AD F1 08 0D 00 90 00 98 
0E 28 05 D1 1E 49 08 68 40 F0 00 60 08 60 18 E0 
00 98 0F 28 05 D1 1A 49 08 68 40 F0 00 70 08 60 
0F E0 00 98 10 28 0C D3 00 98 17 4A 10 38 41 09 
00 98 52 F8 21 20 10 38 01 21 00 F0 1F 00 81 40 
11 60 02 B0 70 47 08 B5 00 90 00 98 00 F0 8B F8 
08 BD 08 B5 00 F0 8E F8 08 BD AD F1 08 0D 00 90 
0A 49 00 98 10 38 08 60 02 B0 70 47 64 26 00 00 
24 ED 00 E0 10 E0 00 E0 60 28 00 00 4C 28 00 00 
04 ED 00 E0 74 28 00 00 88 28 00 00 00 EF 00 E0 
70 47 08 B5 14 48 FE F7 9F F9 13 48 FE F7 FC F8 
00 28 FA D0 11 48 0E 21 FF F7 4F FC 08 BD 08 B5 
0F 48 FE F7 F1 FC 01 20 FE F7 5A FA 0D 48 FE F7 
CB F9 FF F7 E6 FF 09 48 0E 21 02 22 FF F7 8B FB 
09 48 00 F0 83 F8 05 48 0E 21 08 22 FF F7 83 FB 
05 48 00 F0 7B F8 EE E7 05 08 00 F0 00 50 02 40 
40 05 C0 01 00 20 00 F0 40 42 0F 00 B0 B5 0C 48 
0C 4D A8 42 10 D0 0C 48 0C 4C A0 42 0C D0 00 1B 
08 3C C7 10 54 F8 08 0F 01 78 55 F8 21 20 61 68 
40 1C 90 47 7F 1E F5 D1 00 BF 00 BF B0 BD C0 46 
B4 28 00 00 B0 28 00 00 BC 28 00 00 B4 28 00 00 
EF F3 10 80 72 B6 70 47 00 20 70 47 EF F3 10 80 
70 47 00 20 70 47 EF F3 10 80 62 B6 70 47 00 20 
70 47 30 BF 70 47 AD F1 08 0D 00 90 80 F3 11 88 
02 B0 70 47 EF F3 11 80 70 47 00 20 70 47 00 00 
0B 48 80 F3 08 88 09 49 08 68 40 F4 70 00 08 60 
00 BF 00 BF 00 F0 25 F8 08 B1 FF F7 AF FF 00 20 
FF F7 85 FF 01 20 00 F0 1E F8 C0 46 88 ED 00 E0 
70 04 00 20 D0 F8 03 00 40 1E B0 F1 FF 3F 06 D0 
00 22 40 1E 01 F8 01 2B B0 F1 FF 3F F9 D1 70 47 
FF F7 D6 BF 70 47 FE E7 FE E7 FE E7 40 1E FD D1 
70 47 01 20 70 47 00 BF FE E7 
@231c
40 00 00 00 00 00 00 00 00 01 00 00 3E 00 08 00 
00 00 00 00 00 01 00 00 A0 00 00 00 02 00 00 00 
00 01 00 00 34 54 01 00 00 00 00 00 00 01 00 00 
2B 70 06 00 00 00 00 00 00 01 00 00 28 00 00 00 
00 00 00 00 00 01 00 00 27 00 01 00 00 00 00 00 
00 01 00 00 20 00 00 00 00 00 00 00 00 01 00 00 
50 00 00 00 02 00 00 00 00 01 00 00 1A AC 00 00 
00 00 00 00 00 01 00 00 17 94 09 00 00 00 00 00 
00 01 00 00 16 98 05 00 00 00 00 00 00 01 00 00 
14 00 00 00 00 00 00 00 00 01 00 00 13 80 08 00 
00 00 00 00 00 01 00 00 A0 00 00 00 08 00 00 00 
00 01 00 00 10 00 00 00 00 00 00 00 00 01 00 00 
28 00 00 00 02 00 00 00 00 01 00 00 40 00 00 00 
04 00 00 00 00 01 00 00 60 00 00 00 00 00 00 00 
00 01 00 00 5D 00 0C 00 00 00 00 00 00 01 00 00 
50 00 00 00 00 00 00 00 00 01 00 00 4E 00 02 00 
00 00 00 00 00 01 00 00 41 AC 01 00 00 00 00 00 
00 01 00 00 3C 00 00 00 00 00 00 00 00 01 00 00 
3A 80 09 00 00 00 00 00 00 01 00 00 30 00 00 00 
00 00 00 00 00 01 00 00 28 00 00 00 00 00 00 00 
00 01 00 00 27 00 01 00 00 00 00 00 00 01 00 00 
23 60 06 00 00 00 00 00 00 01 00 00 21 60 08 00 
00 00 00 00 00 01 00 00 1E 00 00 00 00 00 00 00 
00 01 00 00 1D C0 04 00 00 00 00 00 00 01 00 00 
50 00 00 00 02 00 00 00 00 01 00 00 18 00 00 00 
00 00 00 00 00 01 00 00 14 00 00 00 00 00 00 00 
00 01 00 00 60 00 00 00 04 00 00 00 00 01 00 00 
00 40 00 40 10 00 00 00 00 80 05 40 10 00 00 00 
00 50 00 40 11 00 00 00 00 90 05 40 11 00 00 00 
00 60 00 40 12 00 00 00 00 A0 05 40 12 00 00 00 
00 70 00 40 13 00 00 00 00 B0 05 40 13 00 00 00 
00 40 02 40 14 00 00 00 00 C0 05 40 14 00 00 00 
00 50 02 40 2E 00 00 00 00 D0 05 40 2E 00 00 00 
00 60 02 40 2F 00 00 00 00 E0 05 40 2F 00 00 00 
00 70 02 40 30 00 00 00 00 F0 05 40 30 00 00 00 
00 D0 03 40 43 00 00 00 00 00 06 40 43 00 00 00 
00 10 06 40 44 00 00 00 00 20 06 40 45 00 00 00 
00 30 06 40 58 00 00 00 00 40 06 40 59 00 00 00 
00 50 06 40 5C 00 00 00 00 60 06 40 64 00 00 00 
00 70 06 40 6C 00 00 00 00 80 06 40 6D 00 00 00 
00 90 06 40 7F 00 00 00 00 40 00 40 10 00 00 00 
00 80 05 40 10 00 00 00 00 50 00 40 11 00 00 00 
00 90 05 40 11 00 00 00 00 60 00 40 12 00 00 00 
00 A0 05 40 12 00 00 00 00 70 00 40 13 00 00 00 
00 B0 05 40 13 00 00 00 00 40 02 40 14 00 00 00 
00 C0 05 40 14 00 00 00 00 50 02 40 2E 00 00 00 
00 D0 05 40 2E 00 00 00 00 60 02 40 2F 00 00 00 
00 E0 05 40 2F 00 00 00 00 70 02 40 30 00 00 00 
00 F0 05 40 30 00 00 00 00 D0 03 40 46 00 00 00 
00 00 06 40 46 00 00 00 00 10 06 40 47 00 00 00 
00 20 06 40 48 00 00 00 00 30 06 40 7F 00 00 00 
00 40 06 40 80 00 00 00 00 50 06 40 84 00 00 00 
00 60 06 40 8C 00 00 00 00 00 00 00 18 ED 00 E0 
1C ED 00 E0 20 ED 00 E0 00 E4 00 E0 04 E4 00 E0 
08 E4 00 E0 0C E4 00 E0 10 E4 00 E0 14 E4 00 E0 
18 E4 00 E0 1C E4 00 E0 20 E4 00 E0 24 E4 00 E0 
28 E4 00 E0 2C E4 00 E0 30 E4 00 E0 34 E4 00 E0 
38 E4 00 E0 3C E4 00 E0 40 E4 00 E0 44 E4 00 E0 
48 E4 00 E0 4C E4 00 E0 50 E4 00 E0 54 E4 00 E0 
58 E4 00 E0 5C E4 00 E0 60 E4 00 E0 64 E4 00 E0 
68 E4 00 E0 6C E4 00 E0 70 E4 00 E0 74 E4 00 E0 
78 E4 00 E0 7C E4 00 E0 80 E4 00 E0 84 E4 00 E0 
88 E4 00 E0 00 40 00 40 00 80 05 40 00 50 00 40 
00 90 05 40 00 60 00 40 00 A0 05 40 00 70 00 40 
00 B0 05 40 00 40 02 40 00 C0 05 40 00 50 02 40 
00 D0 05 40 00 60 02 40 00 E0 05 40 00 70 02 40 
00 F0 05 40 00 D0 03 40 00 00 06 40 00 10 06 40 
00 10 06 40 00 20 06 40 00 20 06 40 00 30 06 40 
00 30 06 40 00 40 06 40 00 40 06 40 00 50 06 40 
00 50 06 40 00 60 06 40 00 60 06 40 00 70 06 40 
00 70 06 40 00 80 06 40 00 80 06 40 00 90 06 40 
00 90 06 40 40 42 0F 00 00 20 1C 00 80 84 1E 00 
00 80 25 00 99 9E 36 00 00 40 38 00 00 09 3D 00 
00 80 3E 00 00 00 4B 00 40 4B 4C 00 00 20 4E 00 
80 8D 5B 00 00 C0 5D 00 00 80 70 00 00 12 7A 00 
00 00 7D 00 80 96 98 00 00 1B B7 00 00 80 BB 00 
C0 E8 CE 00 64 7A DA 00 00 24 F4 00 00 00 FA 00 
80 A8 12 01 00 2D 31 01 00 36 6E 01 40 78 7D 01 
00 24 F4 00 30 00 30 00 00 5A 62 02 91 00 91 00 
00 87 93 03 D2 00 D2 00 00 B4 C4 04 13 01 13 01 
00 E1 F5 05 54 01 54 01 00 0E 27 07 95 01 95 01 
00 07 00 00 00 06 00 00 00 05 00 00 00 04 00 00 
00 03 00 00 00 02 00 00 00 01 00 00 00 00 00 00 
80 E1 00 E0 84 E1 00 E0 88 E1 00 E0 8C E1 00 E0 
90 E1 00 E0 00 E1 00 E0 04 E1 00 E0 08 E1 00 E0 
0C E1 00 E0 10 E1 00 E0 00 E2 00 E0 04 E2 00 E0 
08 E2 00 E0 0C E2 00 E0 10 E2 00 E0 80 E2 00 E0 
84 E2 00 E0 88 E2 00 E0 8C E2 00 E0 90 E2 00 E0 
00 68 89 09 00 1C 4E 0E 
@28a8
00 00 00 00 6C 02 00 00 E5 22 00 00 A8 28 00 00 
00 00 00 20 
q

  • There are 3 discreet address blocks in the hex file, which should require 3 different calls to the Download command. It seems the 2nd time I call the download to write to the 2nd chunk of memory, is when the memory starts to get corrupted. Do I need to reset the device in between calls to download or parse such that I am making only one call to the download command?

  • Hello Austin,

    I'm a little unclear about a couple pieces here.

    One, you mention the ROM Bootloader, what interface are you trying to use with that boot loader? UART? SPI? USB?

    Austin McElroy2 said:
    • Export the code in code composer studio as a TI text Hex file (attached).
    • Parse the Hex file and start writing the file to the TM4C bootloader starting at address 0, making sure to change addresses as dictated by the hex file. Picture 1 shows that the data appears to be written correctly; the left is the hex file, the right is the memory as seen by the debugger. 

    Two, are you developing your own interface to push data into the ROM Bootloader? Is the issue here basically trying to assess how to send data into the device via that specific interface?

    Three, do you have the ability to run the serial bootloader application we provided with the app note? The reason I ask about that is it would give you a way to look over your LSA to see how to send the right packets. I can do the same if I know what interface is being used though.

  • Hello Austin,

    Austin McElroy2 said:
    There are 3 discreet address blocks in the hex file, which should require 3 different calls to the Download command. It seems the 2nd time I call the download to write to the 2nd chunk of memory, is when the memory starts to get corrupted. Do I need to reset the device in between calls to download or parse such that I am making only one call to the download command?

    Well, that doesn't seem to be the problem here though? You seem to be writing the right data at the right spot? There shouldn't need to be a reset between them.

    Austin McElroy2 said:
    Somewhere along the way, always at address 0x1FFC, the data appears to be written, but after the unit is issued the reset command the memory after 0x1FFC until the next hex address called out in the hex file (0x231C) is reset to 0xFFFFFFFF. Picture 2 shows the hex file with the highlighted value that corresponds to 0x1FFC on the right. Picture 3 shows that the next memory region is again valid.

    By the way Pictures 1 and 2 are identical... anyways, so do you actually see the the data from 0x1FFC is correct before a reset? Maybe you can try and use Uniflash to read out memory after running your SBL? I'm wondering if maybe your length field for the SBL is wrong so it's not programming those last bytes...

  • Hey Ralph, 

    I think I figured it out by re-writing my firmware parsing program to generate a single monolithic byte array that is written, instead of the 3 discreet chunks of memory that is denoted in the hex file. It seems that calling the download multiple times leads to a semi-undefined but repeatable state that is corrupting the memory. 

    To answers the other questions:

    • Using the ROM Bootloader with I2C
    • There is an nRF52840 microcontroller getting Bluetooth over-the-air firmware from a phone that is getting that data from a server. The nRF52840 and TM4C are connected by 4 wires:
      • I2C0 SDA
      • I2C0 SCL
      • A reset pin
      • A bootloader pin
    • Oops, yes, picture one and two are identical. Sorry about that.

    Edit - The monolithic byte array seems to have solved the problem: https://www.youtube.com/watch?v=nDKmMyAobDM&ab_channel=AustinMcElroy