我从 S32DS 中调出了 S32K344 svd 文件(S32K344.svd),并尝试使用它,但文件的结构似乎存在数百个错误。
例如,在 MUXSEL 寄存器中(来自参考手册的第 62.8.10 节)在 SVD 文件中是这样定义的:
< /description > 0x1 < /valu e > 但是所有枚举值 (LU_IN0 到 LU_IN11)的名称字段都是 " lu_in " 在将它们存储为枚举时会出现错误(多重定义符号 " lu_in ")。此外 - 列举甚至没有正确地涵盖空间。LU_IN 的值应该在 1 到 12 之间(0x1 到 0xC),而枚举值只到 0x9。
再比如,寄存器 MDACFG0 的 NMDAR 字段有一个枚举,除了被破坏之外,基本上没有任何作用。
与 lu_in 示例类似,所有枚举都将"NUMBER" 作为每个枚举的名称。
寄存器 RRCR0 的字段 RR_INITMOD 与枚举 MOD_1_63 的问题基本相同,后者也只涵盖了部分可能的枚举值。
有没有人可以帮助我纠正这个问题?这些问题严重阻碍了我们使用 S32K3XX 芯片。
你好@kscz、
遗憾的是,目前恩智浦官方还没有为 S32K3 提供 Rust 支持。
您可以创建一个小脚本,在将 SVD 输入到 svd2rust 之前删除/重命名重复内容。
顺祝商祺!
帕维尔
我有点困惑--你说得没错,我是想用 Rust 处理这个芯片,但我在这里提出的问题是任何人使用这个 SVD 文件的根本问题--无论是用于 CMSIS 还是 Rust。
MUXSEL 和 RR_INITMOD 等枚举只涵盖了部分可能的值,这似乎是一个错误。在任何字段的所有枚举中,名称字段都是相同的,这似乎是一个错误。
我不是要求恩智浦明确支持 Rust,而是要求修复 SVD 文件!
你好@kscz、
我明白你的意思。我已将您的问题报告给软件团队。
谢谢你的报告。
顺祝商祺!
帕维尔
我需要等多久才能得到更新?
你好@kscz、
我还没有收到开发团队的更新信息。我提高了优先级。
由于svd文件是RTD的一部分,我希望在下一个RTD版本中修复该问题。
顺祝商祺!
帕维尔
S32K388 SVD 文件还有很多很多其他错误——我需要把这些错误也记录下来吗?是否有计划像S32K344那样对这款产品进行更新?
你好@kscz、
感谢您报告此问题。我已将其转发给软件团队并提高了优先级。
顺祝商祺!
帕维尔