目录
目录
1.General
1.1NonAutosar
这部分是非Autosar的配置
DMA Initialization in MCU:勾选时,MCU在调用MCU_Init时负责DMA/DMAMUX初始化,如果未选中此框,则跳过MCU中的DMA/DMAMUX初始化,必须在其他地方进行初始化。
DMA:直接内存访问,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输,无须CPU干预(CPU需要配置,触发传输及传输过程不需要CPU干预),DMA可以快速搬运数据,因此可以节省CPU资源用于其他工作。
DMA工作流程如下:
1)外设发起传输请求:外围设备向DMA控制器发起传输请求。
2)DMA控制器响应请求:DMA控制器接收到传输请求后,暂停CPU的访问,并通过请求信号(如DMA请求信号)获取对系统总线的控制权。
3)读取数据:DMA控制器从外设读取数据,并存储在内部缓冲区中。
4)数据传输:DMA控制器将数据从内部缓冲区传输到系统内存中的目标地址。
5)传输完成通知:当数据传输完成后,DMA控制器会释放对系统总线的控制权,并发出传输完成的中断信号,通知CPU。
6)CPU处理中断:CPU接收到传输完成的中断信号后,会执行相应的中断处理程序。
DMAMUX:DMAMUX 请求多路复用器用于在外设和DMA控制器之间路由 DMA 请求线。
DMA初始化工作包括配置源地址、目标地址、通道优先级等。
Enable Notification Callback:使能/禁用API(用于禁用CMU(Clock Monitor Unit),SPC58共有14个CMU,CMU用于监控频率等参数)。
Mcu Clock Notification Callout:自定义回调函数名称,需要勾选Enable Notification Callback参数才能编辑,如自定义函数名称为start,则Mcu_Cfg.h中会增加下述代码,函数体需在其他地方实现。
#if (MCU_ENABLE_NOTIFICATION_CBK == STD_ON)
extern FUNC(void,MCU_CODE) start(VAR (Mcu_CmuIndexType, AUTOMATIC) CmuIndex);
#endif
Mcu Enable Production Error Reporting:禁用/启用诊断错误报告和通知。开启此功能时,预处理器将会识别并报出AutoSar Version Numbers of Mcu_MC_Modes_LLD.c and Dem.h are different类的编译错误信息,并通过Dem_ReportErrorStatus函数上报Event状态。
Mcu_GetDeviceInfo API activation:此项会开启部分版本一致性检查(预编译阶段),并使能函数Mcu_GetDeviceInfo及Mcu_Siul_GetDeviceInfo,其中Mcu_Siul_GetDeviceInfo函数被前者调用,Mcu_GetDeviceInfo较后者多了MCU_DEV_ERROR_DETECT功能(下面涉及),DeviceInfo包含flash_size、core等信息。
Mcu_SscmGetStatus API activation:此项会开启部分版本一致性检查(预编译阶段),同时使能Mcu_Sscm_GetStatus函数,该函数在自检之后返回内存状态。