Linker section name acmem_43_INFLS_code_rom violates name convention used in the .map file

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

Linker section name acmem_43_INFLS_code_rom violates name convention used in the .map file

827 次查看
M_SCH
Contributor III

Hello,

 

I am migrating an existing project that depended on a previous version of the RTD (AR: 4.4.0, SW: 1.0.0) to the current version (AR: 4.7.0, SW: 2.0.0).

Since I cannot share the project I have attached an example project, which faces the same issue. 

I have added the Mem_43_INFLS driver and since then encounter a linker error

s32ds.3.5/s32ds/build_tools/gcc_v10.2/gcc-10.2-arm32-eabi/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/real-ld.exe: section .acmem_43_infls_code_rom LMA [0000b848,0000b867] overlaps section .sram_data LMA [0000b848,0000b977]

claiming that the defined sections inside the linker script overlap. I have then examined the linker script (linker_flash_s32k148.ld) at line 83 where the section name acmem_43_INFLS_code_rom is defined.

 

acfls_code_rom_start = .;
. = ALIGN(0x4);
*(.acfls_code_rom)
. = ALIGN(4);
*(.acmem_43_INFLS_code_rom)
. = ALIGN(4);
acfls_code_rom_end = .;

 

If you study the error message again you see that the section reffered to here is acmem_43_infls_code_rom (all lower case letters) and the FreeRTOS_Toggle_Led_Example_S32K148.map file then states acmem_43_infls_code_rom and acmem_43_INFLS_code_rom sections.

Then I changed the linker script line 83 to

 

*(.acmem_43_infls_code_rom)

 

and executed the build process again and everything was fine.

 

Can you confirm this is a linker section name convention violation and that the proposed lower case letter approach is the right fix.

Best regards,

M_SCH

标签 (1)
标记 (1)
0 项奖励
回复
2 回复数

704 次查看
jiri_kral
NXP Employee
NXP Employee

Hi, 

you are right, the section name in code and in linker script file needs to have the same character case. 

From the .map file you can see that there is lower case in *infls*, but in the linker script file there is upper case which is wrong. 

0 项奖励
回复

691 次查看
M_SCH
Contributor III

Hello,

 

then this is a bug on NXP's side because when the Mem_43_INFLS MCAL driver is added then the build process fails because of the wrong spelling of the linker variable. Will you fix this because the FreeRTOS_Toggle_LED_Example_S32K148 has this Linker file issue.

Best regards,

M_SCH

0 项奖励
回复