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 SylixOS对RAM的划分
SylixOS 将BSP程序的不同的段放到上图中指定的区域,详细参考图 4.2。
图 4.2 BSP各段的分配