TDA4是TI推出的一款高性能、超異構(gòu)的多核SoC,擁有ARM Cortex-R5F、ARM Cortex-A72、C66以及C71內(nèi)核,可以部署AUTOSAR CP系統(tǒng)、HLOS(Linux或QNX)、圖像處理以及深度學(xué)習(xí)等功能模塊,從硬件架構(gòu)來看可以分為MAIN域、MCU域和WKUP域(DMSC)。
MAIN域包括2個(gè)A72核,4個(gè)R5F核,2個(gè)C66核和1個(gè)C71核,環(huán)境感知,傳感器融合,智能駕駛算法,深度學(xué)習(xí)等會部署到MAIN域,也就是智能駕駛的主要功能邏輯會部署到MCU域。
從一個(gè)Soc的初始化流程來看,前兩步是面向硬件的,但具體流程也與設(shè)備的系統(tǒng)配置(Boot Mode)管腳的設(shè)置有關(guān)。具體的初始化流程如下:
Pre-initialization:電源、時(shí)鐘、一些控制連接和啟動配置管腳必須保持在所需的邏輯電平;
Power,clock,reset ramp sequence:根據(jù)電源管理芯片(PMIC)指定的時(shí)序(Soc 啟動時(shí)序)配置Power、Clock、Reset ramp Sequence;
ROM Code:兩個(gè)ROM Code同時(shí)執(zhí)行(DMSC ROM & MCU R5 ROM),從指定存儲空間尋找、下載、執(zhí)行外部第一個(gè)程序(SPL/SBL);
Initial software(SPL or SBL):加載、準(zhǔn)備并將控制權(quán)傳遞給應(yīng)用程序軟件或高級操作系統(tǒng)(HLOS)的軟件; High Level OperatingSystem(HLOS) or App:在主處理器運(yùn)行操作系統(tǒng)或軟件應(yīng)用。 Jacinto7Soc屬于多核處理器擁有Cortex A72、C66x、C7x、Main Cortex R5F、MCU R5F等。
通常A72上運(yùn)行HLOS(Linux/QNX),其余核運(yùn)行RTOS,MCU可以支持AUTOSAR。除了MCU R5F是啟動控制器,會首先啟動并控制啟動的流程。其余各個(gè)核的Power和Reset都可以獨(dú)立控制。依據(jù)應(yīng)用的不同需求可以靈活調(diào)整各個(gè)核的啟動順序,且當(dāng)前Jacinto7支持SPL和SBL兩種不同的bootloader。
SBL啟動流程
SBL(Secondary bootloader)是TI寫的非常精簡的Bootloader,可以實(shí)現(xiàn)對外圍設(shè)備進(jìn)行配置,比如DDR,可以加載并啟動其它核。為了滿足快速啟動MCU執(zhí)行相關(guān)的應(yīng)用,MCU可以先啟動,然后使用BOOT APP進(jìn)而引導(dǎo)其它應(yīng)用程序。在SBL啟動流程中,SBL可以直接加載Linux內(nèi)核和DTB。其流程如下圖所示:
1. 系統(tǒng)上電
2. Soc PORZ
3. DMSC&MCU BIST(可選)
4. DMSC ROM 開始執(zhí)行
5. MCU R5 ROM 開始執(zhí)行
6. MCU R5 ROM 加載并運(yùn)行SBL
7. MCU R5 SBL(tiboot3.bin)加載SYSFW
8. DMSC 認(rèn)證并啟動SYSFW
9. MCU R5 SBL 加載MCU Boot App, 運(yùn)行Sciclient Server。
10. MCU R5 Boot App 分別加載Main R5F、DSP、ATF、DTB、Kernel Image/U-boot
11. Main R5F 0 開始運(yùn)行
12. Main R5F 1 開始運(yùn)行
13. C66x、C7x 開始運(yùn)行
14. ATF 開始運(yùn)行
15. Kernel Image開始執(zhí)行,然后掛載文件系統(tǒng)運(yùn)行到Linux控制臺
16. 運(yùn)行應(yīng)用程序
SPL啟動流程
這是SDK默認(rèn)的啟動流程。SPL(SecondaryProgram Loader)指的是運(yùn)行MCU R5上的SPL,意為第二級的Bootloader,它的功能主要是硬件初始化,引導(dǎo)下一級的Bootloader核或加載應(yīng)用程序并運(yùn)行。第一級的Bootloader,指ROM里面的程序,根據(jù)啟動方式的選擇,引導(dǎo)并加載SPL,然后跳轉(zhuǎn)到第二級的Bootloader,Jacinto7 Soc里面的執(zhí)行流程如x下圖所示:
系統(tǒng)上電
Soc PORZ
DMSC&MCU BIST(可選)
DMSC ROM開始執(zhí)行
MCU R5 ROM開始執(zhí)行
MCU R5 ROM加載并運(yùn)行SPL(tiboot3.bin)
MCU R5 SPL加載SYSFW(tifs.bin)
DMSC 認(rèn)證并啟動SYSFW
SPL(tiboot3.bin)在A72上引導(dǎo)tispl.bin(這是uboot之前A72上的第一階段引導(dǎo)加載程序)
tispl.bin在A72上引導(dǎo)uboot.img并啟動Uboot
A72 Uboot加載MCU1_0 Image并執(zhí)行
A72 Uboot加載R5F 0 Image并執(zhí)行
A72 Uboot加載 R5F 1 Image并執(zhí)行
A72 Uboot 加載 C66x 和C7x Image并執(zhí)行
A72 Uboot 加載Kernel Image并執(zhí)行,然后掛載文件系統(tǒng)運(yùn)行到Linux控制臺
運(yùn)行應(yīng)用程序
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2552文章
51353瀏覽量
755609 -
圖像處理
+關(guān)注
關(guān)注
27文章
1299瀏覽量
56833 -
智能駕駛
+關(guān)注
關(guān)注
3文章
2572瀏覽量
48845 -
spl
+關(guān)注
關(guān)注
0文章
20瀏覽量
16345 -
SBL
+關(guān)注
關(guān)注
0文章
4瀏覽量
8333
原文標(biāo)題:TDA4 SPL SBL啟動流程
文章出處:【微信號:eng2mot,微信公眾號:汽車ECU開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論