I'm working on the DM648 EVM board before our custom board arrives. I need to write code to program the NOR flash memory via the Ethernet port, with a host processor (ARM). This will be used for firmware updates and the normal boot mode will be from flash.
Looking at the way the DM648_NORWriter project works, supplied with the DVSDK, I think I need to do the following steps:
1) Enter Ethernet boot mode using the ROM bootloader
2) Host listens for the BOOTP packet from the DM648
3) The host then downloads a modified version of DM648_NORWriter in AIS format
4) The modified DM648_NORWriter program downloads the UBL (in AIS format) over Ethernet and programs it into flash
5) The modified DM648_NORWriter program downloads the my application (in AIS format) over Ethernet and programs it into flash
6) Change the boot switches and restart.
I have set the board into Ethernet boot mode and I can capture the BOOTP packet using wireshark so I know that the ROM bootloader is working . For the modified DM648_NORWrite program, do I need to add the network stack, from the NDK hello world example and open a socket to download the UBL and my application, or is the network stack going to be running from the ROM bootloader and I can simply open a socket to a server running on the host to download the programs?
Is there a simpler method of doing this, rather than having to develop and maintain 3 packages? Any advise or code from people that have successfully done this would be appreciated.
Simon