DSP

基于DSP的启动加载原理

2019-07-13 09:35发布

1.适用范围

本文档介绍了SylixOS在DSP上的启动流程。本文档介绍的相关内容针对TI官方评估板TMDSEVM6678。

2.DSP的启动原理简介

当DSP重启后,会首先执行RBL(片内一级加载程序),该RBL固化在片内ROM中;RBL的主要工作是判断启动模式并从指定的设备加载运行UBL(用户编写的二级加载程序);UBL的主要作用是加载SylixOS的BSP程序;当BSP程序运行起来后,就可以通过动态加载开发应用程序了。如图 2.1所示: 2.1 基本启动流程

3.DSP的启动模式

DSP支持的启动模式有11种。在官方的评估板中,SylixOS的开发主要用到了ROM SPI Boot模式和No boot模式。拨码开关的模式配置如图 3.1所示: 3.1 拨码配置 DSP的启动模式依次如下(IBL即烧写到EEPROM中的UBL):
  • IBL NOR boot        :IBL在EEPROM中,BSP在NOR中;
  • IBL NAND boot    :IBL在EEPROM中,BSP在NAND中;
  • IBL TFTP boot        :IBL在EEPROM中,BSP通过TFTP获取;
  • I2C POST boot        :上电自测模式;
  • ROM SPI Boot        :UBL和BSP都在SPI Flash中;
  • ROM SRIO Boot    :UBL和BSP通过SRIO加载;
  • ROM Ethernet Boot    :UBL和BSP通过网络加载
  • ROM PCIE Boot     :UBL和BSP通过PCIE加载
  • No boot        :主要用于固化程序,只有该模式会通过gel文件做初始操作

4.DSP的BSP程序加载

SylixOS的BSP程序为elf格式,所以在UBL加载BSP程序时,会首先解析elf格式,并根据配置将对应的段分配到不同的位置。当BSP程序成功运行后,就可以通过动态加载开发应用程序了。SylixOS对RAM的划分如图 4.1所示: 4.1 SylixOSRAM的划分   SylixOS 将BSP程序的不同的段放到上图中指定的区域,详细参考图 4.2。 4.2 BSP各段的分配