I'm trying to use the ROM-based Ethernet boot loader.
I understand that chip revisions prior to RA1 did not include the boot loader code in silicon, but after reading the SYSCTL DID0 and DID1 registers, I think I have a later chip.
Here's what I read:
DID0: 0x100A0002 (I'm guessing that this represents RA2 silicon)
DID1: 0x102DC06E
I'm using TM4C129ENCPDT.
I've looked at the example code in utils\swupdate.c. This uses lwIP, but I'm using the NDK stack. I doubt that's an issue. The transceiver is up and running and I can send TCP/IP frames to and from it. I've also enabled UDP so that BOOTP can work.
However, when I attempt to make a call into the ROM similar to what's done in swupdate.c, I get an exception and the ROM code calls exit().
I looked at the ROM documentation. If I understand this correctly, the ROM routines are accessed indirectly via jump tables beginning at 0100:0010. I looked at the address of the ROM_UpdateEMAC function and there seems to be ASCII data stored there.
So (1) do I have a chip with the Ethernet support routines in ROM and (2) if so, how do I access them?
Thanks for any help -- Mike