本文档介绍了SylixOS在DSP上的启动流程。本文档介绍的相关内容针对TI官方评估板TMDSEVM6678。
当DSP重启后,会首先执行RBL(片内一级加载程序),该RBL固化在片内ROM中;RBL的主要工作是判断启动模式并从指定的设备加载运行UBL(用户编写的二级加载程序);UBL的主要作用是加载SylixOS的BSP程序;当BSP程序运行起来后,就可以通过动态加载开发应用程序了。如图 2.1所示:
图 2.1 基本启动流程
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文件做初始操作
SylixOS的BSP程序为elf格式,所以在UBL加载BSP程序时,会首先解析elf格式,并根据配置将对应的段分配到不同的位置。当BSP程序成功运行后,就可以通过动态加载开发应用程序了。SylixOS对RAM的划分如图 4.1所示:
图 4.1 SylixOS对RAM的划分
SylixOS 将BSP程序的不同的段放到上图中指定的区域,详细参考图 4.2。
图 4.2 BSP各段的分配
原文地址:http://blog.51cto.com/7183031/2054744