新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 達(dá)芬奇數(shù)字媒體片上系統(tǒng)的架構(gòu)和Linux啟動過程

達(dá)芬奇數(shù)字媒體片上系統(tǒng)的架構(gòu)和Linux啟動過程

作者: 時間:2012-04-19 來源:網(wǎng)絡(luò) 收藏

完成以上步驟之后,U-boot準(zhǔn)備引導(dǎo)ARM

(1)配置的內(nèi)存(通過ATAG_ MEM塊和mem=)NAND Flash和DDR2。

(2)通過TFTP加載等加載方式,加載內(nèi)核到指定的存儲地址。

(3)如果定義過,加載RAM Disk。

(4)初始化傳遞到內(nèi)核的引導(dǎo)參數(shù)(EMAC地址,串口,控制臺,視頻格式等)

(5)獲得ARM 機(jī)類型值(DVEVM為#901)。

(6)設(shè)置kernel tagged list。

(7)用初始值設(shè)置ARM的寄存器。

(8)調(diào)用內(nèi)核。

> 初始化步驟

(1)Linux內(nèi)核需要從引導(dǎo)加載程序(U-boot)中得到以下參數(shù)。

* 已經(jīng)初始化的memory

* R0=0;R1為ARM Linux機(jī)類型值。

* R2指向ATAG結(jié)構(gòu)體的內(nèi)容:①物理memory區(qū);②是否使用RAM DISK及其壓縮版的地址;③視頻驅(qū)動程序具體的初始化參數(shù);④內(nèi)核命令行;⑤其他參數(shù)(串口和版本號)。

更多關(guān)于Linux內(nèi)核引導(dǎo)參數(shù)的信息可以參考Linux/Documentation/kernel-parameters.txt。如果要想傳遞給內(nèi)核更多的參數(shù),再u-boot中的bootargs中設(shè)置就可以了。

(2)對于壓縮的內(nèi)核(aka uImage),Linux 最初Linux/arch/kernel/head.s。

(3)start_kernel()運(yùn)行。位于Linux/init/main.c。

(4)Linux的第一個進(jìn)程init()運(yùn)行。

總結(jié)

經(jīng)過上面介紹,很多DSP工程師可能會對DMSoC及Linux流程有一個感性的認(rèn)識,雙核DMSoC帶給我們的是一加一大于二的性價比,要想了解更多的細(xì)節(jié),請參考數(shù)據(jù)手冊和應(yīng)用文檔。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關(guān)文章:linux教程



上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉