S32G2 Enabling Multicore Application

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

S32G2 Enabling Multicore Application

1,115 Views
zhipeng
Contributor III

Hi, nxp fellows:

 

We are preparing to use multi-core to run programs in the S32G274A chip, using A53 to run Linux and M7 to run LLCE_CAN.

We referred to "Enabling Multicore Application on S32G2 using S32G2 Platform Software Integration", according to 5.2. Configure the bootloader, installed the recommended software packages, and configured them following the steps.

zhipeng_7-1786181958976.png

There is an error in 5.3. Build The Bootloader during compilation.

The launch.bat file was edited.

zhipeng_0-1786182860528.png

An error occurred after running launch.bat. 

zhipeng_0-1786180508617.png

After commenting out the relevant code.

zhipeng_5-1786181360466.png

zhipeng_2-1786180921774.png

I found the CryptoDal.h file in the installation directory.

zhipeng_4-1786181305215.pngzhipeng_6-1786181450684.png

Where could there be any mistakes?

Thanks.

 

 

 

 

 

0 Kudos
Reply
9 Replies

220 Views
zhipeng
Contributor III

Hello, @Joey_z 

The delay was quite long and the previous case was closed.
We recently purchased the Lauterbach debugger.

I ran Bootloader.elf using Trace32. As shown in the picture, in the Hse_Ip_GetHseStatus function, the return value u32Status of the Mu_Ip_GetFlagStatusRegister function is 0, and the return value of the function is 0. The program gets stuck in the while loop.

1791793431913_d.png1791793505291_d.png

I tried adding the Hse_Ip_Init function, but it didn't work.
I captured the Hse_Ip_apMuBase data.

zhipeng_0-1792048659428.png

1792033091160_d.png

It seems to be a problem with the HSE. Can you help me analyze it?
Are there any other places that need to be tested?

Best regards.

0 Kudos
Reply

207 Views
Joey_z
NXP Employee
NXP Employee

Hi,zhipeng

Thank you for contacting us.

I will support you in the internal case.

BR

Joey

0 Kudos
Reply

890 Views
zhipeng
Contributor III

Hi, @Joey_z 

The previous bootloader compilation was successful. Now, I have written the image into the NOR flash and after booting, there is no output on the UART.

I referred to AN13750. Here are my operation steps:

I followed the "S32G2_LinuxBSP_42.0_User_Manual.pdf", and installed u-boot bsp42.0-2022.04 and ATF bsp42.0-2.10 in Ubuntu 20.

I modified s32_mmc.c and s32_common.mk according to 0001-fip-align-and-mmc-init.patch.

zhipeng_0-1787646642108.png

zhipeng_1-1787646670172.png

zhipeng_2-1787646683855.png

I compiled u-boot and ATF.

make CROSS_COMPILE=/opt/S32G/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=aarch64 PLAT=s32g274ardb2 BL33=../u-boot/u-boot-nodtb.bin

Image Layout
DCD: Offset: 0x200 Size: 0x1c
IVT: Offset: 0x1000 Size: 0x100
AppBootCode Header: Offset: 0x1200 Size: 0x40
Application: Offset: 0x1240 Size: 0x33e00

Boot Core: A53_0
IVT Location: SD/eMMC
Load address: 0x342f8f00
Entry point: 0x34302000

I wrote the fip.s32 onto the SD card. After replacing the fip, the SD card was still able to boot, and the date of the u-boot changed.

U-Boot 2022.04-00213-g5a6f62071f (Aug 24 2026 - 10:35:21 +0800)

 

Configure the bootloader.

zhipeng_3-1787647428751.png

zhipeng_4-1787647490093.pngzhipeng_5-1787647533346.pngzhipeng_6-1787647547310.png

 

Generate S32G Boot Image

zhipeng_7-1787647657415.png

select the bt_m7_blob.bin to write it to the address 0x0.
select the fip.bin to write it to the address 0x100000.
select theS32G274A_M7.bin to write it to the address 0x200000.

zhipeng_8-1787647865193.png

Now neither the UART nor the CAN is responding. Please help me analyze the situation.

Thanks.

0 Kudos
Reply

883 Views
Joey_z
NXP Employee
NXP Employee

Hi,ZhiPeng

Thank you for your information.

Could you share more information with me?

1.Do you only boot ATF and uboot on A core? Have any output on the UART of A core?

2.What is the M core function? is it about the UART/CAN function?

BR

Joey

0 Kudos
Reply

870 Views
zhipeng
Contributor III

Hi, @Joey_z 

Thanks for your reply.

1. Yes, only ATF and u-boot were booted on the A core. The UART did not have any output.

2. The M core ran the LLCE_CAN and Lpspi programs, integrating the "Can_Llce_DS_Loopback_S32G274A_M7" and "Lpspi_Ip_Transfer_S32G274A_M7" routines. It first used SPI communication and then ran LLCE_CAN.

I would like to add some more information:

1. The entire process was carried out according to AN13750, with only a few differences: I used BSP42 and S32DS3.5 versions; I replaced the IPCF routines with LLCE_CAN and only configured M7_0.

2. I compiled BSP42 using Yocto and generated the.sdcard. After importing the SD card, Linux could be started.

3. I compiled the u-boot and ATF of BSP42 according to the "AN13750, 4. Prepare images for Cortex-A53 cores" section. After re-importing the.sdcard and fip.s32 into the SD card, Linux could still be started in SD mode. However, when importing the bootloader and fip.bin into the norflash, no output was obtained.

4. I burned a UART routine for the M7 core separately in the norflash, and Linux could be started and outputted. This proved that the burning tool and norflash were normal.

5. I burned the LLCE_CAN program separately in the norflash. The program did not run, and there was no CAN output.

6. I attempted to configure the EB bootloader to start A53 separately, but re-burning the norflash still did not result in any output.

Thanks.

0 Kudos
Reply

831 Views
Joey_z
NXP Employee
NXP Employee

Hi,zhipeng

1. I understand that your LLCE_CAN is running on the M core. Please test the bootloader's startup of this program M core independently. During the startup process, do not load the A core Image.
2. In your testing, the bootloader can start the UART program of M7, but can it cannot start the LLCE_CAN?
3. Have you tried using the bootloader to only boot the A53? 

I have created a new case for this issue in the system in Chinese, the case number is the: 01000969. This will facilitate communication.

BR

Joey

0 Kudos
Reply

1,082 Views
Joey_z
NXP Employee
NXP Employee

Hi,zhipeng

For your issue, will there be an error if the following contents are added? Is it commenting out won't cause an error?

Joey_z_0-1786328574726.png

BR

Joey

0 Kudos
Reply

1,071 Views
zhipeng
Contributor III

Hi, @Joey_z 

Yes, after adding, it will show "undeclared" on the third image.

Commenting out will show "No such file or directory", on the fifth image.

zhipeng_1-1786347067301.png

"CryptoDal.h" is located in D:\NXP\Integration_Reference_Examples_S32G2_2022_06\code\framework\realtime\bsw\dal\cryptodal\generic\include

"Hse_Ip.h" is located in D:\NXP\SW32G_RTD_4.4_3.0.2_HF01\eclipse\plugins\Crypto_TS_T40D11M30I2R0\include

I have found both files in their respective folders, and the file paths are also written in launch.bat.

The current problem feels like the plugin path was not included during the compilation process.

BR

0 Kudos
Reply

1,061 Views
Joey_z
NXP Employee
NXP Employee

Hi,zhipeng

Is Secure Boot enabled in the configuration? Try to enable the Secure boot, check if the issue will disappear.

Joey_z_2-1786353784256.png

BR

Joey

 

0 Kudos
Reply