↑点击上方蓝色字体,关注“嵌入式软件实战派”回复“AUTOSAR”获得更多实战教程。
以下内容包含:基本概念、模块依赖、应用时序、参数配置实践讲解,以及ECUM对其引用等。
MCU 时钟、PLL、时钟预分频器和 MCU 时钟分配的初始化
RAM 部分的初始化
进入MCU低功耗模式
触发MCU复位
提供从硬件获取复位原因的服务
初始化interrupt和 trap vector tables的基地址;
初始化interrupt stack pointer(如果MCU支持);
初始化user stack pointer;
初始化context save operation用的Memory(如果MCU支持context save operation);
在初始化MCAL watchdog之前,保证MCU内部watchdog不要被触发,这个可以通过增加watchdog时间来做;
初始化并使能data/code cache memory(如果MCU支持cache memory);
初始化MCU内部关于内部memory的特定功能,例如memory protection;
如果用了External Memory,也要对其做初始化,并且还要做好区域划分;
不同的Memory划分配置,需要以参数的形式提供给start-up code;
需要默认初始化时钟,并包括全局时钟分频器;
需要使能特殊功能寄存器(SFR's)的保护机制(如果MCU支持);
初始化一次写入的寄存器或者多Driver公用的一次写入寄存器,而不是多次重复写入;