Dear All,
Is there any EMAC bootloader SW example for the C6474?
Many Thanks,
HR
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.
The Bootloader User's Guide SPRUEC6 is the place to look. Do you have questions on how it is supposed to work?
Since the software you are referring to would run on your host processor, it is hard for us to know what host processor to use to check out test code.
Hello HR,
I didn't work with the C6474, but I did write an Ethernet bootloader for the C6472 (Which works for core0 but does not seem to work for other cores yet).
What I did is the following -
1. I started out with a very basic program. All it did was write a constant to the DDR2 memory. I wrote the code in CCS, and checked that it worked from there (Which it did). The code itself is three lines:
int* x;
x = (int*)(0xE0000000); // Use your DDR2 address here
*x = 0x12345678;
2. Now I used hex6x.exe to create a boot file out of the .out file. The parameters I used were:
-romwidth 32
-memwidth 32
-a // That's just the type of the file that was easiest for me to work with
-boot
-order L // Little endian
-e _c_int00
3. This created a boot file. Specifically, this program is small enough to fit in one ethernet packet. I built the packet with the MAC address sent to me in the BootP message, type IPv4 (0x800), and ordinary UDP packet, and the default UDP ports (source = 0, dest = 9). If you do this, you need to make sure the UDP checksum is correct, otherwise it doesn't seem to work.
The data of the UDP packet is the header specified in the Bootloader documentation (4 bytes, I think it's 0x54, 0x4b, 0x01 and a sequence number, which will be 0 in the case of a single packet), followed by the bytes in the hexadecimal file created by hex6x.
Hope this helps.
Hi HR,
I used a PC for the host, and a free program called BitTwist to send ethernet packets.