Step1: 前言
請前往uClinux官網抓取arm-elf-tools以及uClinux-dist,uClinux-dist 則將不同處理器的 uClinux 整合至一個套件裡。此外,uClinux-dist 也整合了許多的軟體與系統工具,並且提供設定 root filesystem 的介面;arm-elf-tools是uClinux的Cross-Compiler。我用的版本是arm-elf-tools-20030314.sh以及uClinux-dist-20051014.tar.gz
◎注意uClinux-dist我原先使用最新版本但一直Error,換回舊版則OK
◎需要套件如下: libgtk2.0-dev,pkg-config,libatk1.0-dev,libpango1.0-dev,libfreetype6-dev,libglib2.0-dev,libx11-dev,binutils-dev
Step2: 安裝skyeye
#sudo -s
#cd /usr/local
#wget http://nchc.dl.sourceforge.net/sourceforge/skyeye/skyeye-1.2.4_Rel.tar.gz
#tar -zxvf skyeye-1.2.4_Rel.tar.gz
#cd skyeye-1.2.4
#make (視需要在make之後下參數,用法請見skyeye付的README)
Step3: 安裝Cross-Compiler
#cd /usr/local
#wget http://www.uclinux.org/pub/uClinux/arm-elf-tools/arm-elf-tools-20030314.sh
#chmod 755 arm-elf-tools-20030314.sh
#./arm-elf-tools-20030314.sh
在/usr/local/bin下面應該出現arm-elf-XXX等等的檔案,而且應該也寫入PATH了
#arm-elf-gcc -v
若出現訊息則完成
Step4: 編譯uClinux-dist
#cd /usr/local
#wget http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20051014.tar.gz
#tar -zxvf uClinux-dist-20051014.tar.gz
#cd uClinux-dist
#nano -w vendors/config/armnommu/config.arch
將“CROSS_COMPILE”的值設為"arm-elf-”
#make menuconfig
vendor/product中選擇GDB/ARMulator,kernel版本選擇2.4,compiler選uClibc 然後save and exit
#make dep
#make
在/usr/src/uClinux-dist/linux-2.4.x目錄下會生成可執行文件"linux", 在/usr/src/uClinux-dist/images/會生成"romfs.img"等文件
Step5: Skyey運行編譯出的uClinux-dist
#cd /usr/local/uClinux-dist
#ln -s images/romfs.img boot.rom
#nano -w skyeye.conf (為了讓skyey運作時抓取此設定檔,這檔是設定要模擬的環境,詳細資料見README,以下為最簡單的Example)
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
#/usr/local/skyeye-1.2.4/binary/skyeye -e linux-2.4.x/linux
後記:在每人的環境不同,或許會需要Debug,我也De了很久 @@a
沒有留言:
張貼留言