-
Assuming not just straight forward as updating start address in Linker script?
If uploading over SWD then basically yes, look how banglejs is done.
With only using DFU package it is more complicated to install such moved bootloader. You first need custom build of espruino with one more line added to as per comment here then you need to erase UICR area in NRF.onRestart method, write bootloader via espruino Flash module and then write new bootloader location to UICR. I have done it few days ago, several times, have scripts for this. Not hard and not even that much dangerous unless the bootloader binary you flash is not working.
This was all only about moving bootloader, downgrading SDK is more complex if you need bootloader as there is no bootloader for SDK11 in espruino source so you need to get another one, e.g. from nordic examples. Without bootloader, with SWD flashing it is quite easy as the source builds as is with this extracted and you get 12+32KB
Thanks for the info.
> You could try to reduce that in the MDBT42's board file
With number of pages reduced to 6 from 10 I was to include the bluetooth and graphics. Not sure as yet of consequence tho as aware that importing modules such sensor drivers are stored in flash.
Using external flash likely a better solution just not sure of the workflow. Is there a way through the IDE to save js application directly to external flash (assuming storage/flash object only work with internal flash). Or will I have to save it to external flash manually, for example convert a module / function to templated string then use SPI flash(https://www.espruino.com/W25), and potentially split to store into pages sectors. I will likely need to leave some room on internal flash to manage this.
> Without external flash you can also save a bit by downgrading to SDK11 - gives you 0x1f000-0x1c000=12KB and also the bootloader can be moved by 8KB 0x78000 to 0x7a000
Looks interesting. Assuming not just straight forward as updating start address in Linker script?
> Are you definitely building with RELEASE=1 on the command-line? Without that, the assertions are left in and it really pushes the size up
this is the command i'm running.
make clean && DFU_UPDATE_BUILD=1 BOARD=MDBT42Q RELEASE=1 make