MCAL--MCU

目录

目录

1.General

1.1NonAutosa


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函数,该函数在自检之后返回内存状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值