I'd like to reproduce a workflow on the Teensy 4 which I've been using on STM32's: place a "BIOS-like" application in flash, with a variety of libraries and drivers included, which checks for the presence of an application in RAM at a pre-defined location. This second (partial) application is built, linked, and uploaded independently. Because it can hook into the flash-based code, it can stay small and provide near-interactive build/upload development cycles. BTW, this is not about upload speed (USB2 is more than plenty), but about all the other little delays in the complete cycle - which tend to add up.
The build process works, I have two images, and loading the flash-based part is completely standard and effortless. The puzzle is how to get the RAM based part into the Teensy and then reset it so the combination can start up.
As first iteration, I've tried using the command-line "teensy_reboot" plus "teensy_loader_cli" apps. Unfortunately, it appears that the uploader refuses to load into the DTCM or RAM2 areas. See https://github.com/PaulStoffregen/teensy_loader_cli/blob/master/teensy_loader_cli.c#L914 and https://github.com/PaulStoffregen/teensy_loader_cli/blob/master/teensy_loader_cli.c#L937 for what appears to be the cause of this.
There are other ways to skin this cat (e.g. add HEX loading into my own code), but perhaps there's a simpler approach?
IOW, is there a mechanism to load a HEX file into the Teensy's RAM with the current tools?
The build process works, I have two images, and loading the flash-based part is completely standard and effortless. The puzzle is how to get the RAM based part into the Teensy and then reset it so the combination can start up.
As first iteration, I've tried using the command-line "teensy_reboot" plus "teensy_loader_cli" apps. Unfortunately, it appears that the uploader refuses to load into the DTCM or RAM2 areas. See https://github.com/PaulStoffregen/teensy_loader_cli/blob/master/teensy_loader_cli.c#L914 and https://github.com/PaulStoffregen/teensy_loader_cli/blob/master/teensy_loader_cli.c#L937 for what appears to be the cause of this.
There are other ways to skin this cat (e.g. add HEX loading into my own code), but perhaps there's a simpler approach?
IOW, is there a mechanism to load a HEX file into the Teensy's RAM with the current tools?