Got an error in iAR with MKE14F ,"Error[LP011]: section placement failed"

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Got an error in iAR with MKE14F ,"Error[LP011]: section placement failed"

跳至解决方案
5,851 次查看
kwf
Contributor III

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.

 

标签 (1)
标记 (3)
0 项奖励
1 解答
5,846 次查看
mjbcswitzerland
Specialist V

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

在原帖中查看解决方案

0 项奖励
1 回复
5,847 次查看
mjbcswitzerland
Specialist V

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

0 项奖励