S32K396 LPSPI DMA

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K396 LPSPI DMA

180件の閲覧回数
Luis1
Contributor I

Hello,

i can't get lpspi with dma to work. I have looked into many example projects and community posts, but it doesnt seem to fix my problem. A lot of posts and examples are for the s32k344 or similar. I think i am missing something for the S32k396. Here are my settings. I am using the S32K3 Real-Time Drivers AUTOSAR R23-11 Version 7.0.0.

SPI works fine when i disable DMA. So the Pins and Ports should be correct.

Mcl:

i have enabled DMA support.

Luis1_2-1780050952661.png

Luis1_3-1780050990062.png

same with Rx, just different names ("Tx" -> "Rx")

Mcu:

In Mcu/McuModuleConfiguration/McuModeSettingConf/McuPeripheral i have enabled the peripheral clocks for: eDMA, eDMA_TCD_0 and eDMA_TCD_1, DMAMUX_0, LPSPI_1.

RM:

I enabled the dma mux support and enabled global init.

Luis1_4-1780051351639.png

SPI:

Luis1_5-1780051429008.png

Luis1_6-1780051448572.png

Luis1_7-1780051515307.png

IntCtrl_Ip:

Luis1_8-1780051677533.png

And finally my init:

//initialization of the MCAL Autosar drivers

//CLK

if(Clock_Ip_Init(&Mcu_aClockConfigPB_BOARD_InitPeripherals[0]) == CLOCK_IP_ERROR){

return false;

}//else CLOCK_IP_SUCCESS

//MCU

Mcu_Init(&Mcu_Config_BOARD_InitPeripherals);

//Port

Port_Init(&Port_Config_BOARD_InitPeripherals);

//Interrupts

if(IntCtrl_Ip_Init(&IntCtrlConfig_0) == INTCTRL_IP_STATUS_ERROR){

return false;

}

//DMA

Rm_Init(&Rm_Config_BOARD_INITPERIPHERALS);

Mcl_Init(&Mcl_Config_BOARD_InitPeripherals);

 

//LPSPI1

Lpspi_Ip_StatusType lpspi_status = Lpspi_Ip_Init(&Lpspi_Ip_PhyUnitConfig_SpiPhyUnit_1_Instance_1_BOARD_InitPeripherals);

if(lpspi_status==LPSPI_IP_STATUS_SUCCESS){

Lpspi_Ip_UpdateTransferMode(Lpspi_Ip_DeviceAttributes_SpiExternalDevice_1_Instance_1_BOARD_InitPeripherals.Instance, LPSPI_IP_INTERRUPT); //transfer: interrupt

Lpspi_Ip_UpdateLsb(&Lpspi_Ip_DeviceAttributes_SpiExternalDevice_1_Instance_1_BOARD_InitPeripherals, 0); //0=MSB (big endian)

}else

return false;

 

 

For sending i use something like this:

Lpspi_Ip_AsyncTransmit(&Lpspi_Ip_DeviceAttributes_SpiExternalDevice_1_Instance_1_BOARD_InitPeripherals,

tx_buffer,

rx_buffer,

1,

lpspi1_callback

);

 

Thank you for helping!

Luis

 

 

0 件の賞賛
返信
2 返答(返信)

150件の閲覧回数
VaneB
NXP TechSupport
NXP TechSupport

Hi @Luis1 

First, based on the information provided, it appears that you are mixing low-level drivers (IP layer) with high-level drivers (MCAL). This approach is generally not recommended, particularly if your implementation is intended to be AUTOSAR-compliant.

Regarding your configuration, I have the following observation:

  • For LPSPI1, you have assigned AIPS_PLAT_CLK as the SpiPhyUnitClockRef. However, the source clock for this is AIPS_SLOW_CLK. Therefore, you need to include this clock in the McuClockReferencePoint configuration within the MCU driver and assign it accordingly to this SPI instance.

Regarding your code, as mentioned earlier, you are mixing both software layers, which is not recommended. There are some exceptions when working with low-level drivers, as certain modules are only available in MCAL (for example, the RM), where mixing layers may be expected.

I suggest reviewing the following thread, where two examples are provided: one using the IP layer and another using MCAL. This will help you understand the differences in the APIs required for each approach. Please note that the examples are not specifically intended for S32K396 devices, but they can still serve as a useful reference.

Example S32K344 SPI Transmit & Receive Using DMA DS3.5 RTD500

 

BR, VaneB

0 件の賞賛
返信

5件の閲覧回数
Luis1
Contributor I

Hello @VaneB 

Thank you for your resonds. I got it working now . These are the things i had to do:

First of all, your absoloutly right. The clock for the LPSPI 1-5 is different than the clock for the LPSPI0. With that i saw a CLK and a CS on my scope, but still no data.

Then i switch from the IntCtrl_Ip Driver to the Platform Driver which is AUTOSAR-compliant, with the help of one of your examples. Now my components look like this:

Luis1_0-1780470802710.png

Now (or already bevor the new driver), I had new Data some of the time, but most of the time it stayed the same. Changing the spi transmit buffers to the non cacheable area did the final trick for me. You explained that here:S32K344 - LPSPI and DMA configuration

Here is my code with the no cacheable area:

#define SPI_START_SEC_VAR_CLEARED_UNSPECIFIED_NO_CACHEABLE

#include "Spi_MemMap.h"

__attribute__((aligned(32))) uint8 tel_rx_dma[MAX_BYTES_RX_TX_ARRAY];

__attribute__((aligned(32))) uint8 tel_tx_dma[MAX_BYTES_RX_TX_ARRAY];

#define SPI_STOP_SEC_VAR_CLEARED_UNSPECIFIED_NO_CACHEABLE

#include "Spi_MemMap.h"

 

After that i got it working for LPSPI0 as a Slave, (LPSPI1 was master) pretty quick too.

Thanks @VaneB !

Luis

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2373027%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K396%20LPSPI%20DMA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2373027%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3ELPSPI%E3%81%A8DMA%E3%82%92%E3%81%86%E3%81%BE%E3%81%8F%E9%80%A3%E6%90%BA%E3%81%95%E3%81%9B%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E5%A4%9A%E3%81%8F%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%84%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%AE%E6%8A%95%E7%A8%BF%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E7%A7%81%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AF%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E5%A4%9A%E3%81%8F%E3%81%AE%E6%8A%95%E7%A8%BF%E3%82%84%E4%BE%8B%E3%81%AF%E3%80%81s32k344%E3%81%BE%E3%81%9F%E3%81%AF%E9%A1%9E%E4%BC%BC%E3%81%AE%E6%A9%9F%E7%A8%AE%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82S32k396%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6%E3%80%81%E4%BD%95%E3%81%8B%E8%A6%8B%E8%90%BD%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E7%82%B9%E3%81%8C%E3%81%82%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%8C%E7%A7%81%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%99%E3%80%82%E7%A7%81%E3%81%AFS32K3%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%BB%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90AUTOSAR%20R23-11%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B37.0.0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EDMA%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81SPI%E3%81%AF%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%94%E3%83%B3%E3%81%A8%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AF%E6%AD%A3%E3%81%97%E3%81%84%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EMcl%3A%3C%2FP%3E%3CP%3EDMA%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Luis1_2-1780050952661.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Luis1_2-1780050952661.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F387270iFF6FC61CE06B744E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Luis1_2-1780050952661.png%22%20alt%3D%22Luis1_2-1780050952661.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Luis1_3-1780050990062.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Luis1_3-1780050990062.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F387271iAD31BCA91B8B51DC%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Luis1_3-1780050990062.png%22%20alt%3D%22Luis1_3-1780050990062.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3ERx%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%82%82%E5%90%8C%E6%A7%98%E3%81%A7%E3%80%81%E5%90%8D%E5%89%8D%E3%81%8C%E9%81%95%E3%81%86%E3%81%A0%E3%81%91%E3%81%A7%E3%81%99%EF%BC%88%E3%80%8CTx%E3%80%8D%E2%86%92%E3%80%8CRx%E3%80%8D%EF%BC%89%E3%80%82%3C%2FP%3E%3CP%3EMCU%3A%3C%2FP%3E%3CP%3EMcu%2FMcuModuleConfiguration%2FMcuModeSettingConf%2FMcuPeripheral%20%E3%81%A7%E3%80%81eDMA%E3%80%81eDMA_TCD_0%E3%80%81eDMA_TCD_1%E3%80%81DMAMUX_0%E3%80%81LPSPI_1%20%E3%81%AE%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3ERM%3A%3C%2FP%3E%3CP%3EDMA%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5%E3%81%AE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%97%E3%80%81%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E5%88%9D%E6%9C%9F%E5%8C%96%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Luis1_4-1780051351639.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Luis1_4-1780051351639.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F387272i72F7A2B57371F96B%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Luis1_4-1780051351639.png%22%20alt%3D%22Luis1_4-1780051351639.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3ESPI%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Luis1_5-1780051429008.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Luis1_5-1780051429008.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F387273iCD9B629463F95119%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Luis1_5-1780051429008.png%22%20alt%3D%22Luis1_5-1780051429008.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Luis1_6-1780051448572.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Luis1_6-1780051448572.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F387274iF87DDDCF0422EDDA%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Luis1_6-1780051448572.png%22%20alt%3D%22Luis1_6-1780051448572.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Luis1_7-1780051515307.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Luis1_7-1780051515307.png%22%20style%3D%22width%3A%20374px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F387275iE45C27B924DE1CA3%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Luis1_7-1780051515307.png%22%20alt%3D%22Luis1_7-1780051515307.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EIntCtrl_Ip%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Luis1_8-1780051677533.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Luis1_8-1780051677533.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F387278i7D15A1882AA4600F%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Luis1_8-1780051677533.png%22%20alt%3D%22Luis1_8-1780051677533.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E3%81%9D%E3%81%97%E3%81%A6%E6%9C%80%E5%BE%8C%E3%81%AB%E7%A7%81%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%2F%2FMCAL%20Autosar%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F%2F%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Eif%3C%2FSPAN%3E%20%3CSPAN%3E(Clock_Ip_Init(%26amp%3BMcu_aClockConfigPB_BOARD_InitPeripherals%5B0%5D)%20%3D%3D%3C%2FSPAN%3E%20%3CSPAN%3ECLOCK_IP_ERROR%3C%2FSPAN%3E%20%3CSPAN%3E)%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Efalse%3C%2FSPAN%3E%3CSPAN%3E%E3%82%92%E8%BF%94%E3%81%99%3C%2FSPAN%3E%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%20%3CSPAN%3E%2F%2Felse%20CLOCK_IP_SUCCESS%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F%2FMCU%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EMcu_Init(%26amp%3BMcu_Config_BOARD_InitPeripherals)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F%2F%E3%83%9D%E3%83%BC%E3%83%88%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EPort_Init(%26amp%3BPort_Config_BOARD_InitPeripherals)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F%2F%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Eif%3C%2FSPAN%3E%20%3CSPAN%3E(IntCtrl_Ip_Init(%26amp%3BIntCtrlConfig_0)%20%3D%3D%3C%2FSPAN%3E%20%3CSPAN%3EINTCTRL_IP_STATUS_ERROR%3C%2FSPAN%3E%20%3CSPAN%3E)%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Efalse%3C%2FSPAN%3E%3CSPAN%3E%E3%82%92%E8%BF%94%E3%81%99%3C%2FSPAN%3E%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F%2FDMA%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ERm_Init(%26amp%3BRm_Config_BOARD_INITPERIPHERALS)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EMcl_Init(%26amp%3BMcl_Config_BOARD_InitPeripherals)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%2F%2FLPSPI1%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ELpspi_Ip_StatusType%3C%2FSPAN%3E%20%3CSPAN%3Elpspi_status%20%3D%20Lpspi_Ip_Init(%26amp%3BLpspi_Ip_PhyUnitConfig_SpiPhyUnit_1_Instance_1_BOARD_InitPeripherals)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Eif%3C%2FSPAN%3E%20%3CSPAN%3E(lpspi_status%3D%3D%3C%2FSPAN%3E%20%3CSPAN%3ELPSPI_IP_STATUS_SUCCESS%3C%2FSPAN%3E%20%3CSPAN%3E)%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ELpspi_Ip_UpdateTransferMode(Lpspi_Ip_DeviceAttributes_SpiExternalDevice_1_Instance_1_BOARD_InitPeripherals.Instance%3C%2FSPAN%3E%20%3CSPAN%3E%2C%3C%2FSPAN%3E%20%3CSPAN%3ELPSPI_IP_INTERRUPT%3C%2FSPAN%3E%20%3CSPAN%3E)%3C%2FSPAN%3E%20%3CSPAN%3E%3B%3C%2FSPAN%3E%20%3CSPAN%3E%2F%2F%E8%BB%A2%E9%80%81%3A%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ELpspi_Ip_UpdateLsb(%26amp%3BLpspi_Ip_DeviceAttributes_SpiExternalDevice_1_Instance_1_BOARD_InitPeripherals%2C%200)%3B%3C%2FSPAN%3E%20%3CSPAN%3E%2F%2F0%3DMSB%20(%E3%83%93%E3%83%83%E3%82%B0%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3CSPAN%3E%E3%81%9D%E3%82%8C%E4%BB%A5%E5%A4%96%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Efalse%3C%2FSPAN%3E%3CSPAN%3E%E3%82%92%E8%BF%94%E3%81%99%3C%2FSPAN%3E%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%E9%80%81%E4%BF%A1%E3%81%AB%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%82%E3%81%AE%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3ELpspi_Ip_AsyncTransmit(%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3ELpspi_Ip_DeviceAttributes_SpiExternalDevice_1_Instance_1_BOARD_InitPeripherals%3C%2FSPAN%3E%20%3CSPAN%3E%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Etx_buffer%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Erx_buffer%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E1%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Elpspi1_callback%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E3%83%AB%E3%82%A4%E3%82%B9%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2373201%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K396%20LPSPI%20DMA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2373201%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F260015%22%20target%3D%22_blank%22%3E%40Luis1%E3%81%95%E3%82%93%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%81%BE%E3%81%9A%E3%80%81%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%9F%E6%83%85%E5%A0%B1%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%8F%E3%81%A8%E3%80%81%E4%BD%8E%E3%83%AC%E3%83%99%E3%83%AB%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%EF%BC%88IP%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%EF%BC%89%E3%81%A8%E9%AB%98%E3%83%AC%E3%83%99%E3%83%AB%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%EF%BC%88MCAL%EF%BC%89%E3%82%92%E6%B7%B7%E5%9C%A8%E3%81%95%E3%81%9B%E3%81%A6%E3%81%84%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%AF%E4%B8%80%E8%88%AC%E7%9A%84%E3%81%AB%E3%81%AF%E6%8E%A8%E5%A5%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E7%89%B9%E3%81%AB%E3%80%81%E5%AE%9F%E8%A3%85%E3%81%8CAUTOSAR%E3%81%AB%E6%BA%96%E6%8B%A0%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E6%84%8F%E5%9B%B3%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%81%AA%E3%81%8A%E3%81%95%E3%82%89%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%81%8A%E5%AE%A2%E6%A7%98%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6%E3%80%81%E4%BB%A5%E4%B8%8B%E3%81%AE%E7%82%B9%E3%81%8C%E6%B0%97%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ELPSPI1%E3%81%A7%E3%81%AF%E3%80%81SpiPhyUnitClockRef%E3%81%A8%E3%81%97%E3%81%A6AIPS_PLAT_CLK%E3%82%92%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E3%81%93%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AFAIPS_SLOW_CLK%E3%81%A7%E3%81%99%E3%80%82%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81%E3%81%93%E3%81%AE%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92MCU%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E5%86%85%E3%81%AEMcuClockReferencePoint%E8%A8%AD%E5%AE%9A%E3%81%AB%E5%90%AB%E3%82%81%E3%80%81%E3%81%93%E3%81%AESPI%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AB%E9%81%A9%E5%88%87%E3%81%AB%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81%E5%85%88%E3%81%AB%E8%BF%B0%E3%81%B9%E3%81%9F%E3%82%88%E3%81%86%E3%81%AB%E3%80%812%E3%81%A4%E3%81%AE%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%82%92%E6%B7%B7%E5%9C%A8%E3%81%95%E3%81%9B%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF%E6%8E%A8%E5%A5%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E4%BD%8E%E3%83%AC%E3%83%99%E3%83%AB%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%82%92%E6%89%B1%E3%81%86%E5%A0%B4%E5%90%88%E3%80%81%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E4%BE%8B%E5%A4%96%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AFMCAL%E3%81%A7%E3%81%AE%E3%81%BF%E5%88%A9%E7%94%A8%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%82%E3%82%8A%EF%BC%88%E4%BE%8B%E3%81%88%E3%81%B0RM%EF%BC%89%E3%80%81%E3%81%9D%E3%81%93%E3%81%A7%E3%81%AF%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%81%AE%E6%B7%B7%E5%90%88%E3%81%8C%E6%83%B3%E5%AE%9A%E3%81%95%E3%82%8C%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E4%BB%A5%E4%B8%8B%E3%81%AEThread%E3%82%92%E5%8F%82%E7%85%A7%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E3%81%8A%E5%8B%A7%E3%82%81%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%9D%E3%81%93%E3%81%AB%E3%81%AF%E3%80%81IP%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E4%BE%8B%E3%81%A8MCAL%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E4%BE%8B%E3%81%AE2%E3%81%A4%E3%81%8C%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AAAPI%E3%81%AE%E9%81%95%E3%81%84%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A1%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AFS32K396%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E5%B0%82%E7%94%A8%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81%E5%8F%82%E8%80%83%E3%81%A8%E3%81%97%E3%81%A6%E5%BD%B9%E7%AB%8B%E3%81%A4%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%AE%E3%81%A7%E3%81%94%E6%B3%A8%E6%84%8F%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FExample-S32K344-SPI-Transmit-amp-Receive-Using-DMA-DS3-5-RTD500%2Fta-p%2F1992224%22%20target%3D%22_blank%22%3E%E4%BE%8B%3A%20DMA%20DS3.5%20RTD500%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9FS32K344%20SPI%E3%81%AE%E9%80%81%E5%8F%97%E4%BF%A1%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%E3%80%81VaneB%3C%2FP%3E%3C%2FLINGO-BODY%3E