LPC4330 multicore project (M4/M0): linker can't resovle symbols for M0 application .text

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

LPC4330 multicore project (M4/M0): linker can't resovle symbols for M0 application .text

625 Views
bigbrett
Contributor II

Hi there NXP,

I'm trying to build a multicore project for the lpc4330FET100 in MCUXpresso, linking against the LPCOpen libraries. My M0 project builds successfully, however when I try to build the M4 project I get the following error:

Building target: XOPowerMgr.axf
Invoking: MCU Linker
arm-none-eabi-gcc -nostdlib -L"C:\Work\Firmware\MCUXPresso\lpc_chip_43xx\Debug" -Xlinker -Map="XOPowerMgr.map" -Xlinker --gc-sections -Xlinker -print-memory-usage -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mthumb -T "XOPowerMgr_Debug.ld" -o "XOPowerMgr.axf"  ./src/XOPowerMgr.o ./src/cr_start_m0.o ./src/cr_startup_lpc43xx.o ./src/crp.o ./src/sysinit.o  C:/Work/Firmware/MCUXPresso/XOPowerMgr_M0/Debug/XOPowerMgr_M0.axf.o -llpc_chip_43xx
XOPowerMgr_Debug.ld:28: undefined section `.data_core_m0app_text' referenced in expression
collect2.exe: error: ld returned 1 exit status
make: *** [XOPowerMgr.axf] Error 1

It seems that there is an error in the auto-generated linker script on the M0 side of things (maybe not exporting the right symbols??) but I don't really know how to proceed.

I created both projects as multicore apps, and added the M0 project object file to the M4 project in the multicore configuration dialog.

I've attached the autogenerated linker scripts for both cores for reference. A snippet containing the offending line from the M4 linker script is shown below:

SECTIONS
{
    /* MAIN TEXT SECTION */
    .text : ALIGN(4)
    {
        FILL(0xff)
        __vectors_start__ = ABSOLUTE(.) ;
        KEEP(*(.isr_vector))
        /* Global Section Table */
        . = ALIGN(4) ;
        __section_table_start = .;
        __data_section_table = .;
        LONG(LOADADDR(.data_core_m0app_text)); <-- ERROR HERE
        LONG(    ADDR(.data_core_m0app_text));
        LONG(  SIZEOF(.data_core_m0app_text));
        LONG(LOADADDR(.data_core_m0app_ARM_extab));
        LONG(    ADDR(.data_core_m0app_ARM_extab));
        LONG(  SIZEOF(.data_core_m0app_ARM_extab));
        LONG(LOADADDR(.data_core_m0app_ARM_exidx));
        LONG(    ADDR(.data_core_m0app_ARM_exidx));
        LONG(  SIZEOF(.data_core_m0app_ARM_exidx));
        LONG(LOADADDR(.data_core_m0app_data));
        LONG(    ADDR(.data_core_m0app_data));
        LONG(  SIZEOF(.data_core_m0app_data));
        LONG(LOADADDR(.data));

Any help is appreciated. Thanks!

Labels (3)
0 Kudos
1 Reply

479 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello Brett, 

Please refer the following community post: 

LPC4330 multicore project (M4/M0): linker can't resovle symbols for M0 application .text 

Hope it helps!

Victor.

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos