This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to expand the flash memory address?

Hi, all!

nRF51822 had been used in my project, because of dual bank bootloader and softdevice, the internal flash memory was not enough for the application. I want to know how to expand the flash memory.

I think a external flash memory is necessary, but I can't know how to precess it: first method, remap the flash memory address to the external flash memory. second method, copy the code of the external flash memory to the internal ram, and run the code in the ram. but another problem is appeared: the internal ram space is also not enough, how to expand the ram memory?

Can you help me, please?

Best Regards! tovax

Parents
  • you can't do any of the things you suggest in your mail. There is no way to have an external memory chip appear in the address space of the processor. You can only write data to and from it over the interface (probably SPI) which doesn't help you at all, in fact it just makes your app bigger.

    You need to get rid of the dual bank bootloader probably. You could use an external memory chip for that, if you wrote your own bootloader, you could download into the external memory chip, check, then restart with a flag which makes the bootloader copy the code out of that memory chip into main flash and start it up again. You'll need to consider all the edge cases of bad transfers etc. to make sure you're always recoverable.

Reply
  • you can't do any of the things you suggest in your mail. There is no way to have an external memory chip appear in the address space of the processor. You can only write data to and from it over the interface (probably SPI) which doesn't help you at all, in fact it just makes your app bigger.

    You need to get rid of the dual bank bootloader probably. You could use an external memory chip for that, if you wrote your own bootloader, you could download into the external memory chip, check, then restart with a flag which makes the bootloader copy the code out of that memory chip into main flash and start it up again. You'll need to consider all the edge cases of bad transfers etc. to make sure you're always recoverable.

Children
Related