Other Parts Discussed in Thread: TMS320F28388D, C2000WARE
器件型号: TMS320F28388D
主题: C2000WARE 中讨论的其他器件
我正在 为 CCS 中的 TMS320F28388D 使用 Ethernet_ipc_ex1_basic 示例。
之前我使用的 是 driverlib.lib、移除了该库、并在 工程中直接开始从 driverlib 文件夹构建源文件。 完成此操作后、我开始在原始 DriverLib 源文件中看到一些警告、我想确认这是符合预期还是表明确实存在问题。
我看到的警告如下:
- 在 ethernet.c 中 、在 ethernet_retrieveRxPacket() 内、变量 newPktPtr 报告为已分配但从未使用。
示例:
Ethernet_Pkt_Desc *newPktPtr = 0U;
...
newPktPtr = (*Ethernet_device_struct.initConfig.pfcbRxPacket)(...);
从函数流程中可以看出、该值似乎已分配、但之后从不读取。 这是原始的 TI 旧代码路径、还是应该稍后使用此变量?
- 在 PMBus.c 中、变量包括:
const uint32_t fastPlusLow = 20000000U, fastPlusHigh = 25000000U;
报告为“从不使用“、即使它们出现在 IF 条件中。 我想知道这是否通常是编辑器/clangd 分析的假阳性,或者是否有某种编译条件(#ifdef,宏等)会导致出现此警告。
- 我还会看到有关使用 0U 进行指针初始化的警告、例如:
Ethernet_Pkt_Desc *newPktPtr = 0U;
我知道 这里的 NULL 更典型。 TI 是否认为此警告应该正常并且在 DriverLib 源代码中是无害的、或者是否建议在从源代码构建 DriverLib 时更新此类代码?
我的环境:
- CCS 版本:20.5.0.28__1.11.0
- C2000Ware 26.00.00.00
- F28388D
- 基于原始 TI 示例的构建项目
- 只有在从预编译的 .lib 切 换到 直接编译 DriverLib .c 源后才会出现警告
我想确认:
- 这些警告是否应该在原始来源中出现
- 是否可以安全忽略它们
- 或者是否有官方建议在没有这些诊断的情况下从源代码构建 DriverLib、如何抑制此警告
谢谢你。