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