Reprogramming Nucleo F429ZI over ethernet

07 Aug 2018

I'm working on a project using a Nucleo F429ZI board and I need to be able to reprogram it over the ethernet. I was considering creating a sort of boot loader program that could run, check if an update needs to be applied and then apply it, or if no update is needed then it will run the normal program. I was hoping to do this using the on board ROM (without having to buy a sd shield and sd card) by partitioning a fraction of the memory to the boot loader program and leaving the rest for the main program. If the boot loader program detects an updated software, it could delete the old program, download the updated program in its place, and then run the program. I'm assuming the easiest way to detect and download the new program would be through a http or tftp server, but any better ideas would be very welcome. (I already established a UDP socket connection for another part of the project, I'm not sure how useful that would be though.)

I have see a couple of examples online that have approached different aspects of this, but they all seemed unnecessarily complicated or I couldn't understand them enough to rework them. I'm new to mbed and nucleo boards so I'm not even sure my concept is feasible or even possible so some clarity on whether this is the right way to do it and any relevant documentation would be great, thanks.