1. 程式人生 > >linux系統移植到tiny6410(簡易過程)

linux系統移植到tiny6410(簡易過程)

今天學習了linux移植到開發板的,跟大家分享一下

首先搭建linux環境有三個步驟,編譯引導(bootloader),編譯和移植核心,編譯和移植根檔案系統,話不多說,馬上開始實驗。

開發環境;ubuntu10.4+win7

開發板:tiny6410

準備工具:minicom      minitools      SD-Flasher

注:下面用的工具資料我會上傳在空間上

一,編譯boolloder(下面用U—boot為例子)

1,首先準備一張SD卡,用讀卡器插入電腦,此時環境為WIN7,由於我是在linux環境下寫部落格的,我就在這裡借用了tiny6410所自帶的資料作為參考

軟體我會上傳在我的空間上,上面的畫面正是我開啟之後的,為什麼我要在燒寫引導之前繞一個彎呢,那是因為我想利用友善所提供的superloder把我要編寫的引導寫進開發板的Nandflash裡面,切記,我的系統是燒寫在Nanflash裡的,而不是SD卡,這點要記住。

接下來,看到開啟軟體後的第一行路徑是,友善提供的superloder的位置,第二框呢,是你記憶體卡,第三個是提示資訊。操作步驟如下

1,找到引導檔案的路徑superloder

2,scan,就把記憶體卡載入,當然,如果在框內有看到記憶體卡的身影,當然不用咯

3,記憶體卡在寫入之前最好格式化一下 下面有個reformat的按鍵,之後就按reLayout進行分割槽,分割槽幹嘛用呢,當然是把引導寫進去啦

4,分好區之後,再次點scan輝發現第二方框的avaliable下輝變成Yes,第三個方框會顯示成功的資訊

5,之後在sd卡下建立一個images檔案,把一個FrinedyArm.ini檔案拷在該目錄下,並在最後一行加上USB-Mode = yes,儲存退出。

6.  這樣我們就製作好SD卡的啟動啦

終於進入燒寫u-boot的時候啦,利用minitools工具把引導燒進nandflash裡面去。

關機(筆者是雙系統的),重啟到linux下,在Minitools目錄下啟動,把開發板連線到電腦,把SD卡放入開發板中,撥動開關從SD卡中啟動,連線好串列埠線和USB線

開啟兩個終端,一個開啟minicom檢視開發板情況。第二個就用來本機操作,這個因人而異


按照上面的所指示的設定,所找的檔案是我編譯好的u-boot。具體操作我將會在下一篇部落格發表,大家敬請期待,當然檔案的位置是因人而異的,設定好之後就點選啟動,把開發板的開關撥到Nandflash啟動,


可以看到右邊出現了u-boot的選單,每一個選項的清晰明瞭,當然在這之前有個倒計時,請在3秒之內按下任意鍵,不然U-boot會直接載入,結果當然是什麼都沒有類,寫好u-boot之後呢,我們就得燒寫核心了

二,編譯和移植核心

在進行編譯之前,我們先進行下載一個頭檔案usb.h,之後的執行程式要需要這個標頭檔案

#sudo apt-get install libusb-dev

進行編譯核心之前,我們呼叫一個可執行檔案dnew2,這個檔案的作用是載入編譯核心用的,如果大家有興趣這個程式的功能,我可以把它的原始碼貼上來

廢話不說,核心的編譯我也會在下一篇部落格說,這裡只說過程。

最後會生成一個zImage的一個映象檔案。

接下來說怎麼移植的問題

首先確保該目錄下有,dnew2,zImage,

#sudo ./dnew  zImage 0

dnew這個檔案的用法跟大家說一下,第一個是執行的引數,第二個就是要移植的檔案,第三個三地址,因為開發板上指定了地址,所以在這裡我就用0來代替

大家仔細看圖,結合上面的兩張圖,在左邊執行命令之前,按下“k”等待燒入核心,然後再按下右邊終端的命令,之後就能成功執行了


之後拔下usb線,在u-boot的選單中選b直接載入核心,細心的朋友會發現到最後會發現提示找不出檔案目錄,那是因為我們還沒有移植檔案系統。還有大家在執行命令之前,如果出錯,問題有可能是許可權的問題,大家可要注意了

三,移植檔案系統。

檔案系統是我之前就編譯好的,具體還是那一句,下一篇部落格解釋,因為時間也不是很多,都比較忙。就來講講步驟哦

檔案系統我編譯root_ubifs型別的,在u-boot的選單下我選擇'u',還是同樣道理,先選擇後執行命令


執行的結果


之後拔下usb線,按b,可以這麼說,當你燒寫完一個核心或者根檔案系統之後,載入都需要,拔下usb線,因為我們是通過usb線燒寫的,如果不拔出來,會失敗的

之後就可以在開發板上運行了,記得如果卡住就重啟哦