Security_App: CM0+ Linker scripts for TARGET_CY8CPROTO-062-4343W are incomplete

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
stan4233_475378
Moderator
Moderator
Moderator
25 replies posted 10 questions asked 50 sign-ins

Hello,

In the Modus Toolbox 3.1 "Security App" Example, the CM0+ linker scripts for TARGET_CY8CPROTO-062-4343W are missing the "shared_ram" section.

./shared/linker_script/TARGET_CY8CPROTO-062-4343W/TOOLCHAIN_GCC_ARM/COMPONENT_CM0P/cy8c6xxa_cm0plus_btldr.ld
./shared/linker_script/TARGET_CY8CPROTO-062-4343W/TOOLCHAIN_GCC_ARM/COMPONENT_CM0P/cy8c6xxa_cm0plus.ld

Please see attached picture.  Hope you can correct them.

Thanks,

SK

0 Likes
1 Solution
Gautami_12
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @stan4233_475378,

I imported security app code example and was able to find sharedmem section in CM0+ linker script. Please look through the attached screenshot.

This is an unprotected public RAM region, with the placed .cy_sharedmem.
* This region is used to place objects that require full access from both cores.
* Uncomment the following line, define the region origin and length, and uncomment the placement of
* the .cy_sharedmem section below.


public_ram (rw) : ORIGIN = %REGION_START_ADDRESS%, LENGTH = %REGION_SIZE%

Gautami_12_0-1699442567375.png
Please check it at your end and let us know if you face still same problem.

Warm Regards,
Gautami J

 

View solution in original post

0 Likes
2 Replies
Gautami_12
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @stan4233_475378,

I imported security app code example and was able to find sharedmem section in CM0+ linker script. Please look through the attached screenshot.

This is an unprotected public RAM region, with the placed .cy_sharedmem.
* This region is used to place objects that require full access from both cores.
* Uncomment the following line, define the region origin and length, and uncomment the placement of
* the .cy_sharedmem section below.


public_ram (rw) : ORIGIN = %REGION_START_ADDRESS%, LENGTH = %REGION_SIZE%

Gautami_12_0-1699442567375.png
Please check it at your end and let us know if you face still same problem.

Warm Regards,
Gautami J

 

0 Likes

Hi,

I meant this cm4_dual.ld:

https://github.com/Infineon/mtb-example-psoc6-security/blob/master/shared/linker_script/TARGET_CY8CP...

Line 393 to Line 415 is the part that is missing in the corresponding cm0_plus.ld and cm0plus_btldr.ld

.shared_ram (NOLOAD):
{
.....
/* Check if shared sram overwrites into sram assigned for IPC system pipes */
ASSERT(__shared_ram_end__ <= __SharedSRAMLimit, "region shared RAM overflows into system IPC pipes sram region")

The picture I previously attached, highlights the difference between the files.

This problem only happens for TARGET_CY8CPROTO-062-4343W.  The linker scripts for the other 5 targets are okay.

Thanks,

SK

0 Likes