I've written a custom bootloader for the TMS320F28069 processor that communicates via canbus and updates applications in flash. I've also written a dummy application that only blinks an led so that the bootloader has something to work with.
Both work fine on their own, the bootloader writes code to where its supposed to and the blinker application, well, blinks.
The problem is that the file outputted from the hex utility for the blinker application doesn't match up with the code that actually gets loaded onto the device when the blinker app is loaded by Code Composer.
For example, when code composer launches the blinker app in debug mode, the first bit of byte code is in the correct location, but doesn't match what is in the hex file.
Code loaded by code composer:
0x3f0100 FE04 A842 8A42 06F4 0920 1E44 8344 8A44 C5D5 5621 00C4 0642 07AC 8AA9 3E67 8A42 06F4
0x3f0111 0924 1E44 8344 8A44 C5D5 5621 00C4 0642 07AC 8AA9 3E67 761F 01C1 1A0B 0040 761F 0033
0x3f0122 1A21 0020 8A42 2BCC FE84 0006 FE04 A842 8A42 2BC4 8A42 06F4 0918 1E44 8344 8A44 C5D5
code put out by the hex utility:
$A3f0100,
04 42 42 F4 20 44 44 44 D5 21 C4 42 AC A9 67 42 F4 24 44 44 44 D5 21 C4
42 AC A9 67 1F C1 0B 40 1F 33 21 20 42 CC 84 06 04 42 42 C4 42 F4 18 44
44 44 D5 21 C4 42 AC A9 67 84 06 0A 45 44 42 46 42 C4 31 42 BF C4 BF 49
Further, the .map file indicates that c_int00 is at 0x3f0e97, but using the debugger memory brower indicates that c_int00 is at 0x3f1100.
I've previously written a bootloader for an MSP430 device and using the code output by the hex utility worked just fine. There must be a way to get the correct bytecode to for a bootloader to write to flash and launch, no?