Execution region ER_IROM5 size

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.wsdof.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
2 posts / 0 new
Last post
Oz
Offline
Last seen:2 years 4 months ago
Joined:2018-10-11 07:20
Execution region ER_IROM5 size

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:
MT_dialog
Offline
Last seen:1 month 2 weeks ago
Staff
Joined:2015-06-08 11:34
Hi Oz,

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