TN0164_基于DSP的启动加载原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TN0164_基于DSP的启动加载原理相关的知识,希望对你有一定的参考价值。

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各段的分配

以上是关于TN0164_基于DSP的启动加载原理的主要内容,如果未能解决你的问题,请参考以下文章

Springboot启动过程

linux启动过程原理

iOS之深入解析类加载的底层原理:类如何加载到内存中?

spring boot启动加载tomcat原理深度剖析

jvm原理(19)平台特定的启动类加载器深入分析与自定义系统类加载器详解

AngularJS进阶(三十九)基于项目实例解析ng启动加载过程