嵌入式系統開發環境的建立_第1頁
嵌入式系統開發環境的建立_第2頁
嵌入式系統開發環境的建立_第3頁
嵌入式系統開發環境的建立_第4頁
嵌入式系統開發環境的建立_第5頁
已閱讀5頁,還剩89頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第5 5章嵌入式系統章嵌入式系統開發環境的建立開發環境的建立教材:嵌入式系統設計與應用教材:嵌入式系統設計與應用作者:張思民作者:張思民出版:清華大學出版社出版:清華大學出版社 5.1 建立主機開發環境建立主機開發環境 5.2 配置配置minicom 5.3 配置配置NFS服務服務 5.4 編譯嵌入式編譯嵌入式Linux系統內核系統內核 5.5文件系統的制作文件系統的制作 5.6嵌入式系統開發板的燒寫嵌入式系統開發板的燒寫第第5章章 嵌入式系統開發環境的建立嵌入式系統開發環境的建立5.1 5.1 建立主機開發環境建立主機開發環境 5.1建立主機開發環境建立主機開發環境 構建開發環境是任何開發

2、工作的基礎,構建開發環境是任何開發工作的基礎,同樣也是嵌入式系統開發的關鍵步驟。同樣也是嵌入式系統開發的關鍵步驟。1、交叉編譯、交叉編譯 所謂交叉編譯就是在一個平臺上生成所謂交叉編譯就是在一個平臺上生成可以在另一個平臺上執行的代碼??梢栽诹硪粋€平臺上執行的代碼。2、安裝開發環境步驟、安裝開發環境步驟(1) 安裝嵌入式系統開發交叉編譯器安裝嵌入式系統開發交叉編譯器armlinux 到到/usr/local 目錄下。目錄下。(開發商提供或網上下載)(開發商提供或網上下載)(2)修改配置文件修改配置文件/etc/profile,建立建立arm-linux-gcc的搜索路徑。的搜索路徑。(1) 安裝安

3、裝 arm-linux 在在/usr/local下安裝下安裝 arm-linux : 嵌入式系統開發交叉編譯器。這里嵌入式系統開發交叉編譯器。這里包含包含arm-linux-gcc, arm-linux-g+等等常用常用ARM交叉編譯器,編譯出來的可交叉編譯器,編譯出來的可執行二進制代碼只能運行在以執行二進制代碼只能運行在以ARM為為核心處理器上。核心處理器上。 通常由硬件開發商通常由硬件開發商提供或網上下載提供或網上下載例例5.1 配置配置PXA270宿主機的交宿主機的交叉編譯環境叉編譯環境 開發商提供的安排光盤中有二個文件包:開發商提供的安排光盤中有二個文件包: arm-linux.tar

4、.gz : 該文件包主要提供該文件包主要提供ARM系統開發的交叉編譯器;系統開發的交叉編譯器; pxa270_linux.tar.bz2 :該文件包主要提供:該文件包主要提供用于用于PXA270開發板的開發板的BootLoder、linux內內核、文件系統、核、文件系統、JTAG燒寫工具等。燒寫工具等。(1)將將arm-linux.tar.gz文件包復制到文件包復制到 /usr/local/ 目錄下,并解包:目錄下,并解包: cp arm-linux.tar.gz /usr/local cd /usr/local tar xzf arm-linux.tar.gz(2)再將再將 pxa270_l

5、inux.tar.bz2 文件文件包復制到根目錄下,并解包包復制到根目錄下,并解包: cp pxa270_linux.tar.bz2 / cd / tar xzf pxa270_linux.tar.bz2安裝完畢后,生成兩個子目錄安裝完畢后,生成兩個子目錄 (1) 在根目錄下生成在根目錄下生成pxa270_linux目錄:目錄: (2) 在在/usr/local下生成下生成arm-linux目錄:目錄:pxa270_linux :嵌入式系統開發工作目錄,存:嵌入式系統開發工作目錄,存放了放了PXA270 Blob,Linux工程文件,包括源代工程文件,包括源代碼以及交叉編譯好的鏡像文件;各種實

6、驗例程,碼以及交叉編譯好的鏡像文件;各種實驗例程,包括應用層程序與驅動層程序。包括應用層程序與驅動層程序。arm-linux :嵌入式系統開發交叉編譯器。:嵌入式系統開發交叉編譯器。這里包含這里包含arm-linux-gcc, arm-linux-g+等常等常用用ARM交叉編譯器,編譯出來的可執行二進制交叉編譯器,編譯出來的可執行二進制代碼只能運行在以代碼只能運行在以ARM為核心處理器上為核心處理器上 (2)修改修改profile 為了我們可以在所有目錄下直接使用為了我們可以在所有目錄下直接使用這個工具,我們需要修改文件:這個工具,我們需要修改文件: vi /etc/profile在其中加入語

7、句:在其中加入語句: pathmunge /usr/local/arm-linux/bin如下所示:如下所示: rootlocalhost root# vi /etc/profile # Path manipulation if id -u = 0 ; then pathmunge /sbin pathmunge /usr/sbin pathmunge /usr/local/sbin pathmunge /usr/local/arm-linux/bin pathmunge /usr/X11R6/bin fi unset pathmunge 當修改文件后,保存并退出終端。當修改文件后,保存并退出

8、終端。 rootlocalhost root# exit 重新登錄終端,或運行重新登錄終端,或運行source命令,命令,使我們的設置生效。使我們的設置生效。 rootlocalhost root# source /etc/profile 修改文件后,保存并退出終端。修改文件后,保存并退出終端。 重新登陸終端,測驗交叉編譯環境是否成重新登陸終端,測驗交叉編譯環境是否成功。功。arm-linux-gcc vrootlocalhost root# arm-linux-gcc -vReading specs from /usr/local/arm-linux/lib/gcc-lib/arm-linu

9、x/3.3.2/specsConfigured with: /tmp/build-preview-kit/for_toolchain/gcc-3.3.2/configure -target=arm-linux -host=i686-host_pc-linux-gnu -prefix=/usr/local/arm-linux -with-cpu=xscale -with-headers=/usr/local/arm-linux/arm-linux/include -disable-nls -enable-threads=posix -enable-symvers=gnu -enable-_cxa

10、_atexit -enable-languages=c,c+ -enable-shared -enable-c99 -enable-long-long -without-fpThread model: posixgcc version 3.3.2 5.2 配置配置minicom配置配置minicom窗口窗口 宿主機與開發板通過串口連接后,在宿主機與開發板通過串口連接后,在宿主機端需要通過宿主機端需要通過minicom窗口控制窗口控制嵌入式系統開發板的運行。嵌入式系統開發板的運行。 配置步驟:配置步驟:1、用串口線正確連接宿主機與開發板、用串口線正確連接宿主機與開發板2、配置、配置minicom

11、窗口的各項參數窗口的各項參數1、用串口線連接宿主機與開發板、用串口線連接宿主機與開發板宿主機通過串口與開發板連接宿主機通過串口與開發板連接2、配置、配置minicom的各項參數的各項參數在宿主機在宿主機Linux終端中輸入:終端中輸入:或輸入:或輸入:minicom ,然后再按,然后再按CTRL-A-O 。minicom s彈出彈出minicom設置選項菜單設置選項菜單串口設置串口設置 選擇選擇Serial port setup,確定串口,確定串口,如果使用第如果使用第1個串口,則設置串口號為:個串口,則設置串口號為:ttyS0,如果使用第,如果使用第2個串口,則將串口個串口,則將串口號設為號

12、設為ttyS1。將串口配置將串口配置為:波特率為:波特率115200,8位數據位,位數據位,1位停止位,位停止位,沒有流控。沒有流控。 選擇選擇Save setup as dfl,將設置保存為默認值。將設置保存為默認值。 5.3 配置配置NFS服務服務NFS服務服務 NFS(Network File System)類似)類似于于windows中的文件共享服務。中的文件共享服務。 在在NFS服務中,主機是被掛載服務中,主機是被掛載(mount)端,為遠端客戶機提供可)端,為遠端客戶機提供可以訪問的共享文件。以訪問的共享文件。 主機需要配置兩方面內容:主機需要配置兩方面內容:設置設置NFS服務,允

13、許服務,允許“指定的指定的NFS用戶用戶”使用。使用。開發板與主機連接好網線開發板與主機連接好網線1、設置、設置NFS服務服務打開打開NFS服務服務命令:命令: setup彈出系統設置彈出系統設置選項菜單選項菜單選擇選擇System services,將,將nfs一項選中一項選中(出現(出現*表示選中)表示選中) 2、指定、指定NFS服務的用戶服務的用戶在文件在文件“exports”中指定中指定NFS服務的用戶:服務的用戶: 使用使用vi,在配置文件,在配置文件exports中加入:中加入: 其中其中“/linux_nfs”是共享文件目錄。是共享文件目錄。 然后按然后按 后輸入后輸入“ : ”

14、, 再輸入再輸入“wq ”,然后回車,然后回車,存儲退出。存儲退出。 /linux_nfs *(rw)重啟重啟NFS服務服務重新啟動重新啟動nfs服務,使設置生效:服務,使設置生效: /etc/rc.d/init.d/nfs restart3、在客戶機端掛接共享目錄、在客戶機端掛接共享目錄 現在還需要將宿主機現在還需要將宿主機NFS服務提供的服務提供的共享目錄掛接到嵌入式系統開發板上。共享目錄掛接到嵌入式系統開發板上。我們利用我們利用minicom作為被開發目標板作為被開發目標板的終端。的終端。(1)進入)進入minicom終端界面終端界面 用串口線連接宿主機和開發板,并在用串口線連接宿主機和

15、開發板,并在宿主機的終端進入到宿主機的終端進入到minicom界面。界面。 rootlocalhost root# minicom 打開設備電源,這時,可以所觀打開設備電源,這時,可以所觀察到的是開發板上所運行的嵌入察到的是開發板上所運行的嵌入式式Linux系統的啟動過程。系統的啟動過程。 (2)設置開發板的)設置開發板的IP地址:地址: 通過通過minicom終端界面,我們可以設置開終端界面,我們可以設置開發板的發板的IP地址地址6 : . # ifconfig etho 6(3)掛載共享目錄)掛載共享目錄 將宿主機將宿主機NFS服務共享的目錄服務

16、共享的目錄/linux_nfs掛載到開發板的掛載到開發板的 /mnt目錄下目錄下(假設宿主機的(假設宿主機的IP地址為地址為) : rootlinux /# mount o soft, timeo=100, rsize=1024 :/linux_nfs /mnt也可以使用下列方法掛接:也可以使用下列方法掛接:rootlinux /# mount t nfs :/linux_nfs /mnt 或:或: rootlinux /# mount rw :/linux_nfs /mnt經過上面的設置,就可以在嵌入式系

17、統的開發板上使用宿經過上面的設置,就可以在嵌入式系統的開發板上使用宿主機主機NFS服務提供的共享目錄了。在嵌入式系統開發板服務提供的共享目錄了。在嵌入式系統開發板/mnt目錄下的文件就是宿主機目錄下的文件就是宿主機 /linux_nfs 目錄下的文件。目錄下的文件。 5.4 編譯嵌入式編譯嵌入式Linux內核內核5.4 編譯嵌入式編譯嵌入式Linux內核內核 編譯內核需要三個步驟,分別是:編譯內核需要三個步驟,分別是: 1、內核配置、內核配置、 2、建立依存關系、建立依存關系、 3、建立內核。、建立內核。5.4.1 內核裁剪配置內核裁剪配置 1、確定處理器類型、確定處理器類型 Linux內核源

18、代碼支持內核源代碼支持20多種微處理器類多種微處理器類型,在編譯之前要先確定微處理器類型。型,在編譯之前要先確定微處理器類型。 在在ARM系統文件的根目錄中的系統文件的根目錄中的Makefile里,為里,為“ARCH”設定目標板微處理器的類型值,如:設定目標板微處理器的類型值,如:ARCH:= arm或輸入命令手工進行設置:或輸入命令手工進行設置: rootlocalhost linux# exprot ARCH=arm 5.4.1 內核裁剪配置內核裁剪配置 2、確定配置方法、確定配置方法 內核支持內核支持 4種不同的配置方法,每種方法是讀取一個根目種不同的配置方法,每種方法是讀取一個根目錄下

19、隱藏的配置文件錄下隱藏的配置文件 “ .config ” 。這。這 4 種方式如下。種方式如下。 make config:基于文本的最為傳統的配置界面,不推薦:基于文本的最為傳統的配置界面,不推薦使用。使用。 make menuconfig:基于文本選單的配置界面,字符終:基于文本選單的配置界面,字符終端下推薦使用。端下推薦使用。 make xconfig:基于圖形窗口模式的配置界面,:基于圖形窗口模式的配置界面,Xwindow 下推薦使用。下推薦使用。 make oldconfig:自動讀入:自動讀入“.config”配置文件,并配置文件,并且只要求用戶設定前次沒有設定過的選項。且只要求用戶

20、設定前次沒有設定過的選項。 使用廣泛使用廣泛【例】以【例】以 make menuconfig 為例進為例進行行S3C2410系統的內裁剪核配置。系統的內裁剪核配置。 運行運行make menuconfig命令命令 # make menuconfig 彈出內核裁剪配置窗口彈出內核裁剪配置窗口 從該圖中可以看出,從該圖中可以看出,Linux 內核允許用戶內核允許用戶對其各類功能逐項配置,共有對其各類功能逐項配置,共有19類配置選類配置選項,這項,這19類配置選項見表類配置選項見表5.2。 在在menuconfig 的配置界面中是純鍵盤的的配置界面中是純鍵盤的操作,用戶可使用上下鍵和操作,用戶可使用

21、上下鍵和“Tab”鍵移動鍵移動光標以進入相關子項,圖光標以進入相關子項,圖 5.10 所示為進入所示為進入了了“System Type -”子項的界面,該子子項的界面,該子項是一個重要的選項,主要用來選擇處理項是一個重要的選項,主要用來選擇處理器的類型。這里,帶有器的類型。這里,帶有“-”的選項表示的選項表示當前項還有下一級菜單子項。當前項還有下一級菜單子項。圖圖5.10 “System Type -”子項的界面子項的界面 每一個選項前都有個括號,可以通過按空格鍵或每一個選項前都有個括號,可以通過按空格鍵或“Y”鍵表鍵表示包含該選項,按示包含該選項,按“N”表示不包含該選項。表示不包含該選項。

22、 在每一個選項前面都有括號。這里的括號有在每一個選項前面都有括號。這里的括號有 3 種,即中括種,即中括號、尖括號或圓括號。號、尖括號或圓括號。 “ ”表示該選項有兩種選擇:表示該選項有兩種選擇: * 選擇該項編譯進內核;選擇該項編譯進內核; 不編譯該選項。不編譯該選項。 “”表示該選項有三種選擇:表示該選項有三種選擇: 將該項選進內核;將該項選進內核; 將該項編譯成模塊,但不編譯進內核;將該項編譯成模塊,但不編譯進內核; 不編譯該選項。不編譯該選項。 我們可以用空格鍵選擇相應的選項。我們可以用空格鍵選擇相應的選項。 在完成配置之后,就可以保存退出,如圖 所示。5.4.2內核編譯內核編譯 1、

23、建立依賴關系、建立依賴關系 由于內核源碼樹中的大多數文件都與一些頭文由于內核源碼樹中的大多數文件都與一些頭文件有依賴關系,因此要順利建立內核,內核源碼件有依賴關系,因此要順利建立內核,內核源碼目錄中的每個目錄中的每個 Makefile 就必須知道這些依賴關系。就必須知道這些依賴關系。建立依賴關系往往發生在第一次編譯內核的時候,建立依賴關系往往發生在第一次編譯內核的時候,它會在內核源碼目錄中每個子目錄產生一個它會在內核源碼目錄中每個子目錄產生一個“.depend”文件。文件。 # make dep 5.4.2內核編譯內核編譯 2、建立內核映像文件、建立內核映像文件 建立內核映像可以使用建立內核映

24、像可以使用“make zImage”或或“make bzImage”,建立壓縮內核映像文件。,建立壓縮內核映像文件。壓壓縮縮的內核的內核映映像像通通常常名為名為 zImage,位位于于“arch/$(ARCH)/boot”目錄目錄中。中。 # make zImage # ls arch/arm/boot/ Image install.sh Makefile zImage生成的內核映生成的內核映像文件像文件 5.55.5文件系統的制作文件系統的制作 文件系統文件系統 文件系統是嵌入式文件系統是嵌入式Linux系統必備的系統必備的一個組成部分,是系統文件和應用文一個組成部分,是系統文件和應用文件存

25、儲的地方。件存儲的地方。 1、文件目錄、文件目錄 /bin目錄下需要包含常用的用戶命令,如目錄下需要包含常用的用戶命令,如sh等。等。 /sbin目錄要包含所有系統命令,如目錄要包含所有系統命令,如reboot等等 。 /etc目錄下是系統配置文件。目錄下是系統配置文件。 /boot目錄下是內核映像目錄下是內核映像 /dev目錄含有系統所有的特殊設備文件目錄含有系統所有的特殊設備文件 /lib目錄包含系統所有的庫文件目錄包含系統所有的庫文件 /mnt目錄只用于掛接,可以是空目錄目錄只用于掛接,可以是空目錄 /proc目錄是目錄是/proc文件系統的主目錄,包含了系統文件系統的主目錄,包含了系統

26、 的啟動信息的啟動信息 /usr目錄含有用戶選取的命令。目錄含有用戶選取的命令。2、上述目錄還包含適當的、上述目錄還包含適當的文件和子目錄文件和子目錄 (1)目錄)目錄 /bin bin 中包含命令文件:中包含命令文件:date、sh、login、mount、umount、cp、ls、ftp、ping。 (2)目錄)目錄 /sbin sbin包含命令文件包含命令文件mingetty、reboot、halt、sulogin、update、init、fsck、telinit和和mkfs。 2、上述目錄還包含適當的、上述目錄還包含適當的文件和子目錄文件和子目錄 (3)目錄)目錄 /etc etc包含

27、配置文件包含配置文件HOSTNAME、bashrc、fstab、group、inittab、nsswitch、pam.d、passwd、pwdb.conf、rc.d、securetty、shadow、shells以及以及lilo.conf。 2、上述目錄還包含適當的、上述目錄還包含適當的文件和子目錄文件和子目錄 (4)目錄)目錄/dev dev包含設備文件包含設備文件console、hda1、hda2、hda3、kmem、mem、null、tty1和和ttyS0。 5)目錄)目錄/lib lib包含庫文件包含庫文件libc.so.6、ld-linux.so.2、libcom_err.so.2、

28、 libcrypt.so.2、libpam.so.0、libpam_misc.so.2、libuuid.so.2、libnss_files.so.2、libtermcap.so.2和和security。 3、制作文件系統的鏡像文件、制作文件系統的鏡像文件 嵌入式嵌入式 Linux 支持多種文件系統。這支持多種文件系統。這些文件系統的總體架構是一樣的,都些文件系統的總體架構是一樣的,都是采用目錄樹的結構。在嵌入式中常是采用目錄樹的結構。在嵌入式中常見的文件系統有見的文件系統有 cramfs、romfs、jffs、yaffs 等。等。 【例【例3】制作】制作 cramfs 文件系統。文件系統。 c

29、ramfs 文件系統是一種經壓縮的、極文件系統是一種經壓縮的、極為簡單的只讀文件系統,因此非常適為簡單的只讀文件系統,因此非常適合嵌入式系統。合嵌入式系統。 不同的文件系統都有相應的制作工具,不同的文件系統都有相應的制作工具,制作制作 cramfs 文件系統需要用到的工文件系統需要用到的工具是具是 mkcramfs 。假設用戶已經設置了一個文件系統,假設用戶已經設置了一個文件系統,在目錄在目錄“/fs/root/”下,如下所示:下,如下所示: # ls root bin dev etc home lib linuxrc proc Qtopia ramdisk sbin tmp usr var

30、使用使用 mkcramfs 工具了,命令格式為:工具了,命令格式為:mkcramfs 系統文件目錄名系統文件目錄名 生成的生成的鏡像文件名鏡像文件名系統文件目錄系統文件目錄 現將系統文件子目錄現將系統文件子目錄root生成鏡像文件生成鏡像文件camare_rootfs.cramfs: # ./mkcramfs root camare_rootfs.cramfs【例【例3】制作】制作 cramfs 文件系統。文件系統?!纠纠?】制作】制作jffs2文件系統。文件系統。 jffs2是一種可讀是一種可讀/寫的文件系統。制作它的工具叫做寫的文件系統。制作它的工具叫做mkfs.jffs2。可以用下面的

31、命令來生成一個。可以用下面的命令來生成一個jffs2的文件的文件系統。系統。 # ./mkfs.jffs2 -r rootfs -o xscale_fs.jffs2 -e 0 x40000 -p=0 x01000000 這樣,在這樣,在fs目錄下生成一個名為目錄下生成一個名為xscale_fs.jffs2 的文件的文件系統。系統。 5.65.6 嵌入式系統嵌入式系統開發板的燒寫開發板的燒寫5.6.1 Bootloader 1、基本概念、基本概念 Bootloader 是系統加電后運行的一段是系統加電后運行的一段代碼,稱為引導加載程序。它在操作代碼,稱為引導加載程序。它在操作系統內核運行之前運行

32、。系統內核運行之前運行。 通過這段程序,完成硬件設備的初始通過這段程序,完成硬件設備的初始化,并建立內存空間的映射表,從而化,并建立內存空間的映射表,從而建立系統的軟硬件環境。建立系統的軟硬件環境。5.6.1 Bootloader 1、基本概念、基本概念 Bootloader對硬件設備依賴很強。對對硬件設備依賴很強。對于兩塊不同的嵌入式開發板,即使它于兩塊不同的嵌入式開發板,即使它們采用的相同們采用的相同CPU,運行在其中一塊,運行在其中一塊電路板上的電路板上的Bootloader,要在另一塊,要在另一塊電路開發板上運行,需要對其參數、電路開發板上運行,需要對其參數、源程序進行修改。源程序進行

33、修改。5.6.1 Bootloader 1、基本概念、基本概念 (1) 每種不同的每種不同的 CPU 體系結構都有不體系結構都有不同的同的 Bootloader。 (2) 系統加電或復位后,系統加電或復位后,CPU 將首先將首先執行執行 Bootloader程序。程序。 (3) Bootloader 的啟動過程分為單階的啟動過程分為單階段和多階段兩種。段和多階段兩種。 5.6.1 Bootloader 1、基本概念、基本概念 (4) Bootloader 包含:包含:“啟動加載啟動加載” 和和“下載下載” 兩種不同的操作模式兩種不同的操作模式 。 啟動加載模式啟動加載模式:直接從:直接從Fla

34、sh啟動。啟動。 下載加載模式下載加載模式:將壓縮的內核映像文:將壓縮的內核映像文件從件從Flash中復制、解壓到中復制、解壓到RAM,再,再從從RAM上啟動。上啟動。5.6.1 Bootloader 2、Bootloader 啟動流程啟動流程 Bootloader 的啟動流程一般分為兩個階段:的啟動流程一般分為兩個階段: (1) 第第1階段主要完成以下工作階段主要完成以下工作 基本的硬件初始化,包括屏蔽所有的中斷、基本的硬件初始化,包括屏蔽所有的中斷、設置設置 CPU 的速度和時鐘頻率、的速度和時鐘頻率、RAM 初始初始化、初始化化、初始化 LED、關閉、關閉 CPU 內部指令和內部指令和數

35、據數據 cache 等。等。 5.6.1 Bootloader 2、Bootloader 啟動流程啟動流程 Bootloader 的啟動流程一般分為兩個階段:的啟動流程一般分為兩個階段: (2) 第第2階段主要完成以下工作階段主要完成以下工作 初始化本階段要使用到的硬件設備,包括初始化本階段要使用到的硬件設備,包括初始化串口、初始化計時器等。檢測系統初始化串口、初始化計時器等。檢測系統的內存映射,加載內核映像和根文件系統的內存映射,加載內核映像和根文件系統映像,設置內核的啟動參數。映像,設置內核的啟動參數。 3、Bootloader的燒寫的燒寫 把把Bootloader燒寫到燒寫到Flash中

36、,要用中,要用到到JTAG。5.6.1 Bootloader5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 下面介紹基于下面介紹基于S3C2410微處理器開發微處理器開發板的板的Bootloader、內核、文件系統的、內核、文件系統的燒寫方法。其燒寫方法。其Bootloader為為vivi。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 1、vivi vivi是韓國是韓國 MIZI Research公司為公司為S3C2410開發板編寫的開發板編寫的Bootloader。 vivi默認的工作模式為:啟動加載模式默認的工作模式為:啟動加載模式之后,經過一段短暫的時間延遲自行

37、之后,經過一段短暫的時間延遲自行啟動啟動Linux內核。內核。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 1、vivi 在在vivi的下載模式下,的下載模式下,vivi提供了一個提供了一個命令行接口,通過該接口可能使用一命令行接口,通過該接口可能使用一些些vivi命令,見表命令,見表5.3。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫vivivivi命令命令說明說明load把二進制代碼文件下載到把二進制代碼文件下載到Flash或或RAM。part操作操作MTD分區信息,顯示、增加、刪除、分區信息,顯示、增加、刪除、復位、保存復位、保存MTD分區。分區。param設

38、置參數。設置參數。boot啟動系統。啟動系統。flash管理管理Flash,如刪除,如刪除Flash的數據。的數據。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 2、燒寫步驟、燒寫步驟 對于對于S3C2410開發板,嵌入式開發板,嵌入式Linux系統的系統的Bootloader、內核、文件系統、內核、文件系統將燒寫到將燒寫到Flash中。中。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 2、燒寫步驟、燒寫步驟 (1)我們首先要將)我們首先要將Linux引導加載程引導加載程序序 BootLoader(vivi)燒寫到)燒寫到Flash中,引導中,引導Linux啟動;啟

39、動; (2)對)對Flash進行分區;進行分區;5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 2、燒寫步驟、燒寫步驟 (3)將將vivi程序燒寫到程序燒寫到Flash的的0地址處;地址處; (4)將內核將內核zImage燒寫到燒寫到Flash相應的位相應的位置;置; (5)最后把文件系統最后把文件系統root燒寫到燒寫到Flash相相應的位置。應的位置。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 3、燒寫引導加載程序、燒寫引導加載程序vivi 下載文件下載文件vivi到開發板到開發板Flash的命令格的命令格式為:式為: Jflash-s3c2410 /t= 5.

40、6.2 ARM S3C2410開發板的燒寫開發板的燒寫 其中,其中,Flash 類型有如下選項:類型有如下選項: 1:SMDK2410:K9S3208 4MB 2:SMDK2410:K9S6408 8MB 3:SMDK2410:K9S2808 16MB 4:SMDK2410:K9S5608 32MB 5:SMDK2410:K9S1208 64MB 6:SMDK2410:AM29LV800BB5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 在宿主機上,通過終端窗口進入存放在宿主機上,通過終端窗口進入存放vivi文件的目錄文件的目錄2410_Image,并輸入,并輸入命令:命令: #

41、./Jflash-s3c2410 vivi_init /t=55.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 在燒寫過程中,有在燒寫過程中,有3次提示,要求用戶選擇:次提示,要求用戶選擇: (1)在)在“Select the function to test :”后面輸后面輸入入“ 0 ”,表示對型號為,表示對型號為K9S1208的的Flash芯片進芯片進行燒寫,燒寫類型為程序。行燒寫,燒寫類型為程序。 (2)在)在“Input target block number:” 后面輸后面輸入入“ 0 ”,表示從偏移地址,表示從偏移地址0處開始燒寫。處開始燒寫。 如圖如圖5.13所示。所

42、示。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 (3)經過數分鐘的燒寫之后,將)經過數分鐘的燒寫之后,將vivi燒寫到燒寫到Flash之中。再次出現提示:之中。再次出現提示:5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 在在“Select the function to test :” 后后面輸入面輸入“ 2 ”,退出退出vivi燒寫。并關閉開燒寫。并關閉開發板電源,拔下發板電源,拔下JTAG連接線。連接線。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 4、燒寫嵌入式、燒寫嵌入式Linux系統

43、各部分內容系統各部分內容 在完成在完成vivi燒寫之后,使用串口線,通燒寫之后,使用串口線,通過串口將宿主機與開發板連接起來。過串口將宿主機與開發板連接起來。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 在宿主機上打開超級終端在宿主機上打開超級終端minicom窗口,再按下窗口,再按下“Backspace”(回格)鍵不放,接通開發板電(回格)鍵不放,接通開發板電源。這時我們通過超級終端源。這時我們通過超級終端minicom窗口可以觀窗口可以觀察到嵌入式系統開發板上察到嵌入式系統開發板上Linux系統的啟動過程,系統的啟動過程,并在出現提示符并在出現提示符“ vivi ”時停?。ㄈ?/p>

44、果時停?。ㄈ绻鸏inux系系統有啟動,但沒有統有啟動,但沒有 “ vivi ” 提示符出現,則需提示符出現,則需要再一次按住鍵盤上的要再一次按住鍵盤上的“Backspace” (回格)(回格)鍵不放,對開發板鍵不放,對開發板“Reset”重啟)。進入重啟)。進入vivi提提示狀態如圖示狀態如圖5.14所示。所示。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 (1)對)對Flash分區分區 在在“vivi ”提示符下用命令提示符下用命令“bon part ”對對Flash進行分區:進行分區: bon part 0 192k 1M 其中,從地址其中,從地址0處開始為處開始為vivi,地址,地址192k(192*1024196608)處開始為內核,地)處開始為內核,地址址1M(1*1024*10241048576)處開始)處開始為文件系統。為文件系統。5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 嵌入式嵌入式Linux系統系統的的Bootloader、內核、文件系統內核、文件系統內容在內容在Flash中的中的地址分配位置如地址分配位置如圖圖5.15所示:所示:5.6.2 ARM S3C2410開發板的燒寫開發板的燒寫 運行分區命令后,顯示結果如下:運行分區命令后,顯示結

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論