Dual-core project error

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

Dual-core project error

552 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by turiB on Tue Jan 19 05:54:54 MST 2016
Hello!

I need some advice about multicore projects on LPC4370. I made new projects for M0 (M0APP) and M4. I just wanted test cr_start_m0() (later i want test IPC) but when i build it than i got this msg (below).  Here is my problem:

13:01:28 **** Clean-only build of configuration Debug for project m4 ****
make -r clean
rm -rf  ./src/cr_start_m0.o ./src/cr_startup_lpc43xx.o ./src/crp.o ./src/m4.o  ./src/cr_start_m0.d ./src/cr_startup_lpc43xx.d ./src/crp.d ./src/m4.d  m4.axf


13:01:28 Build Finished (took 90ms)

13:01:29 **** Incremental Build of configuration Debug for project m4 ****
make -r all
Building file: ../src/cr_start_m0.c
Invoking: MCU C Compiler
arm-none-eabi-gcc -DDEBUG -D__CODE_RED -DCORE_M4 -D__LPC43XX__ -D__REDLIB__ -DLPC43_MULTICORE_M0APP -D__MULTICORE_MASTER -D__MULTICORE_MASTER_SLAVE_M0APP -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -fsingle-precision-constant -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mthumb -specs=redlib.specs -MMD -MP -MF"src/cr_start_m0.d" -MT"src/cr_start_m0.o" -MT"src/cr_start_m0.d" -o "src/cr_start_m0.o" "../src/cr_start_m0.c"
Finished building: ../src/cr_start_m0.c

Building file: ../src/cr_startup_lpc43xx.c
Invoking: MCU C Compiler
arm-none-eabi-gcc -DDEBUG -D__CODE_RED -DCORE_M4 -D__LPC43XX__ -D__REDLIB__ -DLPC43_MULTICORE_M0APP -D__MULTICORE_MASTER -D__MULTICORE_MASTER_SLAVE_M0APP -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -fsingle-precision-constant -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mthumb -specs=redlib.specs -MMD -MP -MF"src/cr_startup_lpc43xx.d" -MT"src/cr_startup_lpc43xx.o" -MT"src/cr_startup_lpc43xx.d" -o "src/cr_startup_lpc43xx.o" "../src/cr_startup_lpc43xx.c"
Finished building: ../src/cr_startup_lpc43xx.c

Building file: ../src/crp.c
Invoking: MCU C Compiler
arm-none-eabi-gcc -DDEBUG -D__CODE_RED -DCORE_M4 -D__LPC43XX__ -D__REDLIB__ -DLPC43_MULTICORE_M0APP -D__MULTICORE_MASTER -D__MULTICORE_MASTER_SLAVE_M0APP -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -fsingle-precision-constant -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mthumb -specs=redlib.specs -MMD -MP -MF"src/crp.d" -MT"src/crp.o" -MT"src/crp.d" -o "src/crp.o" "../src/crp.c"
Finished building: ../src/crp.c

Building file: ../src/m4.c
Invoking: MCU C Compiler
arm-none-eabi-gcc -DDEBUG -D__CODE_RED -DCORE_M4 -D__LPC43XX__ -D__REDLIB__ -DLPC43_MULTICORE_M0APP -D__MULTICORE_MASTER -D__MULTICORE_MASTER_SLAVE_M0APP -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -fsingle-precision-constant -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mthumb -specs=redlib.specs -MMD -MP -MF"src/m4.d" -MT"src/m4.o" -MT"src/m4.d" -o "src/m4.o" "../src/m4.c"
Finished building: ../src/m4.c

Building target: m4.axf
Invoking: MCU Linker
arm-none-eabi-gcc -nostdlib -Xlinker -Map="m4.map" -Xlinker --gc-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mthumb -T "m4_Debug.ld" -o "m4.axf"  ./src/cr_start_m0.o ./src/cr_startup_lpc43xx.o ./src/crp.o ./src/m4.o  C:/test2/m0/Debug/m0.axf.o
./src/m4.o: In function `main':
C:\test2\m4\Debug/../src/m4.c:44: undefined reference to `__core_m0app_START__'
collect2.exe: error: ld returned 1 exit status
make: *** [m4.axf] Error 1

13:01:30 Build Finished (took 835ms)

Original Attachment has been moved to: test2.rar

Labels (1)
0 Kudos
2 Replies

401 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by turiB on Tue Jan 19 09:18:43 MST 2016
Thank you for the reply. I discovered my mistake from the video which is linked by you. MCU setting was wrong in my project. Debuging on multi-core is also was success on first try :'D .

MCU on M0APP side: i had to change up orders of RamLoc128-..72 & FLASH_A-.._B (and yeah i had to split FLASH on M4 also)

Creating order is not taked my liking. Why does M0APP should create first ? Ok, i know M4 need M0 code, but i tried to convert existing project to multi-core project by set properties// C/C++ Build // Setting // Multicore (Symbols, ..) and by deleting Debug folder(s) & projectfolder/.metadata/.plugins/arg.eclipse.debug.ui (from my old Eclipse experience, i did this) , but dind't make success with this method.

Fresh new projects are working now for me, that's made my day, thank you!

0 Kudos

401 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Tue Jan 19 07:16:19 MST 2016
How did you create your projects? You should create the M0 slave project first. Then create the M4 master project that pulls in the slave project output. You might want to read:

https://www.lpcware.com/content/faq/lpcxpresso/lpc43xx-multicore-apps

and the following video might be useful too:

https://www.youtube.com/watch?v=IIF8A8A_CGA

[jump to about 26mins in the the multicore specific section.]

Regards,
LPCXpresso Support
0 Kudos