呼,終於寫好了一篇像樣的文章了,聽到學長說老師要Demo uclinux的make,還真是有點趕。
不過還是把它完成了,哈~真有成就感,幸好我資料先前已經有找了。雖然中途也是有問題,不過還好解決了~
===================================
Embedded System --- μclinux + Skyeye
網站介紹:
µclinux 網址:http://www.uclinux.org/
Skyeye 網址:http://www.skyeye.org/index.shtml
開發工具下載:
1、ucLinux Souce下載: uClinux-dist-20051014.tar.gz
下載網址: http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20051014.tar.gz
指令下載: wget http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20051014.tar.gz
2、GNU Toolchain:arm-elf-tools-20030314.sh
下載網址:http://www.uclinux.org/pub/uClinux/arm-elf-tools/arm-elf-tools-20030314.sh
指令下載:wget http://www.uclinux.org/pub/uClinux/arm-elf-tools/arm-elf-tools-20030314.sh
3、Skyeye Source 下載: skyeye-1.2.4_Rel.tar.gz
下載網址 http://nchc.dl.sourceforge.net/sourceforge/skyeye/skyeye-1.2.4_Rel.tar.gz
指令下載:wget http://nchc.dl.sourceforge.net/sourceforge/skyeye/skyeye-1.2.4_Rel.tar.gz
工作路徑: /usr/local/
工作環境: Fedora 8
Step 1、Skyeye 安裝:
◆解壓縮安裝檔 skyeye-1.2.4_Rel.tar.gz
指令:tar -zxvf skyeye-1.2.4_Rel.tar.gz
產生 skyeye-1.2.4資料夾,切換至資料夾中
指令:cd skyeye-1.2.4
◆編譯skyeye執行檔
指令:make
◎註:視需要可在make後下參數,可觀閱skyeye-1.2.4資料夾底下README檔案
編譯完成,在skyeye-1.2.4/binary/ 資料夾下產生 skyeye執行檔
將skyeye 執行檔,複製至/usr/local/bin 資料夾中
指令:cp binary/skyeye /usr/local/bin
Step 2、GNU Toolchain安裝:
-
註:原始批次檔有問題,不能直接執行批次檔
原始批次檔中錯誤的地方:
原始檔中 tail指令寫錯,必須加一個 -n 的參數。
將第39行的代碼:
tail +${SKIP} ${SCRIPT} | gunzip | tar xvf –
正確格式:
tail -n +${SKIP} ${SCRIPT} | gunzip | tar xvf –
◆修改方法如下:
指令:tail -n +43 arm-elf-tools-20040427.sh >> 1.tar.gz
指令:tar zxvf 1.tar.gz
解壓縮完後,產生 usr資料夾。
◆將解壓縮完的檔案,傳至正確位置
指令: cp -R usr/ /
在/usr/local/bin資料夾中,將會出現 arm-elf-XXX等檔案,並且也寫入了PATH中。
◆查詢是否安裝成功,觀看arm-elf-gcc 版本
指令:arm-elf-gcc –v
若出現訊息:
gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)
則代表安裝成功。
Step 3、uClinux Source 編譯:
◆解壓縮安裝檔 uClinux-dist-20051014.tar.gz
指令: tar -zxvf uClinux-dist-20051014.tar.gz
◆解壓縮完,產生 uClinux-dist資料夾,切換至資料夾中
指令:cd uClinux-dist
◆設定組態
指令:make menuconfig
-
選項設定:
至ven dor/product Selection ---> 中
(1)選取 Vendor 為 GDB
(2)選取GDB Products 為 ARMMulator
◆選取 Exit ,退出ven dor/product Selection選項
◆往下進入Kernel/Library/Defaults 選項中
(1)Kernel Version 選取linux-2.4-x 版本
(2)libc Version 選取 uClibc選項
◆接著退回主畫面,儲存組態檔案,然後退出menuconfig 選單。
◆開始編譯核心,因為是2.4版
指令:make dep
◆相依性完成後,再下達編譯指令,開始進行編譯工作。
指令:make
◎編譯完成後,將會在uClinux-dist/linux-2.4.x資料夾下會生成"linux"可執行檔
在 uClinux-dist/images/資料夾中會生成"romfs.img" 等檔案。
Step 4:運行Skyeye + uClinux 核心
◆切換置uClinux-dist資料夾下
指令:cd /usr/local/u-Cinlux-dist
接著輸入指令:ln -s images/romfs.img boot.rom
◆建立skyeye設定檔,此檔案是設定模擬硬體平台的環境,可由Skyeye的README檔詳見可設定內容與方法。
指令:nano -w skyeye.conf
以下為簡單的範例,檔案內容請輸入:
cpu:arm7tdmi
mach:at91
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
◆輸入完成後,儲檔離開。
鍵盤按鍵:Ctrl + o ( 寫入 ),按enter鍵確認,再以Ctrl + x 離開。
◆開始運行skyeye
指令:skyeye -c skyeye.conf -e li nux-2.4.x/linux