Hello,
I am working on functional safety partitions for ASIL and QM components. In here, we have received the I2C module from NXP, and I am wondering whether the module can be split into two partitions having separate init functions? Is this feature supported?
Use case: I only need 1 channel to be QM compliant and not the whole I2C module.
Regards,
Arkadeep
hi,Arkadeep
Thank you for your reply.
You can refer to the RTD_I2C_UM.pdf in the (SW32G_RTD_4.4_4.0.2/eclipse/plugins/I2c_TS_T40D11M40I2R0/doc/RTD_I2C_UM.pdf). The manual has the Reference I2cEcucPartitionRef and the Reference I2cChannelEcucPartitionRef to set the partitions.
Hope it can help you.
BR
Joey
hi,Arkadeep
Thank you for your reply.
Refer to the manual, the I2C can be partitioned in case of multicore.
Regarding the safety levels you mentioned, if you have used RTD, it should be in line with the safety standards of RTD at the RTD level. RTD product is developed according to NXP Software Development Processes that are Automotive-SPICE, ISO26262 IATF16949 and ISO9001 compliant.
BR
Joey
hi,Arkadeep
Thank you for your more information.
If you use RTD, at the level of RTD program usage, then your safety level complies with the RTD standard. If you use RTD in the upper-layer application, and you are implementing I2C two partitions in the upper-layer software that calls RTD, I think the overall safety level of the software should be defined from the perspective of the entire software as a whole.
In addition, according to the RTD description, I2C can indeed be used for partitioning in multi-core.
Hope it can help you.
BR
Joey
hi,Arkadeep
Thank you for your reply.
Refer to the RTD_I2C_UM.pdf, you need set the multi-core to use the Partition configuration.
In addition, you can find the configuration information about the I2C in EB or S32DS IDE.
Hope it can help you.
BR
Joey
hi,Arkadeep
Thank you for your reply.
Yes,If I2cMulticoreSupport is disabled, then for all the variants no partition shall be defined.
If I2cMulticoreSupport is enabled, at least one EcucPartition needs to be defined (in all variants).
Hope it can help you.
BR
Joey
hi,Arkadeep
Thank you for your reply.
Refer to the RTD_I2C_UM.pdf, If I2cMulticoreSupport is disabled, then for all the variants no partition shall be defined. If I2cMulticoreSupport is enabled, at least one EcucPartition needs to be defined (in all variants).
The MulticoreSupport parameter is used to globally enables the possibility to support multicore. The I2cChannelEcucPartitionRef Maps one single I2C channel to zero or one ECUC partitions. And you also chose the EcucPartition and Coredefinition for OsApplication. The OsApplicationCoreRef is used to specify the core.
In other words, MulticoreSupport is for implement multicore partitions. If you want multiple partitions on the same core, although you can configure multiple partitions on the same core through OsApplicationCoreRef, but it does not have relevant documentation to describe this situation and cannot guarantee the corresponding effect.
BR
Joey