內核燒寫雜記

在linux內核移植過程中,需要將linux內核燒寫到開發板上。

 

基本的步驟是:

1、將bootloader通過J-TAG燒寫到開發板上,而一般bootloader與硬件密切相關,硬件廠商都會提供這樣的板級支持包。

不同的bootloader會提供不同的bootloader命令,一般都是可以通過help進行查看的。

 

2、將linux內核通過tftp傳輸到RAM中,注意在宿主機-開發板的開發環境中,PC主機充當的是tftp的服務器,因爲linux內核是通過PC機下載到板子上的,所以開發板充當的是tftp的客戶端。爲了建立tftp協議的連接,一般都是設定主機的IP地址和開發板的IP地址處於同一個網段,開發板的IP地址一般都是可以通過bootloader命令完成的。

 

例如:tftp的傳輸命令:tftp zImage。然後就開始下載了。

其實原理是這樣的:寫入tftp命令後,相當於開發板向tftp服務器軟件(安裝在PC端)發送了tftp請求,tftp服務器做出迴應後,就把數據下載到開發板上。這一過程中,首先是把下載的鏡像文件放在了RAM,也就是內存中,爲了能夠下次啓動kernel而不必再次下載,就需要將鏡像文件燒寫到永久的存儲器,比如NandFlash,這樣下次啓動的時候就可以從NandFlash中讀取鏡像文件到內存中了。一般bootloader會提供像nandwrite這樣的命令,用於燒寫到flash中,一般要求參數爲鏡像文件在內存中的起始地址、燒寫到Flash中的起始地址、實際的文件大小(這個一般在下載到內存後,會顯示出來的)。

 

3、在Android內核移植中,還需要將其他的一些文件系統鏡像下載到開發板上,如根文件系統(rootfs)、系統文件系統(system)。使用的方法和燒寫內核的過程是基本一樣的。

 

燒寫過程中,一般會用到的軟件有:

tftp服務器軟件、終端軟件、J-TAG軟件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章