我是NXP产品的新产品,我试图了解它的生态系统。我需要在非Autosar应用中执行I2C,所以我需要了解它是如何工作的,所以我有一些问题:
1)
在 RTD_I2C_UM.pdf 中写道:
I2c 驱动器作为 Autosar 复合设备驱动器使用, 它使用 LPI2c 和 FlexIO 硬件外围I2c 驱动程序既执行主模式,也执行奴隶模式。LPI2c 频道的LPI2c频道和FlexIO频道的唯一主机。驱动器向上端提供硬件独立的API用于配置“ ” 的图层 ……
"物理 I2c 通道: LPI2C_0, LPI2C_1, FlexIO"
此外,在我找到的I2C的所有例子中,都使用了FlexIO。
因此,我是否正确理解,如果我想使用 I2C RTD 驱动程序( HLD 或 LLD) , 那么我总是不得不使用 FlexIO 吗? 如果是, 那么原因是什么? 为什么 LPI2C_ 0 / LPI2C_ 1 外围功能不足以使用 I2C RTD ?
2)
如果我开发了 AUTOSAR 应用程序,我就必须使用我很清楚的 HLD (MCAL) I2C 驱动程序。 但如果开发了非自动应用程序,那么如果我使用 HLD (MCAL) 驱动程序,有什么缺点吗? 需要使用什么决定因素来锁定(如果使用RTOS, LPI2C_0/LPI2C_1 pins 位置没有问题) ?
3)
以 AN13435 书写“在 S32 配置工具中, 驱动程序 HL 和 IP 界面都可以配置 。 ”我是否正确地理解,在这种情况下, HL 与 HLD (MCAL) 和 IP (知识产权) 相同, 与 LLD 相同? 所以, 如果我在任何源文件名中看到写入“ IP” 的“ IP” , 那么它总是 LLD 吗 ?
我在这里看到同样的逻辑:
4)
据我所知, I2C 驱动程序作为CDD 执行, 并为 HLD (HLI) 和 LLD (LLI) 提供 API 。 如我所了解的, 下面的“ MCAL ” 标签下是写为 HLD 的驱动程序, 而在“ 驱动程序” 标签下是写为 LLLD 驱动程序。 是否正确? 为什么CDD 仅用于 MCAL 标签? LLD 也在 CDD 中执行 ?
为什么 I2C LLD 驱动器在标签“ 驱动器” 上图中没有使用“ IP ” ?
如下图所示,LLI(LLD)使用的是“_IP”。