Launching an unmodified binary image from another running spin file
BradC
Posts: 2,601
Ok, tested and working
This runs on my demo board. I have a led on P7 that flashes to let me know what is going on while it's loading (Takes quite a while)
I have the standard propeller demo in eeprom.
This loads it and runs it while leaving the initial spin program running in its initial cog. I see it frantically flashing the led colliding with the pulsing from
The demo chaser.
I had tv_text running in the initial spin program also, but of course when the demo launched it caused a massive desync of the tv image.
Anyway, this is how to do it [noparse]:)[/noparse]
Edit: replaced the file with one slightly better put together
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pull my finger!
Post Edited (BradC) : 7/20/2008 5:06:38 PM GMT
This runs on my demo board. I have a led on P7 that flashes to let me know what is going on while it's loading (Takes quite a while)
I have the standard propeller demo in eeprom.
This loads it and runs it while leaving the initial spin program running in its initial cog. I see it frantically flashing the led colliding with the pulsing from
The demo chaser.
I had tv_text running in the initial spin program also, but of course when the demo launched it caused a massive desync of the tv image.
Anyway, this is how to do it [noparse]:)[/noparse]
Edit: replaced the file with one slightly better put together
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pull my finger!
Post Edited (BradC) : 7/20/2008 5:06:38 PM GMT
txt
717B
Comments
Watch out for the stack of the original spin program. I can't reliably load below about $388 with this running..
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pull my finger!
Apparently the image must be loaded on a long boundary for this to work.
If you set Loadaddr to $2002 for example it fails but using $2000 works.
Some memory allocation schemes return an unaligned address
I can load and run a .bin from SD now and should be able to manage it at will.
Thanks for looking at this.
--Steve
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pull my finger!
Not without significantly more information about what you are doing, how you are doing it and preferably a copy of the code you are doing it with.
Generally I see the TV object "desync" when you trample its ram, so I suspect you are blowing over either the code section or the display buffer.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
lt's not particularly silly, is it?