達芬奇數字媒體片上系統的架構和Linux啟動過程
關于達芬奇DMSoC的復位類型、觸發源及對應的復位對象請參考表2。
表2 DMSoC的復位類型。
達芬奇DMSoC初始化流程
> 達芬奇DMSoC復位狀態
DM644x 上電復位后,芯片的絕大部分模塊都處于不工作狀態。鎖相環PLL處于旁路(Bypass)模式;DSP子系統的狀態取決于DSP_BT引腳;UART1和 UART2也處于不工作狀態,UART0的狀態取決于BTSEL引腳(如果BTSEL=11,UART0工作);EMIFA處于工作狀態,其數據總線寬度由EM_WIDTH決定,地址總線寬度由AEAW決定;芯片的大部分引腳都被配置為GPIO引腳。引腳復用通過寄存器PINMUX0和PINMUX1控制。
> 達芬奇DMSoC初始化順序
(1)DMSoC復位。芯片的配置由PSC決定,取決于BTSEL[0-3]、EM_WIDTH、AEWA和DSP_BT的狀態。
(2)ROM boot loader(如果被選)。NAND或者UART0的初始化。
(3)引導加載(Boot-loading)。以U-boot為例,①使能電源域:DDR2和DSP;②設置時鐘頻率(ARM、DSP和DDR2時鐘的乘除系數);③設置引腳復用控制器;④設置ARM引導啟動操作系統。
(4)操作系統啟動。以Linux為例,①初始化ARM;②初始化硬件系統;③初始化Linux環境。
> U-boot初始化順序
通常情況下,ARM Linux要求boot loader中有少許的初始化。目前TI的DVEVM使用的是U-boot-1.1.3。U-boot代碼中首先運行的是u- boot/cpu/arm926ejs/start.S,芯片和一些DVEVM板的硬件配置主要在u- boot/board/davinci/platform.S和davinci.c中完成。其中u- boot/board/davinci/platform.S設置最基本的系統硬件環境,包括系統PLL及DDR2的初始化、PSC的配置及使能 UART0、AEMIF等硬件模塊。有些工程師設計的達芬奇板可能用到了和DVEVM不同的Flash,那么就要根據用到的Flash參數修改u- boot/board/davinci/flash.c。另外,關于DM644x支持的NAND Flash ID,請參考TMS320DM644x DMSoC的相關文檔。
以NOR Flash boot為例,DVEVM u-boot初始化下列的達芬奇DMSoC內容:
(1)關中斷和MMU。
(2)使能DSP電源域(PTCMD),把DSP置為復位狀態。
(3)初始化PLL,使能DDR2,軟復位DDR2并且重新使能DDR2,使其脫離復位狀態。
(4)初始化系統PLL。
(5)配置AEMIF引腳為NOR Flash接口。
(6)VTP校準。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)linux相關文章:linux教程
評論