This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-J784S4:rm-cfg.yaml 已更新时、U-Boot 构建失败

Guru**** 2434420 points
Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1547177/processor-sdk-j784s4-u-boot-build-fails-when-rm-cfg-yaml-is-updated

部件号:PROCESSOR-SDK-J784S4
主题:SysConfig 中讨论的其他器件

工具/软件:

信息:  

平台: J784S4XG01EVM

SDK: ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08

其中概述了 SysConfig  版本: 1.24.1.4189.

主持人: Ubuntu 22.04.5 LTS

问题:

为了将 GPIO 资源添加到 c7x 内核、我们进行了更新 “主 GPIO 中断路由器计数“ 使用  SysConfig 时的值为 4(默认值为 0)。 我们尝试使用更新的 U-Boot 进行编译 rm-cfg.yaml 发送头文件 Makefile 在 ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08 安装目录中。 构建失败、并出现以下错误。  

binman: Node '/binman/combined-dm-cfg/ti-board-config/rm-cfg': Schema validation error:

...

Failed validating 'maxItems' in schema['properties']['rm-cfg']['properties']['resasg_entries']:
    {'type': 'array',
     'minItems': 0,
     'maxItems': 468,

由于我们向 rm-cfg 中添加了一个新的配置项、并且通过更改将 maxItems 值增加到 469、  ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08 /board-support/ti-u-boot-2025.01 + git/arch/arm/mach-k3/schema.yaml File 破坏了编译过程、因为它需要这样做 最大值 AS 468. 。 如何修复此错误?  如果此数字在 binman 预编译的二进制文件内的其他位置进行硬编码、则将 maxItems 值增加(修补)469 可能是一个不好的主意。

重现步骤:

- 遵循  常见问题解答票证 打开 k3-respart-tool。

-从左侧菜单中选择 C7X_0_1。 更新了  “主 GPIO 中断路由器计数“  但不具有 “中断路由器“ 如所示 4.

-保存已更新  rm-cfg.yaml 添加到工程。

-复制并替换原始 rm-cfg.yaml 文件内部 ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08/board-support/ti-u-boot-2025.01+git/board/ti/j784s4/ 替换它。

-使用内置的顶级 Makefile 构建 U-Boot  ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08  目录“ 生成 u-boot

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gokhan:

    为 J721E 设置了最大项。 J784S4 具有更大的 maxItems、因此需要修补 schema.yaml。

    下面是一个可消除编译错误的补丁:

    From 1ffc990e9b3688ab7bae72e6a6cc5fa263f34fcf Mon Sep 17 00:00:00 2001
    From: Jared McArthur <j-mcarthur@ti.com>
    Date: Wed, 30 Jul 2025 14:01:42 -0500
    Subject: [PATCH 1/1] mach-k3: schema: yaml: Increase maxItems for
     resasg_entries to 472
    
    Signed-off-by: Jared McArthur <j-mcarthur@ti.com>
    ---
     arch/arm/mach-k3/schema.yaml | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/arch/arm/mach-k3/schema.yaml b/arch/arm/mach-k3/schema.yaml
    index c8dd2e79..32679cb0 100644
    --- a/arch/arm/mach-k3/schema.yaml
    +++ b/arch/arm/mach-k3/schema.yaml
    @@ -344,7 +344,7 @@ properties:
                 resasg_entries:
                     type: array
                     minItems: 0
    -                maxItems: 468
    +                maxItems: 472
                     items:
                         type: object
                         properties:
    @@ -420,7 +420,7 @@ properties:
                 resasg_entries:
                     type: array
                     minItems: 0
    -                maxItems: 468
    +                maxItems: 472
                     items:
                         type: object
                         properties:
    -- 
    2.34.1
    

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jared、

    -我们是否还应该在设备树文件中禁用特定的 GPIO 引脚(我们将与 c7x 一起使用),以便从 c7x 内核申请/访问它?

    -我们是否必须更新文件系统内的任何其他二进制文件,使我们的 c7x GPIO 中断应用程序成功运行? 我的意思是、使用更新的“rm-cfg.yaml & schema.yaml“构建 u-boot 就足够了(因为它在引导分区内生成所有必要的引导二进制文件)、或者我们是否必须手动重新编译另一个 ti 固件软件(我们目前不知道)并更新文件系统内的二进制文件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gokhan:

    [引述 userid=“657969" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1547177/processor-sdk-j784s4-u-boot-build-fails-when-rm-cfg-yaml-is-updated/5956398

    -我们是否还应该在设备树文件中禁用特定的 GPIO 引脚(我们将与 c7x 一起使用),以便从 c7x 内核申请/访问它?

    [/报价]

    是的。

    -我们是否必须更新文件系统内的任何其他二进制文件、才能使 c7x GPIO 中断应用成功运行? 我的意思是、使用更新的“rm-cfg.yaml & schema.yaml“构建 u-boot 就足够了(因为它在引导分区内生成所有必要的引导二进制文件)、或者我们是否必须手动重新编译另一个 ti 固件软件(我们目前不知道)并更新文件系统内的二进制文件?

    您不应该不得不这样做。

    此致、
    Jared