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

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

1.啟動文件head.S和head-common.S 

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

 

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

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

網友評論