I´m struggling with limited code space for my application. I´m working with a CSR1012 chipset and SDK2.6.0.10.
I´m supporting OTAU so my memory layout is similar to the CSR example with a 16kB bootloader, 128B NVM storage and then two App images – each having a size of 24kB (12160 words). In my configuration I set App image 1 to start at 0x4200 and App image 2 at 0xA100. End is 0x10000.
When I build my application, I reach a code limit around 10700 words. Data size is around 900 so according to these values I should still have 560 words left for each image. When I look in the image file, I can see a big (~1000bytes) empty memory area just before the beginning of the second App image.
Can anyone explain why I can’t use the full 24kB memory area for my image?
Why do I see such a big empty memory area at the end of each App image?
I have an additional question:
The CSR1012 can work with 1MBit EEPROM. But uses only half of it for code. Can we use the second half for OAU somehow? Is there a white paper on single large app using large EEPROMs? Can we boot a second image from the second half of the EEPROM?
BTW, we also have big issues with space. It's very difficult to run larger apps on the CSR1012. We now have opted out of any OTA and reduce the use of libraries to a minimum.