文章目录

  • BOOT
  • 启动参数表
  • PLL启动配置
  • 设备配置
  • 启动时的设备配置
  • 设备状态寄存器
  • 内存架构
  • 上电时序
  • 复位
  • PLL时钟域
  • 中断
  • EMIF
  • 读时序
  • 写时序


BOOT

BOOT过程在每次上电复位(power-on reset)、热复位(warm reset)、系统复位(system reset) 后自动启动。本地复位(local reset) 单个的C66x CorePac 不影响器件上的硬件启动控制器的状态。

启动参数表

ROM Bootloader(RBL)通过启动参数表来指导启动过程。启动参数表是确定启动流程最常见的格式。这些启动参数表的某些参数贯穿整个引导过程,

FTC663架构 ft6678芯片手册_寄存器

PLL启动配置

PLL 的默认设置由BOOTMODE[12:10]位决定,

FTC663架构 ft6678芯片手册_C6678_02

设备配置

启动时的设备配置

对于6678而言,某些设备配置比如启动模式和字节序,是上电复位时选择的,外设的状态(启用/禁用)在上电复位后确定。大部分的器件配置引脚与其他功能共享(LENDIAN/GPIO[0]、BOOTMODE[12:0]/GPIO[13:1],PCIESSMODE[1:0]/GPIO[15:14]、PCIESSEN/TIMI0),在这些器件配置引脚为输出状态之前,需要一定的上升沿时间来驱动这些器件配置输入引脚(启动过程中,GPIO 引脚不应该为输出状态)。另一个需要注意的是,在复位结束前,必须保证系统使用的TIMI0(与PCIESSEN 复用)时钟禁止输入,复位结束后,控制器件不再驱动该引脚。

FTC663架构 ft6678芯片手册_FTC663架构_03

设备状态寄存器

设备状态寄存器描述器件的配置,由POR 或者RESETFULL 引脚在上电复位时决定。一旦设置,这些位将保持设置,直到下一个电源复位。

FTC663架构 ft6678芯片手册_Common_04

内存架构

  • 每个C66x CorePac 器件包含一个512KB 二级内存(L2)、一个32KB 一级程序内存(L1P)、一个32KB 一级数据内存(L1D),6678还包含一个4096KB 的多核共享内存(MSM)
  • 6678的所有存储器都具有一个唯一的地址映射
  • 用户可以通过软件对L1P 配置寄存器(L1PCFG)的L1DMODE 位和L1D 配置寄存器(L1DCFG)的L1PMODE 位域对L1D、L1P进行重新配置
  • 在系统复位后,L1P 、L1D 被默认配置为高速缓存
  • 在系统复位后,L2 被默认配置为SRAM
  • MSM SRAM 总是被配置为SRAM。当配置为共享式L2 时,它缓存在L1P 和L1D 中;当配置在共享的L3 模式时,它缓存在L2 中

FTC663架构 ft6678芯片手册_Common_05

上电时序

FTC663架构 ft6678芯片手册_Common_06


FTC663架构 ft6678芯片手册_引脚_07

复位

FTC663架构 ft6678芯片手册_Common_08

复位请求优先级如下(从高到低):

  • 上电复位
  • 硬/软复位

PLL时钟域

FTC663架构 ft6678芯片手册_引脚_09

中断

6678的中断拓扑信息如下图所示,

FTC663架构 ft6678芯片手册_寄存器_10

  • 对于每个core而言,中断源有Primary事件、Secondary事件、广播事件、预留Primary事件
  • 对于CIC0/1而言,中断源有Core-Only Secondary事件、Common事件、预留Secondary事件
  • 对于CIC2而言,中断源有Common事件、EDMA3CC事件、预留Secondary事件
  • 对于CIC3而言,中断源有63个事件、预留Secondary事件

需要注意,虽然KeyStone Architecture最多支持1024个事件,但6678并没有支持那么多,与CIC0相关的输入、输出事件号简要如下,

FTC663架构 ft6678芯片手册_寄存器_11

FTC663架构 ft6678芯片手册_C6678_12

C6678 的中断产生过程可以用下图描述,

FTC663架构 ft6678芯片手册_引脚_13

  • 外部设备触发 DSP 芯片的外设中断源,产生外设中断(Peripheral Interrupts),
    即①;
  • 外设中断经过 DSP 芯片内部处理后成为系统中断(System Interrupts),并
    将该中断路由给芯片中断控制器(CIC),即②;
  • 系统中断(System Interrupts)通过芯片中断控制器(CIC)的通道映射(Channel
    Mapping)被映射为通道中断(Channel Interrupts),即③;
  • 通道中断(Channel Interrupts)通过主机中断映射(Host Interrupt Mapping)
    被映射为主机中断(Host Interrupts),并路由到主机中断接口(Host Interrupts Interface),
    即④;
  • 通过内核中断控制器(INTC),主机中断被转换为相应的 CPU 中断(CPU
    interrupts)、CPU 异常(CPU exceptions)或者其他高级的仿真逻辑(advanced emulation
    logic),即⑤

EMIF

FTC663架构 ft6678芯片手册_C6678_14

读时序

FTC663架构 ft6678芯片手册_寄存器_15

写时序

FTC663架构 ft6678芯片手册_FTC663架构_16