FLEXBOOT - A secondary 1kB bootloader in Flash for the P2
Peter Jakacki
Posts: 10,193
in Propeller 2
Sorry for the FLEX part, I've just borrowed it to get your attention! This may be a bit premature since I haven't really written any code but I was thinking that I could write a new bootloader for the P2 which would reside in the first 1kB of Flash and be loaded automatically by the ROM loader. The reason for a secondary bootloader is simply to make the boot process faster and more flexible. A user binary can simply be written to an area in Flash and bootloader can load this in using the streamer on RCFAST in the same manner that Chip showed us in spiflash.spin2. Not only Flash but also SD boot can be improved in terms of speed as well since hubexec code can be a little slow for large binaries. There are lots of other options that can be added in too to enhance the ROM bootloader. I suppose that if the user writes their clock configuration into Flash then it is safe to switch to the higher speed for booting as well or the default could even be set for a 20MHz clock input unless otherwise specified.
What I like to do is to ship my P2D2 boards with an enhanced and flexible bootloader in Flash since it will also boot TAQOZ Reloaded faster as well.
Maybe someone has done something like this already, but if not, what are your thoughts?
What I like to do is to ship my P2D2 boards with an enhanced and flexible bootloader in Flash since it will also boot TAQOZ Reloaded faster as well.
Maybe someone has done something like this already, but if not, what are your thoughts?
Comments
See the flash_payload batch file in the bin directory, which uses the bindump utility, and the Flash_loader_1.2_mod2.spin2 file from the target_p2 directory.
But if you come up with something more sophisticated and flexible, I will certainly steal it!
Ross.
The plan was to expand that to detect specific hardware and load optimized rd relevant versions.
Would work nicely for demos too.
So many things able to be done, but so little time
Now that we have real silicon and a known clock and we are not constrained from using a cog, then let's do it.