I am trying to load a C6472 EVM using Ethernet.
I can do this without problems on a C6678 module, but the C6472 refuses to enter the loaded program.
The program I am using is:
mvkl 0x12345678, a0
mvkh 0x12345678, a0
b $
nop 5
nop 5
nop 5
nop 5
nop 5
I have an example that sends the following Ethernet packets to the C6472 following receipt of the BOOTP packet:
Packet 1
544b0100 10800000
00000020 10800000 002b3c28 00091a68 00000112 00008000
00008000 00008000 00008000 00008000
Packet 2
544b0101 00000000
After this, I can see the code correctly loaded at 0x800000 in core 0, but the processor is still executing the bootloader at 0x100000.
I can see both packets in memory at 0xF00000 & 0xF00640, so I know both have been read correctly.
I then change the first packet to set DSP_BOOT_ADDR0 (0x02ab0204) explicitly to the (bizarrely shifted) start address 0x2000, everything works correctly.
Packet 1
544b0100 10800000
00000020 10800000 002b3c28 00091a68 00000112 00008000
00008000 00008000 00008000 00008000
00000004 02ab0204 00002000
Packet 2
544b0101 00000000
Why is the bootloader misbehaving like this?