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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

898 Views
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

Labels (1)
Tags (1)
0 Kudos
Reply
2 Replies

775 Views
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 Kudos
Reply

762 Views
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 Kudos
Reply