I noticed that instruction prefetching from flash is disabled
Yes, its actually only quite a small speed improvement (I think it uses more power too?), and the noise it introduces makes the ADC pretty much unusable!
FreeRTOS
Honestly I find it difficult to say one way or the other as I really haven't had time to delve deep enough, but the more stuff I look at (not just EM3165), the more it seems that Espruino needs to be able to integrate nicely with other people's RTOSes, so any changes that make that easier would be good.
The whole peripheral thing could be a real pain though. If you're having to write your own jshardware.c then a lot of the benefits of having STM32 disappear :(
I'd be tempted to try and get Espruino running under FreeRTOS with no peripheral support, and to then see how much of stm32/jshardware.c can actually be used without it breaking. It should be quite a lot.
It's quite likely FreeRTOS puts the interrupt vector table into RAM, in which case you should just be able to overwrite the relevant IRQ handlers with Espruino ones as you need them...
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.
Yes, its actually only quite a small speed improvement (I think it uses more power too?), and the noise it introduces makes the ADC pretty much unusable!
Honestly I find it difficult to say one way or the other as I really haven't had time to delve deep enough, but the more stuff I look at (not just EM3165), the more it seems that Espruino needs to be able to integrate nicely with other people's RTOSes, so any changes that make that easier would be good.
The whole peripheral thing could be a real pain though. If you're having to write your own jshardware.c then a lot of the benefits of having STM32 disappear :(
I'd be tempted to try and get Espruino running under FreeRTOS with no peripheral support, and to then see how much of
stm32/jshardware.c
can actually be used without it breaking. It should be quite a lot.It's quite likely FreeRTOS puts the interrupt vector table into RAM, in which case you should just be able to overwrite the relevant IRQ handlers with Espruino ones as you need them...