1. The IDE gives a choice between SRAM and Flash memory to burn the code... How do they differ? Is SRAM faster or what?
2. Also... the maple bootloader resides in the flash memory, how much memory does it consume? Its size, that is.
3. If my program exceeds the 128 kb flash memory, would the extra part be executed through SRAM?
Thank you.
Flash or SRAM
(4 posts) (4 voices)-
Posted 5 years ago #
-
1. The IDE gives a choice between SRAM and Flash memory to burn the code... How do they differ? Is SRAM faster or what?
SRAM could be marginally faster, and, of course, the program disappears from SRAM when power is removed from the Maple.
2. Also... the maple bootloader resides in the flash memory, how much memory does it consume? Its size, that is.
Over to LeafLabs ...
Apparently it changes with each release, and LeafLabs are trying to improve it.3. If my program exceeds the 128 kb flash memory, would the extra part be executed through SRAM?
Thank you.No, it'll be broken. Programs must reside in one or the other region unless you make specific arrangements within your code and build process.
That would be quite an unusual arrangement, and it'd only gain a small amount of extra RAM space for the pain. It may be easier to get a processor with more Flash.
I don't know if LeafLabs bootloader is capable of loading such a program even if you did get it compiled and linked.Posted 5 years ago # -
The bootloader doesn't actually consume that much flash, but it needs to be rewritten so we reserved an entire 20kb for it "just in case". This is way too much and we will reduce the reserved space size in the future.
Posted 5 years ago # -
maple based ret6 builds have been reported and successful! were working on recreating this. These ret6 chips have a lot more flash, 512KB I think.
Once upon a time, the RAM builds were super useful if youre program was small, faster uploads - no flash load - you could kill hard-faulted programs just by unplugging and replugging. However libmaple has started to bloat up a bit, such that RAM builds are less and less possible (you quickly bump over the 17K limit!) But weve been tweaking libmaple to get it down to size (big reduction in 0.0.7) and the bootloader certainly doesnt need all 3k, with a careful refactor we could get that down to 1.7K id bet, its current aboult 2.5K.
Also, the bootloader is no longer a "background process" it only spins up at boot time and then dies. Thus, those 3K could certainly be recovered, this will likely be fixed in the future as well.
Posted 5 years ago #
Reply
You must log in to post.