Hi there
I develop on MKE14F256VLL16, and used IAR_v8.22.2.
I got an error as below
------------------------------------------------------------error message ----------------------------------------------------------
Error[Lp011]: section placement failed
unable to allocate space for sections/blocks with a total estimated minimum size of 0xe3f2 bytes (max align 0x10) in < [0x00000000-0x000003ff], [0x00000410-0x0003ffff]> (total uncommitted space 0x3fbe0).
Needed:
[0x00000000-0x0003ffff]
[0x00000410-0x0003ffff]: 0x77ec min, align 0x4 (size: 0x3fff0)
[0x00000410-0x00006fff]: 0x6c04 min, align 0x10 (size: 0x6bf0)
[0x0000fff0-0x200007ff]: 0x4d3 min, align 0x4 (size: 0x10)
-------------------------------------------------------------------------------------------------------------------------------------------
I thought that was my code is the big, so I check map file.
In map file show the code size about 71KB, the map message show as below.
-----------------------------------------------------------------------------------------
57 574 bytes of readonly code memory
1 720 bytes of readonly data memory
12 345 bytes of readwrite data memory
-----------------------------------------------------------------------------------------
But MKE14F256VLL16 had 256KB Flash, It's enough for my project.
I have no ideal why I got this issue.
I try to adjust IAR Optimizations Level to High but It not work.
Is there any suggestion? I will appreciate.
Thx for you time to read my post.
Solved! Go to Solution.
Hi
The problem that you have is that you have a section in the linker script defining 1k of flash from 0x00000000 to 0x000003ff (which will be for the reset and interrupt vectors) but your code is trying to locate 0x3ef2 byte into that space.
You need to check the name of the section and search for the attribute in the code that is defining what if being located there (it will be the reset vector in a start-up file). Then you need to work out why it is not just defining this table to be there but what looks like a lot of other stuff too.
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements
For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: https://www.utasker.com/kinetis/FRDM-KE15Z.html
Hi
The problem that you have is that you have a section in the linker script defining 1k of flash from 0x00000000 to 0x000003ff (which will be for the reset and interrupt vectors) but your code is trying to locate 0x3ef2 byte into that space.
You need to check the name of the section and search for the attribute in the code that is defining what if being located there (it will be the reset vector in a start-up file). Then you need to work out why it is not just defining this table to be there but what looks like a lot of other stuff too.
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements
For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: https://www.utasker.com/kinetis/FRDM-KE15Z.html