本篇我们探究 Bootloader里Main函数都做了些什么?首先,在没有看到参考之前,简单地想一想:
- 如本系列第一篇所言,在跳转至Main函数之前,英飞凌的启动文件对core进行了初始化和配置,接下来应该是要初始化MCAL的,不然没法让MCAL的驱动正常工作;
- 第二个是进行一些判断逻辑,从而决定是留在BOOT还是跳转至APP;
- 如果是留在BOOT,则持续进行循环,等待UDS诊断请求;
- 如果是跳转至APP,需要检查一下APP代码的有效性和完整性,无误则跳转。
Step 1:Mcal_Init( )
MCU
MCU模块是MCAL中最重要也是最核心的模块,负责:SCU, GTM, CCU6, GPT12 and STM 外设的配置。主要功能:
• Configuration of Clock, Reset and static low power mode functionalities as specified by AUTOSAR
• Configuration of Trap functionality
• Configuration of global features of GTM, CCU6 and GPT12 required by the BASIC drivers
• Provide library support for other driv