Other Parts Discussed in Thread: TMS570LS3137
There is an issue in the SPI configuration:
For an SPI job two SPI channels are configured as follows:
<SUB-CONTAINERS>
<ECUC-CONTAINER-VALUE UUID="592bc7a1-23d9-4937-9cc7-3edf0515e911">
<SHORT-NAME>SpiChannelList_FLS_00_Header</SHORT-NAME>
<DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/TI_TMS570LSx/Spi/SpiDriver/SpiJob/SpiChannelList</DEFINITION-REF>
<PARAMETER-VALUES>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">/TI_TMS570LSx/Spi/SpiDriver/SpiJob/SpiChannelList/SpiChannelIndex</DEFINITION-REF>
<VALUE>0</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
</PARAMETER-VALUES>
<REFERENCE-VALUES>
<ECUC-REFERENCE-VALUE>
<DEFINITION-REF DEST="ECUC-REFERENCE-DEF">/TI_TMS570LSx/Spi/SpiDriver/SpiJob/SpiChannelList/SpiChannelAssignment</DEFINITION-REF>
<VALUE-REF DEST="ECUC-CONTAINER-VALUE">/Spi/Spi/SpiDriver_0/SpiChannel_FLS_Header</VALUE-REF>
</ECUC-REFERENCE-VALUE>
</REFERENCE-VALUES>
</ECUC-CONTAINER-VALUE>
<ECUC-CONTAINER-VALUE UUID="70ac27c2-21da-405b-a13d-dde0c2351404">
<SHORT-NAME>SpiChannelList_FLS_01_Data</SHORT-NAME>
<DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/TI_TMS570LSx/Spi/SpiDriver/SpiJob/SpiChannelList</DEFINITION-REF>
<PARAMETER-VALUES>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">/TI_TMS570LSx/Spi/SpiDriver/SpiJob/SpiChannelList/SpiChannelIndex</DEFINITION-REF>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
</PARAMETER-VALUES>
<REFERENCE-VALUES>
<ECUC-REFERENCE-VALUE>
<DEFINITION-REF DEST="ECUC-REFERENCE-DEF">/TI_TMS570LSx/Spi/SpiDriver/SpiJob/SpiChannelList/SpiChannelAssignment</DEFINITION-REF>
<VALUE-REF DEST="ECUC-CONTAINER-VALUE">/Spi/Spi/SpiDriver_0/SpiChannel_FLS_Data</VALUE-REF>
</ECUC-REFERENCE-VALUE>
</REFERENCE-VALUES>
</ECUC-CONTAINER-VALUE>
</SUB-CONTAINERS>
The resulting Spi_PBcfg.h contains
static CONST(Spi_ChannelType, SPI_PBCFG) SpiChannelsToJob14_Assignment_at[] =
{
/* Number of Channels in Job */
2U,
/* Channels in Job */
Spi_SpiChannel_FLS_Header,
Spi_SpiChannel_FLS_Data
};
When recording the SPI communication, the order of header and data is reversed, that means, first the data is sent and afterwards the header.
When switching the parameters in Spi_PBcfg.h like
static CONST(Spi_ChannelType, SPI_PBCFG) SpiChannelsToJob14_Assignment_at[] =
{
/* Number of Channels in Job */
2U,
/* Channels in Job */
Spi_SpiChannel_FLS_Data,
Spi_SpiChannel_FLS_Header
};
the order is correct.
Can you explain this incomprehensible behavior?





