你好
我需要将使用 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 的原因)。
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 就足够了?
谢谢您的帖子。
1. 必须设置 DDR_FW_BIN_PATH 参数以指定恩智浦主板专用 DDR 固件二进制文件的路径,因此它仅用于为恩智浦主板(RD B、EVB 等)构建映像
2。 要为自定义板构建 TFA,建议对 make 使用 C USTOM_DDR_DRV 参数 。 必须将其设置为所有 DDR 源文件和头文件所在的路径(相对于 TF-A 根文件夹),其状态为 DDR 工具生成的状态 。
3.一旦可以正确构建 TFA,您就可以相应地对 Yocto 进行更改以进行进一步测试。
希望对你有所帮助。
BR
切宁
感谢您的回复。
1.很抱歉,我没有 EVB 的此类文件,您可以尝试用 EVB 通过 DDR 工具生成这些文件。
2.让我总结一下可能的步骤:
a. 将您的自定义板与 PC 连接,运行 ddr 工具生成相应的文件
b.生成后,将生成的所有文件复制到您的 TFA 代码库中。
c.尝试使用CUSTOM_DDR_DRV=$(Generated_Code)进行构建
3.U-boot 可能还需要进行修改才能在自定义主板上正确运行 电路板支持包。代码。
BR
切宁