TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章

请从官网下载 TD4VM 技术参考手册,地址如下:

TDA4VM 技术参考手册地址

freetech-MCU 底层软件- TDA4 内容交流与分享

第一章 介绍

1.1 芯片概述

总体介绍了异构芯片 TDA4VM 的核与芯片域:

  • MAIN 域:A72 核、R5F 核、DSP 核
  • MCU 域:R5F核
  • WKUP域:M3 核(DMSC)

1.2 芯片框图

下图为芯片顶层的设计框图,更形象的列出了不同芯片域设计与外设:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第1张图片

1.3 芯片的MAIN 芯片域

介绍了 main 域的处理器,以及总体介绍了main 域的外设功能:

TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第2张图片

1.4 芯片的 MCU 芯片域

介绍了 mcu 域的处理器,并总体介绍了 mcu 域外设的功能:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第3张图片

1.5 芯片的 WKUP 域

介绍了 wukp域的处理器,并总体介绍了 wkup 域外设的功能:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第4张图片

1.6 芯片ID
芯片 ID 存储在CTRLMMR_WKUP_JTAGID 寄存器中,值为:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第5张图片

第二章 内存映射

2.1 MAIN 域内存映射

此章节展示了 MAIN 域外设在内存中的寄存器位置,请查看手册。

2.2 MCU 域内存映射

此章节展示了 MCU 域外设在内存中的寄存器位置,请查看手册。

2.3 WKUP 域内存映射

此章节展示了 WKUP 域外设在内存中的寄存器位置,请查看手册。

2.4 处理器视角下内存映射

以 mcu_r5f 视角下内存映射举例:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第6张图片

这个类似内核外设的寄存器位置分布,因为有 VIC,TCM 相关的东西。
RAT 是 Region-based Address Translation,基于区域的地址翻译。

2.5 RAT

位于 region 的32位内存地址可以翻译为48 位内存地址。

第三章 系统互连

3.1 系统互联概述

芯片上所有模块与子系统通过系统互连实现对任意内存的访问。
也就是说任一处理器核可以访问所有内存映射。
系统互联可以分为如下模块:

  • CBASS0
  • INFRA_CBASS0
  • MCU_CBASS0
  • WKUP_CBASS0

上述模块是相互链接的,用于传输任意处理器核对内存或寄存器的读写访问。

第四章 芯片启动与初始化

4.1 初始化启动概述

芯片上电后,先运行固化在 ROM 中的代码,ROM 中的代码会初始化一些必要的外设,比如时钟,启动设备等。
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第7张图片

根据 SBL 启动经验,总结如下:

Power on ————> Rom Code ————> SBL

4.2 启动处理(运行 SBL 之前的处理)

4.2.1 MCU ROM 代码架构概述

MCU ROM 代码负责采用 BOOT_MODE pin 并从指定的启动外设中读取启动镜像。
MCU ROM 代码也需要验证启动镜像的合法性,MCU ROM 代码架构如下:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第8张图片
Rom Code 软件模块总结如下:

  • Main 循环:包含所有逻辑事件处理的主循环;
  • X.509 : 验证启动镜像的合法性;
  • LOG and Trace: 日志与错误记录模块;
  • System: 提供系统服务:时间、中断处理;
  • Protocol: 提供协议级处理,比如使用串口读取启动镜像时,需要的 XMODEM 协议
  • Driver: 提供外设驱动,比如 OSPI/QSPI,MMCSD 驱动,用于从启动设备读取镜像。

4.2.2 DMSC ROM 代码架构概述

DMSC 即 WKUP 域的核,负责整个芯片的设备管理与安全控制。
DMSC 的 ROM 代码…不清楚
设备管理:即从核的复位启动是由 DMSC 来使能的。
安全控制:解析 X.509? 镜像合法性验证?

4.2.3 启动处理流图(ROM代码运行流图)

ROM 代码主要实现下述功能:
1.对 BOOT_MODE pins 进行采样,初始化并配置必要的外设,比如 PLL与启动外设;
2.从启动外设中读取镜像,并验证;
3.启动从核,并运行镜像。
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第9张图片

由 DMSC 执行 SBL 核的复位启动。
DMSC ROM 会配置一个 180 s 的看门狗,SBL 需要加载 TI 提供的固件给 DMSC 运行,这个固件会管理这个看门狗:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第10张图片

4.2.4 MCU_ONLY 启动与 NORMAL 启动

如果用户置位了 MCU_ONLY pin (比如通过拨码开关),那么此时芯片只能从 MCU 域启动,ROM 中的代码只采样 MCU_BOOTMODE pins,且只能从 MCU 域的外设读取启动镜像。
NORMAL 启动则需要采样所有的 BOOT MODE pins,可以从 MAIN 域外设中读取启动镜像。

4.3 BOOT MODE pin

4.3.1 MCU_BOOTMODE pin 映射

当使用 MCU_ONLY 模式启动时,只采样 MCU_BOOTMODE pins 的值。
MCU_BOOTMODE pin 映射如下:
在这里插入图片描述

引脚位域功能如下:

  • MCU[0:2]: 设置参考时钟源频率(外部晶振频率?);
  • MCU[3:5]: 设置启动模式;
  • MCU6: 设置是否使用 MCU_ONLY 模式;
  • MCU[8:9]: 上电自检设置。

4.3.2 BOOTMODE pins 映射

当 MCU_ONLY 引脚没有置位时(拨码开关没有拉高),ROM 中的代码会同时采样 BOOTMODE pins 与 MCU_BOOTMODE pins,来共同确认启动模式。
BOOTMODE pins 映射如下:
在这里插入图片描述

引脚位域功能如下:

  • BOOTMODE0: 与 MCU[3:5] 共同确认启动模式;
  • BOOTMODE[1:3]: 设置备用启动模式;
  • BOOTMODE[4:6]: 设置启动模式的参数配置,比如 OSPI、QSPI 启动时的片选,时钟速率等等;
  • BOOTMODE[7]:设置备用启动模式的参数配置,比如 MMCSD 端口选择。

4.3.3 -4.3.15 详细介绍了各个启动模式的配置与流程

4.3.16 PLL 配置

MCU[0:2]: 可以设置参考时钟频率。

4.4 启动参数表

启动参数表给 ROM 的代码使用,主要根据 BOOTMODE pins 的采样值与内建数据来填充。
比如根据 BOOTMODE pins 确定启动外设。

4.5 启动镜像格式(SBL 镜像格式)

启动镜像的整体格式为一个 X.509 认证头,后跟随启动镜像:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第11张图片

4.6启动模式

该章节简略介绍了各个启动模式的初始化启动处理与加载处理。

4.7 启动内存映射

4.7.1 内存布局与 MPU 设置

MCU ROM 代码运行在 MCU_R5F 上,芯片上电启动时,需要配置 MPU,ROM 的代码对 MPU 的设置如下图:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第12张图片

MPU 中,数值越大的 region,拥有更高的属性优先级。

4.7.2 MCU ROM 全局内存使用

ROM Code 使用下列地址存储版本号:
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第13张图片

4.7.3 ROM 代码保留未使用的内存

主要是对片上 1MB 的RAM空间的分配,ROM 代码直接运行在片上RAM后半截?(还是类似flash的片上运行)?
TDA4VM 芯片技术参考手册翻译笔记-第一章至第四章_第14张图片

你可能感兴趣的:(TDA4VM,ARM,TDA4VM,arm,学习,嵌入式软件)