Closed deividAlfa closed 7 months ago
Implemented in https://github.com/CTXz/stm32f1-picopwner/commit/3bdbdd64eb0c30af236b515af399e9bb58c8f19d. Will be merged into main along with some other changes.
I've only been able to test this on the F103, but I don't see any reason why this wouldn't work on other models. Obviously the trampoline has some overlap with the IVT, but since the affected interrupts aren't being used that's ok I suppose.
Yep, shouldn't cause any issue, while bringing a lot of benefits! 👍🏻
This should remove the need of making different loaders for each RAM entry point. Also, setting 20KB RAM will cause a hardfault in any other STM32 with smaller RAM (102, 101, 100). So, limit RAM to 4KB to make it work with all.
ram_universal.ld Isolate ISR and Entry Vector in their own section, reserve 0x000-0x300 for them.
test.S Set the stack to 4KB to avoid possible hard faults. Fill ram 0x100-0x300 with jumps. Wherever the ram boots to, it'll jump to the correct place.
dump.py