ZHCSJS3E may 2019 – june 2023 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
PRODUCTION DATA
请参考 PDF 数据表获取器件具体的封装图。
本节介绍每次 CPU 内核复位时的一般引导 ROM 过程。CPU1 是主器件,始终首先引导。CPU1 引导至应用程序后,CPU1 中的用户应用程序代码即可配置 CPU2/CM 引导 IPC 寄存器并将 CPU2/CM 从复位状态释放到引导状态。表 8-15、表 8-16 和表 8-17 列出了每个内核的一般引导过程。
在引导期间,每个 CPU 的引导 ROM 代码会更新 RAM 中的引导状态位置,其中详细说明了在此过程中采取的操作。此外,CPU2 将引导状态写入 CPU2TOCPU1IPCBOOTSTS 寄存器,CM 将引导状态写入 CMTOCPU1IPCBOOTSTS 寄存器,以便将状态告知 CPU1。
更多详细信息,请参阅 TMS320F2838x 实时微控制器技术参考手册 的“引导状态信息”一节。
STEP | CPU1 操作 |
---|---|
1 | 复位后,检查是否有 HWBIST 复位。如果有 HWBIST 复位,则立即分支并返回到用户应用程序。如果没有 HWBIST 复位,则继续引导并检查 FUSE 错误寄存器是否存在任何错误并进行相应处理。 |
2 | 时钟配置和闪存上电 |
3 | 从 OTP 加载外设修整和器件配置寄存器。 |
4 | 上电复位 (POR) 时,初始化所有 CPU1 RAM。 |
5 | 启用不可屏蔽中断 (NMI) 处理,并执行 DCSM 初始化。 |
6 | 执行器件校准;使用设定的 OTP 值修整指定的外设。 |
7 | 确定是否需要轮询 GPIO 引脚以确定引导模式,如果需要,则读取引导模式 GPIO 引脚以确定要运行的引导模式。 |
8 | 根据引导模式和选项,执行相应的引导序列。有关 CPU1 引导序列的流程图,请参阅 TMS320F2838x 实时微控制器技术参考手册 中的“CPU1 器件引导流程”图。 |
STEP | CPU2 操作 |
---|---|
1 | CPU1 应用程序将 CPU2 从复位状态释放。 |
2 | 设置 CPU1TOCPU2IPCFLG0 后,读取 CPU1TOCPU2IPCBOOTMODE 寄存器。如果未正确设置或具有无效值,则将 IPC 错误命令发送到 CPU1,而 CPU2 内核将进入无限循环,并且在用户校正寄存器值并复位 CPU2 之前不会继续引导。 |
3 | 闪存上电 |
4 | 在 POR 时,初始化所有 CPU2 RAM。 |
5 | 启用 NMI 处理。 |
6 | 根据 CPU1TOCPU2IPCBOOTMODE 寄存器中设置的引导模式,CPU2 进入“等待命令”模式以等待未来的 CPU1 引导模式命令,或 CPU2 执行请求的引导序列。有关 CPU2 引导序列的流程图,请参阅 TMS320F2838x 实时微控制器技术参考手册 中的“CPU2 引导流程”图。 |
STEP | CM 操作 |
---|---|
1 | CPU1 应用程序将 CM 从复位状态释放。 |
2 | 设置 CPU1TOCMIPCFLG0 后,读取 CPU1TOCMIPCBOOTMODE 寄存器。如果未正确设置或具有无效值,则将 IPC 错误命令发送到 CPU1,而 CM 将进入无限循环,并且在用户校正寄存器值并复位 CM 之前不会继续引导。 |
3 | 闪存上电 |
4 | 在 POR 时,初始化所有 CM RAM。 |
5 | 启用 NMI 处理。 |
6 | 根据 CPU1TOCPU2IPCBOOTMODE 寄存器中设置的引导模式,CM 进入“等待命令”模式以等待未来的 CPU1 引导模式命令,或 CM 执行请求的引导序列。有关 CM 引导序列的流程图,请参阅 TMS320F2838x 实时微控制器技术参考手册 中的“CM 引导流程”图。 |