Here is what we want to do to do field upgrades of our firmware without having the code to do it resident on the device.
Our application starts from flash. First thing it does is check a GPIO. If low, go into CAN Boot mode. Transfer an application that will run from RAM. This application will load a new image into flash. Set the GPIO high. Cycle power and have the device run our application.
Any suggestions?