Hi Dialog,
I am using in DA14580, and I had implemented the following functions:
1. service with 12 characteristics
2. additional service with 3 characteristics.
3. UART driver
4. I2C in slave mode.
I added this morning one single arch_printf() to my code and then when I compiled, I got this ERROR:
.\..\..\..\..\..\sdk\common_project_files\da1458x_scatter_config.h: Error: L6220E: Execution region ER_IROM5 size (31480 bytes) exceeds limit (31424 bytes). Region contains 17 bytes of padding and 1524 bytes of veneers (total 1541 bytes of linker generated content).
How is it possible that I achieved the memory limitation? how can I solve it? any recommends?
Best regards,
Oz
Device:
Hi Oz,
Well the 580 has limited memory and most of your image code should fit in the ER_IROM5 which is 31.424 bytes, if you exceed the limit then the linker will fail to link your project. In order to solve it you must apply modifications in the scatterfile, for starters you can change the size of your ER_IROM5 from 0x7ac0 to 0x7bc0, this will give you 0x100 bytes but you wont be able to boot from OTP. Also you can check my post on this thread which also provides a way to enlarge your code area, but again you wont be able to use the OTP.
https://support.dialog-semiconductor.com/how-build-program-code-larger-32kb
Thanks MT_dialog