AURIX TC3XX系列之启动流程

1、启动简介

        TC3XX系列芯片的启动流程,大致可以分为三步:复位、固件启动、用户软件启动。

        复位(Reset)分为:冷复位(即重上电复位),热复位,系统复位,应用复位。固件(Firmware)是固化在芯片内部的程序,由复位触发启动运行。用户代码启动指的就是我们常说的从_Start处启动。用户软件部分可以理解为分成两部分:一部分为英飞凌提供的Ifx_Ssw_Tcx.c(x代表核ID),另一部分为用户自定义的Main函数。在Main函数中可以实现EcuM初始化,开启OS,可以选择在_start_tc函数中或者通过OS开启从核。

        整个启动流程可以参考下图:

2、固件Firmware

        Firmware在用户手册里的第三章节进行了介绍,主要包括了两部分:Startup Software(SSW)和Checker Software(CHSW)。Startup Software主要用于Flash,Ram,寄存器的初始化和配置、启动模式评估选择(包括用户代码启动地址配置等),也能调用Bootloader例程等等;Checker Software主要用于检查SSW中的配置是否正确。

        SSW是芯片复位后执行的第一个软件。SSW在CPU0上执行,其他所有cpu在启动时保持Halt状态,由后续的用户软件启动,Firmware(BootROM)中的SSW起始地址是CPU0程序计数器寄存器(PC)中的复位值。从这个位置获取一条指令,这是任何设备启动后执行的第一条指令。最后一条SSW指令执行跳转到第一条用户代码指令。根据用户选择的启动配置,可以从不同的位置获取第一个用户指令。

        Firmware的整体流程如下图所示:

2.1 模式评估:

        Firmware的模式评估的功能通过Boot Mode Headers(BMHD)寄存器实现,TC3xx有4个BMHD,在User Configuration Blocks (UCB)中配置。每个BMHD包含一个UCB_BMHDx_ORIG
和UCB_BMHDx_COPY,两者内容一致。BMHD寄存器中,BMI.PINDIS决定是否通过硬件PIN选择启动模式(一般不用),  BMI.HWCFG决定启动模式,Firmware有三种启动模式:Internal Start、ABM(Alternate Boot Mode)、Bootloader Modes;

  • Internal Start:从内部Flash启动,STAD就直接指向用户代码首地址;
  • Alternate Boot Mode:从ABM模式启动,STAD指向ABM Header(ABMHD)存放的地址,ABMHD.STADABM指向用户代码首地址;
  • Bootloader Modes:分为ASC Bootloader和CAN Bootloader。

Internal Start和ABM最大的区别如下图所示:

ABM模式下,由ABMHD做了一个中转且放在PFlash中,UCB位于DFlash中,它的刷新容易锁板子,因此ABM模式为我们提供了解决容易锁板子的思路。

STAD决定用户代码启动地址(Internal Start模式下)或者ABM启动地址(ABM模式下)。

BMHD寄存器内容如下:

英飞凌的Demo工程里就有BMHD的配置源文件

3、用户软件启动

        用户软件的启动流程可以根据英飞凌给的Demo工程来进行分析。以Core0为例,进入_start_tc0函数之前,流程如下图所示(其他核流程类似):

__StartUpSoftware

初始化core 寄存器,以及赋予一些操作权限。

__StartUpSoftware_Phase2

MCU自检操作:主要对mcu 电源,内部内存进行一些自检。

__StartUpSoftware_Phase3PowerOnResetPath

主要是进行上下文初始化。包含stack 与 CSA。

__StartUpSoftware_Phase4

开启看门狗,初始化时钟系统。

__StartUpSoftware_Phase5

如果有配置smu,这里就可以开启SMU来监控芯片状态

__StartUpSoftware_Phase6

此阶段既可以选择开启下一个核,然后以菊花链形式开启所有从核,也可以选择通过后续OS开启所有从核,然后运行至Core0的main函数。当选择OS开启从核时,后续流程如下图所示:

调用Os_StartOS之后,程序便交给操作系统来掌管。

### 回答1: 英飞凌的AURIX TC3xx系列用户手册是一本关于AURIX TC3xx系列微控制器的详细说明书。这个系列的微控制器是英飞凌公司专门针对高性能应用而设计的产品,具有强大的处理能力和丰富的外设功能。 这本用户手册主要包含了AURIX TC3xx系列微控制器的硬件架构、软件编程模型以及各种外设的使用方法。首先,它介绍了微控制器的整体架构,包括处理器核心和相关的总线、内存和外设等。然后,它详细讲解了如何使用集成的外设模块,例如ADC、PWM、CAN等,以及如何配置和控制它们。 除了外设的使用,这本手册还涵盖了微控制器的软件编程模型。它介绍了AURIX TC3xx系列微控制器的指令集和寻址模式,并提供了大量的代码示例和编程指南,帮助用户快速上手和开发应用程序。 此外,用户手册还包含了关于调试和诊断的内容,介绍了如何使用调试接口和工具进行调试和性能优化。它还提供了错误处理和故障排除的建议,帮助用户解决可能出现的问题。 总之,英飞凌的AURIX TC3xx系列用户手册提供了丰富的信息和指导,帮助用户充分发挥AURIX TC3xx系列微控制器的功能和性能。无论是初学者还是有经验的开发者,都可以通过这本手册快速学习和使用AURIX TC3xx系列微控制器,开发出高性能的应用。 ### 回答2: 英飞凌的AURIX TC3xx系列用户手册是一份详细的文档,旨在帮助用户了解和操作这一系列处理器。该系列处理器针对汽车和工业应用而设计,具有高度的可靠性和性能。 用户手册的主要内容包括处理器的概述、器件特性、引脚功能和电气特性等。它还提供了关于处理器的外设和存储器配置的详细说明,帮助用户了解如何正确地连接和配置外部设备。 此外,用户手册还提供了关于处理器启动和复位的信息,帮助用户正确地启动和重置处理器。它还包括关于处理器的时钟和电源管理的详细说明,以确保处理器在工作过程中保持稳定和高效。 用户手册还介绍了处理器的性能优化和功耗优化技术,帮助用户了解如何最大限度地利用处理器的性能,并尽可能节省能源。此外,它还提供了关于处理器的故障排除和错误处理的指南,帮助用户在遇到问题时进行快速解决。 总之,英飞凌AURIX TC3xx系列用户手册是一份非常有用和全面的文档,它提供了使用和操作这一系列处理器所需的所有重要信息。无论是初学者还是有经验的用户,都可以从中获得帮助和指导,以确保正确地使用和维护处理器。 ### 回答3: 英飞凌aurix tc3xx系列用户手册是一本详细介绍aurix tc3xx系列微控制器的使用指南。aurix tc3xx系列微控制器是英飞凌公司专为汽车电子应用而设计的高性能处理器,广泛应用于汽车电子控制单元(ECU)中。 该用户手册从基础概念和硬件介绍开始,逐步引导用户了解aurix tc3xx系列微控制器的各个方面。手册中详细说明了微控制器的架构、接口、内存和外围设备,让用户对其整体结构有一个清晰的理解。 手册还为用户提供了软件开发的指南,包括编程环境的搭建、编译器、调试工具和仿真器的使用方法。用户可以学习如何编写基于aurix tc3xx系列微控制器的应用程序,并通过调试工具对程序进行调试和优化。 此外,手册还提供了各种应用示例,涵盖了各种汽车电子系统,如引擎管理系统、传感器控制、车身电子等。用户可以通过这些示例了解如何使用aurix tc3xx系列微控制器来实现不同的功能和应用。 总之,英飞凌aurix tc3xx系列用户手册全面而详细地介绍了aurix tc3xx系列微控制器的功能和使用方法。对于从事汽车电子开发的工程师和技术人员来说,这本手册是一本宝贵的参考资料,可以帮助他们更好地理解和应用aurix tc3xx系列微控制器。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值