一、DMA
1.芯片基本信息
S32K144有16个硬件通道,前4个通道有trigger功能(但是trigger信号与实际DMA传输发生之间的clock数并不是确定的)【两种有效场景:定期轮询特定总线上的外设,使用GPIO口输出或采集波形】,异步DMA不支持trigger。
DMA请求可以通过DMAMUX route到HW DMA通道上。
三种模式:Disable、Normol、Periodic Trigger
eDMA数据传输过程:激活通道->读取/写入->TCD(Transfer Control Descriptor)重新载入
在激活DMA通道前必须正确初始化TCD
2.通用信息
Link List可以包含一个或多个DMA Transaction,一个DMA Transaction 包含一个或更多 DMA Transfer,一个DMA Transfer包含一个或多个 DMA Moves,DMA Moves分为read和write两种,他们保持一致的数据宽度。
当搬运的数据量小时,没有必要使用DMA,需要大量搬运数据时,使用DMA,可以更节省CPU时间。
【ps】使用DMA的数据应放置在no cache的内存区域
二、SPI
1、芯片基本信息
2、通用信息
三、配置
1.MCL
DmaChannel
DmaInstance
使能中断
MclGeneral
2.SPI
3.OS
注册DMA中断(ch1同理)
4.Initialization
Spi _Init()函数必须在Port_Init()函数及Mcl_Init()函数之后调用