I'd like to build something that can do OTA firmware updates, with no PC or other controller in the loop.
The way I would do this on a non-teensy setup would be to have a small boot shim at the standard boot address, say 0x1000 (all numbers are illustrative). The boot shim would check both 0x2000 and 0x3000 for a firmware header, and whichever one had the latest version, it would jump to.
Let's say you're running firmware version 4 from 0x3000, and you get an OTA update for firmware version 5. You would write version 5 starting at (say) 0x2004, do an integrity check, and then update the header at 0x2000. Next time the boot shim boots, it would see that 0x2000 has the more recent firmware version and jump there.
Is the teensy set up in a way where such a thing is possible (i.e. where I can update the boot flash without using the teensy loader)?
The way I would do this on a non-teensy setup would be to have a small boot shim at the standard boot address, say 0x1000 (all numbers are illustrative). The boot shim would check both 0x2000 and 0x3000 for a firmware header, and whichever one had the latest version, it would jump to.
Let's say you're running firmware version 4 from 0x3000, and you get an OTA update for firmware version 5. You would write version 5 starting at (say) 0x2004, do an integrity check, and then update the header at 0x2000. Next time the boot shim boots, it would see that 0x2000 has the more recent firmware version and jump there.
Is the teensy set up in a way where such a thing is possible (i.e. where I can update the boot flash without using the teensy loader)?