2376582_zh-CN

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

2376582_zh-CN

2376582_zh-CN

S32G3 DDR 大小变化

你好

我需要将使用 S32g3 的定制 ECU 的 DDR 大小从默认的 4G 改为 2G。对于 BSP 46.00 我知道这是 BL2 (TFA) 的一部分,BSP 用户手册中有一章,但是...

那里描述的步骤是 " 手册 ",这意味着 TFA 应该作为独立的二进制文件构建。

我正在使用带有 BSP46.00 的 Yocto 并以 s32g399aevb3 作为起始参考。我已经创建了自己的自定义机器和元层,可以成功地进行bitbake并在EVB上运行映像(仍然是原始机器4G)。

现在我想将 DDR 大小变化 (4G-> 2G) 整合到我的 Yocto 流程中。现在我正在考虑将新的 ddr 文件作为补丁添加到 TFA 配方的 bbapend 中,但问题在于,如果不提供 NXP_FIRMWARE_LOCAL_DIR,Yocto 的版本就会失败。

我的问题是

1."是唯一的手动" 选项吗(我希望不是)?

2.我打算采取的方法是否正确?

3.如果在 bbapend 中使用 TFA 补丁(甚至指向本地仓库),如何避免删除 NXP_FIRMWARE_LOCAL_DIR 导致的构建失败?我预计我无法创建自己的二进制文件,对 ddr 进行修改也没有意义,也没有意义地修改用于开发环境的 ddr_firmware(这就是我需要删除 NXP_FIRMWARE_LOCAL_DIR 的原因)。

Re: S32G3 DDR size change

Hello

感谢您的快速回复。


>>1. 必须设置 DDR_FW_BIN_PATH 参数以指定 恩智浦主板专用 DDR 固件二进制 文件的路径,因此它是 > > 仅用于为恩智浦主板(RD B、EVB 等)构建映像

既然我不想为特定的恩智浦主板构建,为什么要提供恩智浦开发板特定二进制文件的链接?我的机器基于 s32g3evb3(我在我的机器文件中使用 require conf/machine/include/s32g3evb3.inc),所以我想确保在编译结束时 TFA 使用由 S32DS 生成的实际新文件,而不是恩智浦二进制文件。如何确定我是否无法从 bitbake 流程中删除 DDR_FW_BIN_PATH 参数?

>>2.要为自定义主板构建 TFA,建议对 make 使用 C USTOM_DDR_DRV 参数 。 必须将其设置为所有 DDR 源文件和头文件所在的路径 > >(相对于 TF-A 根文件夹),处于它们由 DDR 工具生成的状态 。

我将尝试生成一些 DDR 源代码并编译 TFA

>>3.一旦可以正确构建 TFA,您就可以相应地对 Yocto 进行更改以进行进一步测试。

Yocto 应该做哪些改动?


还有一个问题:

如果我必须更改 DDR 大小,我还必须在 U-boot 中修改一些内容还是更改 TFA 就足够了?

Re: S32G3 DDR size change

你好,@FlaviuNistor

谢谢您的帖子。

1. 必须设置 DDR_FW_BIN_PATH 参数以指定恩智浦主板专用 DDR 固件二进制文件的路径,因此它仅用于为恩智浦主板(RD B、EVB 等)构建映像

2。 要为自定义板构建 TFA,建议对 make 使用 C USTOM_DDR_DRV 参数 。 必须将其设置为所有 DDR 源文件和头文件所在的路径(相对于 TF-A 根文件夹),其状态为 DDR 工具生成的状态 。

3.一旦可以正确构建 TFA,您就可以相应地对 Yocto 进行更改以进行进一步测试。

希望对你有所帮助。


BR

切宁

Re: S32G3 DDR size change

你好,@FlaviuNistor

感谢您的回复。

1.很抱歉,我没有 EVB 的此类文件,您可以尝试用 EVB 通过 DDR 工具生成这些文件。

2.让我总结一下可能的步骤:

a. 将您的自定义板与 PC 连接,运行 ddr 工具生成相应的文件

b.生成后,将生成的所有文件复制到您的 TFA 代码库中。

c.尝试使用CUSTOM_DDR_DRV=$(Generated_Code)进行构建

3.U-boot 可能还需要进行修改才能在自定义主板上正确运行 电路板支持包。代码。


BR

切宁

Re: S32G3 DDR size change您好,Chenyin,

1.现在很清楚了。
2。既然我还没有生成的自定义文件,你能否提供恩智浦开发板 (S32G-VNP-EVB) 所需的文件,以便我测试我的版本流程?
3.Arm-trusted-firmware 的 bbappend 包含:extra_oemake: append: s32G = " CUSTOM_DDR_DRV=$ (realpath--relative-to= ${S} $ (pwd)/../../../../.../.../.../.../.../.../.../.../.../.../.../.../.../.../.../.../.../.../.../linuxbsp_ddr_config) " 应该是正确的解决方案。

作为一个新问题:
4.如果我必须更改 DDR 大小,我还必须在 U-boot 中修改一些内容还是更改 TFA 就足够了?
Tags (1)
No ratings
Version history
Last update:
‎06-06-2026 03:29 AM
Updated by: