My multicore project on s32r294 could not suspend at the main function's entry on two Z7s.

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

My multicore project on s32r294 could not suspend at the main function's entry on two Z7s.

Jump to solution
1,076 Views
Gordon_Yang
Contributor III

Hi,

I found that my R294 multicore project could not auto-suspend at the Z7_1 and Z7_2's main functions' first line after I load my program and run into debug mode. The debugger only auto-suspended at Z4's main entry but two Z7 not.

Gordon_Yang_1-1622624282566.png

 

Is there any method to resolve this issue?

By the way, I found the official SDK's interrupt control multicore project can auto-suspend at each core's first main entry but my project not.

Gordon_Yang_0-1622624019430.png

 

 

0 Kudos
Reply
1 Solution
1,051 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi Gordon,

message "Running: User Request" is displayed when a core has not been started yet. The interrupt multicore project starts Z7 cores at the end of startup files. SystemInit function is called before jumping to main and it starts the cores. When you reach the main function, cores are already running.

If this is not done in your project, you will see "Running: User Request" until you start the cores. You can take a look at the function SystemInit here:

C:\NXP\S32DS_Power_v2.1\S32DS\software\S32_SDK_S32R294_RTM_1.0.0\platform\devices\S32R294\startup\system_S32R294.c

Regards,

Lukas

View solution in original post

0 Kudos
Reply
5 Replies
1,062 Views
Gordon_Yang
Contributor III

I found a powerup procedure for S32R274 which introduces that how to start Z7 core.

Is it also compatible for R294? I think that maybe my Z7s didn't power up successfully.

https://www.nxp.com/docs/en/application-note/AN12553.pdf

0 Kudos
Reply
1,052 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi Gordon,

message "Running: User Request" is displayed when a core has not been started yet. The interrupt multicore project starts Z7 cores at the end of startup files. SystemInit function is called before jumping to main and it starts the cores. When you reach the main function, cores are already running.

If this is not done in your project, you will see "Running: User Request" until you start the cores. You can take a look at the function SystemInit here:

C:\NXP\S32DS_Power_v2.1\S32DS\software\S32_SDK_S32R294_RTM_1.0.0\platform\devices\S32R294\startup\system_S32R294.c

Regards,

Lukas

0 Kudos
Reply
1,039 Views
Gordon_Yang
Contributor III

@lukaszadrapa,

Thanks for your reply.

I found that my project's Z7a & Z7b have been revised the ISRAM's address.

And it leads that the system ran into the wrong default ISRAM address after Z4 started up.

After I defined the correct MACROs for "__cpu1_boot_addr__" and "__cpu2_boot_addr__", the Z7b could started up successfully and suspended at main's 1st line. But Z7a didn't.

Z7a suspended at the "_start: wrteei 0 ;# Disable interrupts" in the start-up assembly.

97599724-0cd3-4f51-8470-ba395699d866.png

Do you know why does Z7a suspend here?

0 Kudos
Reply
1,017 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

because the core was obviously started, it looks like some issue in startup files. What about SRAM initialization? Are you sure it is correct?

Regards,

Lukas

0 Kudos
Reply
1,013 Views
Gordon_Yang
Contributor III

Hi Lukas,

Thanks for your reply again.

Indeed, because there is overlapped issue between my code RAMs on Z4's ISRAM and Z7a's ISRAM.

After I reconfigured the location for two ISRAMs, the Z7a could normally start up.

Regards,

Gordon.

 

0 Kudos
Reply