LPC54102 custom bootloader Cm0 Slave issue

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

LPC54102 custom bootloader Cm0 Slave issue

420 Views
eu_mtaverna
Contributor III

Hi all,

I'm going to test my custom Bootloader on LPC54102 in order to let the system to be upgraded on field.

My custom bootloader seems to works when jump to a single core application.

An issue occour when the custom bootloader tried to jump to a dual core application, the CM4 core semms to work but the CM0 core don't starts. I have already check the spaddr addres and resetaddr  on boot_multicore_slave() functions and seems to be OK.

I also check the RAM region of LPC where the slave application is stored and seems to be OK.

Can anyone help me in order to fix?

Thanks in advance.

0 Kudos
3 Replies

293 Views
eu_mtaverna
Contributor III

Anyone can help me about the bootloader issue??

0 Kudos

370 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello @eu_mtaverna 

Please debug step by step to check it crash or stop in which code? 

 

BR

Alice

0 Kudos

363 Views
eu_mtaverna
Contributor III

Hello Alice,

Thanks for replay, follow explanation of my issue:

1)The Bootloader starts correctly and jump to the Master application.

2)The Master aplication starts, configure his pheripherals and runs correctly.

3) When Master application launch boot_multicore_slave() function the issue appear, follow the functions sequence on Master Application:

 boot_multicore_slave()

        Chip_CPU_CM0Boot((uint32_t *)resetaddr, (uint32_t *)spaddr)

        When this function resets slave core and enables the slave clock the go to a fault unknowed condition.......

Another thing, I noted that in the  Chip_CPU_CM0Boot function the *CPSTACK and *CPBOOT are filled with the correct CM0 Slave Stack Address and entry point Address.

Also if I check the absolute memory address of *CPSTACK (SYSCON_BASE+0x308) and *CPBOOT (SYSCON_BASE+0x304) these values are correct.

Otherwise in the Slave Registers view the sp is setted to 0x0 and pc to 0x030000ee, why?

 

Any idea? There are known issue about secure bootloader and dual core projects?

Thanks in advance.

0 Kudos