基於Linux與lpc3250開發板的交叉開發環境搭建

###1、Bootloader的安裝(在windows下進行)linux

一、什麼是Bootloader:編程

要想弄明白什麼是Bootloader,咱們先從PC上的bootloader提及。PC上的BIOS和硬盤上的引導記錄有着和嵌入式開發板中的bootloader相似的做用。PC的Bootloader由BIOS和MBR組成,BIOS固化在主板的一個芯片上,MBR則是硬盤的主引導扇區的縮寫。PC啓動後,首先執行BIOS的啓動程序,根據用戶的COMS設置,BOIS加載硬盤MBR的啓動數據,並把系統的控制權交給保存在MBR中的OS Loader(如grub),最後再由OS Loader將控制權交給OS內核。windows

瞭解了什麼是PC中的Bootloader,咱們再來看什麼是嵌入式系統中的Bootloader。嵌入式系統中沒有與BIOS相似的芯片,這就須要開發人員本身設計Boootloader。不過,咱們沒必要從零開始寫這些代碼,已經有公司和組織爲大多數嵌入式系統寫好了Bootloader。安全

二、lpc3250的Bootloader組成:bash

  • kickstart:位於Flash的Block0,負責加載從Flash Block1開始的程序,這裏只的是S1L。開發板上電後,kickstart被內部的IROM加載並執行。IROM只能加載Block1之內的映像,而kickstart被加載後將被容許加載從Flash Block1開始的多個Block的映像文件。因此,kickstart上電後,kickstart加載S1L,也能夠直接加載放在Block1的應用程序。
  • S1L:對芯片和板子進行初始化,並提供一個用於應用程序開發和執行控制的監控程序。其經常使用功能以下: @擦寫nandFlash @串口下載,SD卡下載 @設置CPU頻率 @設置從SD卡,NandFlash啓動 @加載引導Eboot
  • Eboot:設置內核在NandFlash中的位置,內核複製到RAM的位置,以及內核的大小;網絡下載
  • Uboot:操做系統引導。Uboot的具體分析留到之後再說。

三、安裝步驟:服務器

  • 因爲筆記本不帶串口,因此第一步是找個usb串口鏈接線,並安裝好驅動。
  • 將開發板的電源線鏈接好,而後鏈接開發板串口與PC上的usb串口。
  • 利用開發板所帶光盤中的smartARM3250_boot.exe安裝kickstart和S1L:進入到光盤中smartARM3250_boot.exe所在的目錄,確保kickstart.bin和stage1.bin也在該目錄下。運行smartARM3250_boot.exe。首先選擇好串口,個人是com3。若是你不知道你的串口是多少的話,能夠在右鍵單擊個人電腦——》管理——》設備管理器。查看到本身的串口位置後,點擊打開串口。點擊裝載Bootloader,軟件會提示你短接jp6,點擊肯定,短接jp6後reset開發板,過幾秒鐘便提示裝載成功。這兒的bootloader不是咱們上面所講的bootloader,它指的是bootloader.bin,咱們

執行了上面過程後,smartARM3250_boot.exe就將bootloader.bin拷貝到開發板執行,其實咱們能夠把bootloader理解成smartARM3250_boot.exe的客戶端軟件。網絡

裝載bootloader.bin後,咱們下來就正式安裝kickstart了。在右下腳的Flash擦出中選擇編程NandFlash, 塊地址設爲0,點擊選擇文件,選擇kickstart.bin。點擊編程。這樣咱們就把kickstart.bin裝載到了NandFlash的Block0。用一樣的方法咱們能夠裝載S1L,只是要將塊地址改成1。socket

  • 安裝U-boot或Eboot:

a. 打開windows的超級終端,配置好參數後鏈接。reset開發板,進入到SmartArm3250的工做臺,將光盤中的u-boot.bin或eboot.nb0拷貝到一張SD卡上,而後將SD卡插入到開發板的SD插槽中,在超級終端中輸入命令:load blk u-boot.bin(eboot.nb0) raw 0x83fc0000,將u-boot.bin或eboot.nb0加載到SDRAM中。 b. 在超級終端中敲入命令:nsave。將u-boot.bin(eboot.nb0)寫入到NANDFlash。 c. 最後輸入命令:aboot flash raw 0x83fc0000,設置從NANDFlash啓動U-boot(Eboot)。工具

###2、Linux系統(Ubuntu)下所須要的軟件的安裝步驟:開發工具

一、交叉工具鏈的安裝:

a、什麼是交叉工具鏈:在PC機上開發嵌入式軟件所須要的編譯器、make等工具的集合。

b、安裝步驟:

  • 將光盤中的tc-nxp-lnx-armvfp-4.3.2-1.i386.rpm拷貝到PC機的桌面。

  • 打開終端,輸入sudo rpm --force-debian -ivh tc-nxp-lnx-armvfp-4.3.2.1-1.i386.rpm命令。

  • 執行上述命令後,就將交叉工具鏈安裝到/opt/nxp目錄中了,如今咱們將安裝路徑加入到PATH變量中去。在終端中輸入命令:

    gedit ~/.bashrc

在打開的.bashrc文件的末尾添加以下語句:

export PATH="$PATH:/$HOME/bin:/opt/nxp/gcc-4.3.2-glibc-2.7/bin"

保存關閉,註銷當前用戶,從新登陸

  • 檢測是否安裝好交叉工具鏈:在終端中輸入arm-vfp-linux-gnu-並按TAB鍵,若是能看到不少arm-vfp-linux-gnu-爲前綴的命令,則說明交叉開發工具鏈已經安裝好了。

二、NFS服務器的安裝:

(NFS的詳細介紹請參考NFS)

a、NFS的功能:

NFS是網絡文件系統的縮寫,它的功能是把NFS服務器(即Linux主機)的某個目錄掛載到開發板的文件系統上(開發板上Linux系統的安裝咱們在後面會講到),這樣,開發板就能夠執行該目錄中的可執行程序。這樣作的優勢在於,不用將程序寫入開發板的Flash,減小了對Flash的損害。

b、NFS的安裝:

在Ubuntu下的安裝很easy: sudo apt-get install nfs-sever

三、TFTP服務器的安裝:

a、什麼是tptp:TFTP是遠程文件傳輸協議的縮寫,其做用是將主機中設定目錄下的文件拷貝到開發板的文件系統中,它與NFS的區別顯而意見。

b、安裝:仍是很easy:sudo apt-get install tftp-hpa tftpd-hpa xinetd。第一個是客戶端程序,第二個是服務器端程序,第三個是守護進程。

c、Ubuntu系統在安裝完成後自動啓動tftp服務,也能夠經過命令:

sudo service xinetd start或restart命令啓動。

d、而後進入xinetd.d文件夾(cd /etc/xinetd.d),查看是否有一個tftp文件,若是沒有就新建一個,若是有的話就查看內容是否與下面的一致,不一致則修改,內容以下:

service tftp  
{  
    socket_type = dgram  
    wait = yes  
    disable = no  
    user = root  
    protocol = udp  
    server = /usr/sbin/in.tftpd  
    server_args = -s /home/tftpboot  
    log_on_success += PID HOST DURATION  
    log_on_failure += HOST  
}

e、而後保存關閉。輸入命令:sudo /etc/init.d/xinetd restart重啓服務。

TFTP的使用咱們到後面在介紹。

四、minicom的安裝和配置:

a、minicom的功能:就四個字,超級終端

b、安裝:sudo apt-get install minicom

c、配置:在終端輸入:sudo minicom -s選擇串口設置,串口設備設爲/dev/ttyUSB0(也許你的不同,能夠在dev目錄下查看),波特率設爲115200,硬件流和軟件流控制都設爲No。回車退回到剛進入時的界面,選擇save setup as dfl。

###3、Linux內核,安全文件系統和根文件系統的安裝:

一、鏈接好串口線和網線。

二、插入光盤,將光盤中的uImage文件拷貝到/var/lib/tftpboot目錄下。

三、在主機終端中輸入:sudo chmod -R 777 /var/lib/tftpboot 命令來改變該目錄權限。(這個目錄是tftp服務器默認存放要傳輸文件的目錄)

四、打開另外一個終端,輸入命令:sudo minicom

五、reset開發板,這時終端就進入了U-boot的工做臺。

五、在工做臺中輸入命令:tftp 80008000 uImage將內核鏡像文件拷貝到開發板內存中。

六、在工做臺中輸入命令:nand write.jffs2 0x80008000 0x00200000 $(filesize)將鏡像文件從內存中拷貝到NANDFlash相應的位置。

七、在工做臺中輸入命令:setenv kernelsize $(filesize) 設置內核大小爲鏡像文件大小。

八、在工做臺中輸入命令:saveenv 保存設置

九、安裝安全文件系統:

  • 將光盤中的safefs.cramfs文件放到/var/lib/tftpboot目錄下。

  • 在工做臺中輸入命令:

    tftp 80008000 safefs.cramfs nand erase clean 0x00600000 $(filesize)
    nand write.jffs2 0x80008000 0x00600000 $(filesize)

十、將光盤中的rootfs.tar.bz2文件和burn文件拷貝到一張SD卡上。

十一、將SD卡插入開發板插槽中,在工做臺輸入命令:run safemode。

十二、坐等燒寫完成,reset開發板。

相關文章
相關標籤/搜索