Hi!大家好,我是CrazyCatJack。今天給大家?guī)淼氖荓inux內(nèi)核啟動(dòng)過程概述。希望能夠幫助大家更好的理解Linux內(nèi)核的啟動(dòng),并且創(chuàng)造出自己的內(nèi)核^_^

  Linux的啟動(dòng)代碼真的挺大,從匯編到C,從Makefile到LDS文件,需要理解的東西很多。畢竟Linux內(nèi)核是由很多人,花費(fèi)了巨大的時(shí)間和精力寫出來的。而且直到現(xiàn)在,這個(gè)世界上仍然有成千上萬的程序員在不斷完善Linux內(nèi)核的代碼。今天我們主要講解的是Linux-2.6.22.6這個(gè)內(nèi)核版本。說句實(shí)話,博主也不確定自己能夠講好今天這個(gè)題目,因?yàn)檫@個(gè)題目太大太難。但是博主有信心,將自己學(xué)會(huì)的內(nèi)容清楚地告訴大家,希望大家也能夠有所收獲。

1.啟動(dòng)文件head.S和head-common.S 

  首先,我們必須明確“我們?yōu)槭裁匆獑?dòng)Linux內(nèi)核”。沒錯(cuò),當(dāng)然是因?yàn)槲覀兿胍褂肔inux系統(tǒng),要明確我們的最終目的是使用Linux上的應(yīng)用程序。這些應(yīng)用程序可以是純軟件的,也可以是硬件相關(guān)的。博主是做嵌入式開發(fā)的,那么我想要的當(dāng)然就是用Linux內(nèi)核來更好的控制我的硬件。無論是做機(jī)器人、無人機(jī)或者其他智能硬件這都是必然趨勢(shì)。首先我們來看內(nèi)核的啟動(dòng)文件head.S。

 

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

    .section ".text.head", "ax"
    .type    stext, %function
ENTRY(stext)
    msr    cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
     
        
		

網(wǎng)友評(píng)論