###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
三、安裝步驟:服務器
執行了上面過程後,smartARM3250_boot.exe就將bootloader.bin拷貝到開發板執行,其實咱們能夠把bootloader理解成smartARM3250_boot.exe的客戶端軟件。網絡
裝載bootloader.bin後,咱們下來就正式安裝kickstart了。在右下腳的Flash擦出中選擇編程NandFlash, 塊地址設爲0,點擊選擇文件,選擇kickstart.bin。點擊編程。這樣咱們就把kickstart.bin裝載到了NandFlash的Block0。用一樣的方法咱們能夠裝載S1L,只是要將塊地址改成1。socket
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"
保存關閉,註銷當前用戶,從新登陸
二、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開發板。