主题:SysConfig 中讨论的其他器件
工具/软件:
产品:MCU+ SDK AM243x (版本10.00.00.20)
工具:SysConfig (版本1.20.0+3587)
问题描述:
在 SysConfig 中配置 CPSW 和 ICSSG 以太网外设时、该工具会在配置文件中生成重复的宏定义、从而导致编译器警告和潜在的运行时问题。 这是一个关键问题、因为 AM243x EVM 实际上存在两个以太网外设、并且它们应该同时可用。
硬件上下文:
-具有 CPSW 和 ICSSG 以太网端口的 AM243x EVM
重现步骤:
1.在 SysConfig 中打开工程
2.添加 CPSW 和 ICSSG 以太网外设
3.使用适当的设置配置每个外围设备
4.生成配置文件
5.构建项目
预期行为:
- SysConfig 应该为每个外设生成正确的命名或有条件编译的配置
-不应出现宏重新定义警告
-两个外设应该能够同时运行
-这是该工具应支持的有效用例
实际行为:
-该工具在 ti_enet_config.h 和 ti_enet_config.c 中生成重复的宏定义
-编译器出现有关宏重新定义的警告
-示例重新定义:
- ENET_SYSCFG_MAX_MAC_PORTS (2U 与1U)
ENET_SYSCFG_ENABLE_MDIO_MANUALMODE (1U 与0U)
- ENET_SYSCFG_NETIF_COUNT (1U 与0U)
- ENET_SYSCFG_DEFAULT_NETIF_IDX
影响:
-需要抑制的编译器警告
-由于配置冲突而可能出现的运行时问题
-不存在可行的解决方法,因为文件是自动生成的
-用户不能按预期同时使用两个以太网外设
其他信息:
-问题似乎在 sysconfig 的代码生成逻辑中
-该工具应:
1.为每种外设类型生成单独的配置文件
2.对每个外设使用不同的宏命名空间
3.使用条件编译来分隔配置