AnsweredAssumed Answered

lpc54114 Dual-core remote upgrade

Question asked by wang zhipeng on Apr 28, 2019
Latest reply on May 15, 2019 by wang zhipeng

Hello everyone

    I will first describe my problem. I am doing a remote upgrade of LPC54114. The way I use it is one, the Bootloader program, one APP program, and two programs to download Flash at different addresses.

   1) Check if the second part of the code needs to be updated.
   2) Go to 4) if no updates are needed.
   3) Perform an update operation.
   4) Jump to the second part of the code execution.

    In this way, I implemented an upgrade to the M4 core. But my changes to the startup file have affected the startup of the M0+ core. Since I need to jump, I  changed the file (one is the original file, one is changed by me, I have the label in the annex), the main change is

 

__Vectors       DCD     |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack 

 

change to

 

 __Vectors       DCD     __initial_sp              ; Top of Stack

 

 

 Affect the variable to

 

 Extern uint32_t Image$$CORE1_REGION$$Base;

(My understanding of this variable is: the starting address of the M0 core program)

 

  Extern uint32_t Image$$CORE1_REGION$$Length;

(My understanding of this variable is: length of the M0 core program)

 

 The error after compiling is

debug\hello_world_cm4.out: Error: L6218E: Undefined symbol Image$$CORE1_REGION$$Base (referred from hello_world_core0.o).
debug\hello_world_cm4.out: Error: L6218E: Undefined symbol Image$$CORE1_REGION$$Length (referred from hello_world_core0.o).

 

  Can I solve this problem by making changes to the startup file or other methods? Or my upgrade ideas need to be changed?

     Does anyone have time to help me see it? Lpc54114 dual-core upgrade, I did not see someone doing it online, I have some problems. Thank you.

My mail:971443786@qq.com

Attachments

Outcomes