2403079_zh-CN

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

2403079_zh-CN

2403079_zh-CN

S32G2 启用多核应用程序

各位恩智浦的同事们,大家好:


我们准备在 S32G274A 芯片中使用多核来运行程序,使用 A53 运行 Linux,使用 M7 运行 LLCE_CAN。

根据 5.2,我们参考了“使用 S32G2 平台软件集成在 S32G2 上启用多核应用程序”。配置引导加载程序,安装推荐的软件包,并按照步骤进行配置。

zhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.png

5.3 中有错误。在编译过程中构建引导加载程序。

launch.bat 文件已被编辑。

zhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.png

运行 launch.bat 后发生错误。

zhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.png

在注释掉相关代码之后。

zhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.png

zhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.png

我找到了 CryptoDal.h安装目录中的文件。

zhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.png

哪里可能会出错?

谢谢。






Re: S32G2 Enabling Multicore Application

嗨,志鹏

对于您的问题,如果添加以下内容,是否会出现错误?注释掉这段代码不会导致错误吗?

Joey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.png

BR

乔伊

Re: S32G2 Enabling Multicore Application

嗨, @Joey_z

是的,添加后,第三张图片上会显示“未声明”。

注释掉该行后,第五张图片将显示“没有该文件或目录”。

zhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.png

“CryptoDal.h”位于 D:\NXP\Integration_Reference_Examples_S32G2_2022_06\code\framework\realtime\bsw\dal\cryptodal\generic\include

“Hse_Ip.h”位于 D:\NXP\SW32G_RTD_4.4_3.0.2_HF01\eclipse\plugins\Crypto_TS_T40D11M30I2R0\include 目录下。

我在各自的文件夹中找到了这两个文件,并且 launch.bat 中也写入了文件路径。

目前的问题似乎是编译过程中没有包含插件路径。

BR

Re: S32G2 Enabling Multicore Application

嗨,志鹏

配置中是否启用了安全启动?尝试启用安全启动,看看问题是否会消失。

Joey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.png

BR

乔伊


回复: S32G2 Enabling Multicore Application

嗨,志鹏

谢谢你提供的信息。

您能提供更多信息吗?

1.您是否只在A核上启动ATF和uboot?A核的UART有任何输出吗?

2.M核心功能是什么?是关于UART/CAN功能吗?

BR

乔伊

回复: S32G2 Enabling Multicore Application

嗨, @Joey_z

之前的引导加载程序编译成功。现在,我已经将镜像写入 或非 闪存,启动后,UART 上没有任何输出。

我指的是 AN13750。以下是我的操作步骤:

我按照“S32G2_LinuxBSP_42.0_User_Manual.pdf”中的说明操作,并在 Ubuntu 20 中安装了 u-boot bsp42.0-2022.04 和 ATF bsp42.0-2.10。

我修改了 s32_mmc.c以及根据 0001-fip-align-and-mmc-init.patch 的 s32_common.mk。

zhipeng_0-1787646642108.pngzhipeng_0-1787646642108.pngzhipeng_0-1787646642108.pngzhipeng_0-1787646642108.png志鹏_0-1787646642108.png

zhipeng_1-1787646670172.pngzhipeng_1-1787646670172.pngzhipeng_1-1787646670172.pngzhipeng_1-1787646670172.png志鹏_1-1787646670172.png

zhipeng_2-1787646683855.pngzhipeng_2-1787646683855.pngzhipeng_2-1787646683855.pngzhipeng_2-1787646683855.png志鹏_2-1787646683855.png

我编译了 u-boot 和 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

我将 fip.s32 写入了 SD 卡。更换 fip 后,SD 卡仍然能够启动,并且 u-boot 的日期发生了变化。

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

配置引导加载程序。

zhipeng_3-1787647428751.pngzhipeng_3-1787647428751.pngzhipeng_3-1787647428751.pngzhipeng_3-1787647428751.png志鹏_3-1787647428751.png

zhipeng_4-1787647490093.pngzhipeng_4-1787647490093.pngzhipeng_4-1787647490093.pngzhipeng_4-1787647490093.png志鹏_4-1787647490093.png zhipeng_5-1787647533346.pngzhipeng_5-1787647533346.pngzhipeng_5-1787647533346.pngzhipeng_5-1787647533346.png志鹏_5-1787647533346.png zhipeng_6-1787647547310.pngzhipeng_6-1787647547310.pngzhipeng_6-1787647547310.pngzhipeng_6-1787647547310.png志鹏_6-1787647547310.png


生成 S32G 启动映像

zhipeng_7-1787647657415.pngzhipeng_7-1787647657415.pngzhipeng_7-1787647657415.pngzhipeng_7-1787647657415.png志鹏_7-1787647657415.png

选择 bt_m7_blob.bin 并将其写入地址 0x0。
选择 fip.bin 并将其写入地址 0x100000。
选择 S32G274A_M7.bin 并将其写入地址 0x200000。

zhipeng_8-1787647865193.pngzhipeng_8-1787647865193.pngzhipeng_8-1787647865193.pngzhipeng_8-1787647865193.png志鹏_8-1787647865193.png

现在UART和CAN都没有响应了。请帮我分析一下情况。

谢谢。

回复: S32G2 Enabling Multicore Application

嗨, @Joey_z

感谢您的回复。

1. 是的,A 核心上只启动了 ATF 和 u-boot。UART接口没有任何输出。

2. M 内核运行 LLCE_CAN 和 Lpspi 程序,集成了“Can_Llce_DS_Loopback_S32G274A_M7”和“Lpspi_Ip_Transfer_S32G274A_M7”例程。它首先使用 SPI 通信,然后运行 LLCE_CAN。

我想补充一些信息:

1.整个过程按照 AN13750 进行,只有一些不同之处:我使用了 BSP42 和 S32DS3.5 版本;我用 LLCE_CAN 替换了 IPCF 例程,并且只配置了 M7_0。

2. 我使用 Yocto 编译了 BSP42,并生成了 .sdcard。导入SD卡后,即可启动Linux系统。

3. 我按照“AN13750” 4. 为 Cortex-A53 内核准备镜像 部分编译了 BSP42 的 u-boot 和 ATF。将 .sdcard 和 fip.s32 重新导入 SD 卡后,Linux 仍然可以在 SD 模式下启动。但是,当将引导加载程序和 fip.bin 导入到 norflash 时,没有获得任何输出。

4. 我在 norflash 中单独烧录了 M7 内核的 UART 例程,Linux 可以启动并输出。这证明燃烧工具和诺弗拉什(Norflash)都是正常的。

5. 我将 LLCE_CAN 程序单独烧录到 norflash 中。程序没有运行,也没有CAN输出。

6.我尝试配置 EB 引导加载程序以单独启动 A53,但重新烧录 norflash 后仍然没有任何输出。

谢谢。

回复: S32G2 Enabling Multicore Application

嗨,志鹏

1.我了解到您的 LLCE_CAN 运行在 M 内核上。请独立测试该程序 M 核心的引导加载程序启动情况。启动过程中,不要加载 A 核心映像。
2. 在您的测试中,引导加载程序可以启动 M7 的 UART 程序,但无法启动 LLCE_CAN 程序吗?
3. 你有没有试过只使用引导加载程序启动 A53?

我已在系统中用中文为此问题创建了一个新案例,案例编号为:01000969。这将有助于沟通。

BR

乔伊

Tags (1)
No ratings
Version history
Last update:
3 weeks ago
Updated by: