It could be what I mentioned before I guess - that when you save new code into storage, the storage library tries to compact, which rearranges things in ROM - and any code that was executed from flash would have had the function code stored in ROM (which would have then changed position).
If you write your bootloader code like this and upload:
eval(`
Your
code
in
here`);
Then at the very least your bootloader will remain intact - and you can use eval(require("Storage").read(...)+"") in the bootloader to evaluate the code you want to run (which should cause the functions to all be loaded into RAM).
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
It could be what I mentioned before I guess - that when you save new code into storage, the storage library tries to compact, which rearranges things in ROM - and any code that was executed from flash would have had the function code stored in ROM (which would have then changed position).
If you write your bootloader code like this and upload:
Then at the very least your bootloader will remain intact - and you can use
eval(require("Storage").read(...)+"")
in the bootloader to evaluate the code you want to run (which should cause the functions to all be loaded into RAM).