TN0164_基於DSP的啟動加載原理
本文檔介紹了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各段的分配
TN0164_基於DSP的啟動加載原理