close

SkyEye詳細安裝使用指南Ver 0.4



2003-01-22


 


windows環境下安裝SkyEye


1.    安裝 cygwin


2.    安裝skyeye


3.    建立源碼調試環境


4.    執行調試程式


5.    從源碼生成ucosii的執行碼


5.1 建立arm-tools in cygwin 環境


  linux環境下安裝SkyEye


1 linux 下安裝 skyeye,編譯並營運 ucosii for skyeye


2 mandrake linux8.2 下安裝skyeye並營運uClinux-dist-20020927.tar.gz


 


注意: 以下說明是針對SkyEye 0.1.1以前版本, ucosii4skyeye1.4以前版本,最新軟體的安裝使用說明可參考最新套裝軟件中的相關檔案(installguide.txt, readme, SkyEye.README


windows環境下安裝SkyEye


1.      安裝 cygwin


  Cygwin是一個在windows(包括windows98/windows2000/windowsXP)下的unix 工具集合,支援大多數GNU軟體(如gccgdbxfree86,bash,tetexopenglperl,python等)。許多以前在unix環境下的軟體只需在cygwin環境下重新編譯就可以營運了。SkyEye也是透過cygwin的支援實現了可同時在windowslinux上營運。


  目前最新的Cygwin版本為1.3.17(2002-11-28),整個環境(包括所有的工具和xfree861.3GB)。大家可下載和安裝最基本的環境,大約為200~400MB不等。目前國內提供下載的位址有︰


ftp://202.38.97.230/netinst/Cygwin/


ftp://166.111.68.183/pub/Cygwin/


必須安裝的次目錄sub category: (把次目錄旁邊的”default”用滑鼠點一下,直到變成”install”


Archive


Base


Devel︰包括gccmake等編譯工具


Libs


Net


Shells


Utils: 包括bzip2等實用工具


 


大家可選擇較快的下載位址(希望更多的站點提供最新cygwinftp訪問)。


必須透過cygwin提供的setup.exe進行安裝,可根據安裝提示一步一步進行,提供透過internet安裝模式或本地安裝模式。建議把cygwin整個安裝包下載到本地再進行本地安裝比較方便。如果無特殊需求,可簡單按它的缺省安裝模式安裝最少數量的套裝軟件。建議不要安裝到c:\下。cygwin的問題和解答可參考cygwin FAQ


2.      安裝skyeye


1.       cygwin環境下安裝二進製skyeye


把二進製檔案從linuxcygwin的根目錄下解開既可使用。如果你選擇把cygwin安裝到的d:\cygwin目錄下。則執行cygwin bash shell後的仿unix環境的根目錄“/”實際上就是d:\cygwin目錄。


SkyEye-0.1 for cygwin二進製檔案skyeye-0.1.bin.cygwin.1.3.17.tar.bz2下載並拷貝到d:\cygwin目錄下後,在cygwin bash shell環境中的根目錄“/”下就存在了檔案skyeye-0.1.bin.cygwin.1.3.17.tar.bz2。然後在cygwin bash shell環境中的的根目錄“/”下執行︰


tar jxvf skyeye-0.1.bin.cygwin.1.3.17.tar.bz2


就把skyeye的執行檔案安裝到cygwin bash shell環境中“/usr/local/bin”下。


用戶可試著在根目錄下執行命令“skyeye”,如果出現了如下顯示則表示安裝成功。


2. cygwin環境下編譯skyeye


如果自己想在cygwin環境下編譯skyeye,則比較麻煩,可參考skyeye源碼包中的說明文檔buildskyeyeoncygwin.txt


3.      建立源碼調試環境


A 建立uC/OS-II源碼調試環境


注意︰如果要重新編譯,請選擇ucosii for skyeye 1.0.1以上版本﹗


假設要把uC/OS-II源碼調試環境建立在“/tmp/ucos/sourcecode”目錄下。


uC/OS-II for SkyEye VerA 源碼ucosii-verA-skyeye-1.0.tar.bz2 uC/OS-II for SkyEye VerB源碼ucosii-verA-skyeye-1.0.tar.bz2解壓到/tmp/ucos下︰


uC/OS-II for SkyEye VerA為例︰


ucosii-verA-skyeye-1.0.tar.bz2下載並拷貝到d:\cygwin\tmp目錄下,則執行cygwin bash shell後的仿unix環境的根目錄“/tmp”實際上就是d:\cygwin\tmp目錄。


然後在cygwin bash shell環境下執行如下命令︰


mkdir /tmp/ucos


cd /tmp/ucos


tar jxvf ../ucosii-verA-skyeye-1.0.tar.bz2


 


然後把uC/OS-II for SkyEye VerA執行檔案 ucosii-verA.elf拷貝到d:\cygwin\tmp\ucos\sourcecode


最後把uC/OS-II內存佈局配置檔案拷貝到d:\cygwin\tmp\ucos\sourcecode下,並在cgywin環境下執行改名命令︰


cd /tmp/ucos/sourcecode/


mv ucosmemmap.conf memmap.conf


 


B 建立uclinux源碼調試環境


假設要把uclinux源碼調試環境建立在“/tmp/uclinux/uClinux-dist-20020816”目錄下。


uclinux-2.4.x精簡壓縮包uclinux.lightsrc.tar.bz2下載並拷貝到d:\cygwin\tmp目錄,即cygwin環境的目錄”/tmp”


  解壓uclinux-2.4.x精簡壓縮包,命令如下︰


cd /tmp


tar jxvf uclinux.lightsrc.tar.bz2


  uclinux相關檔案就安裝到“/tmp/uclinux/uClinux-dist-20020816”目錄下了。


  最後把uclinux內存佈局配置檔案 uclinuxmemmap.conf拷貝到d:\cygwin\tmp\uclinux\uClinux-dist-20020816下,並在cgywin環境下執行改名命令︰


  cd /tmp/uclinux/uClinux-dist-20020816/


  mv uclinuxmemmap.conf memmap.conf


 


  如果你想把uclinux-2.4.x精簡壓縮包解壓到/usr/local/目錄下,


則把uclinux-2.4.x精簡壓縮包uclinux.lightsrc.tar.bz2下載並拷貝到d:\cygwin\usr\local目錄,即cygwin環境的目錄”/usr/local”


解壓uclinux-2.4.x精簡壓縮包,命令如下︰


cd /usr/local


tar jxvf uclinux.lightsrc.tar.bz2


  ln s /usr/local/uclinux /tmp/uclinux


  注意︰/tmp/uclinuxuclinux-2.4.x精簡壓縮包的缺省安裝目錄。


  


4.      執行調試程式


 A  調試ucos


 cygwin環境下執行如下操作︰


cd /tmp/ucos/sourcecode


skyeye


skyeye環境中執行:


file ucosii-verA.elf   (如果建立的是ucosii-verB環境,則執行file ucosii-verB.elf


target sim


load


run


 


然後你可以用”Ctrl-C”中斷ucos的執行,透過命令


p x


p y


可以檢視task1x的修改情況,和task2y的修改情況,


透過命令


p OSCtxSwCtr


可以檢視ucos執行上下文切換的次數。


 


B 調試 uclinux


cygwin環境下執行如下操作︰


cd /tmp/uclinux/uClinux-dist-20020816


skyeye


skyeye環境中執行:


file linux-2.4.x/linux


target sim


load


run


這時應該可以看到uclinux的啟動畫面。


 


如果需要進一步調試,需要學習gdb的命令使用。


 


5.      從源碼生成ucosii的執行碼


注意︰


l       如果要重新編譯,請選擇ucosii for skyeye 1.0.1以上版本的源代碼。


l       ucosii for skyeye 1.1以上版本支援printf功能,但目前不能在cygwin環境下編譯透過,但可在linux環境下編譯透過後,在cygwin環境下執行。


l       uC/OS-II的執行檔案和源碼要放在一個目錄下。


l       memmap.conf所在目錄和當前執行skyeye的目錄要等同。


 


5.1 建立arm-tools in cygwin 環境


下載 arm-tools in cygwin的套裝軟件


arm-linux-binutils-cygwin-2.9.5.0.37.tgz


      arm-linux-gcc-cygwin-2.95.3.tgz


libc6-arm-cross-2.1.3-19.tgz


      libc6-dev-arm-cross-2.1.3-19.tgz


 


如果你選擇把cygwin安裝到的d:\cygwin目錄下。則執行cygwin bash shell後的仿unix環境的根目錄“/”實際上就是d:\cygwin目錄。把上套裝軟件下載並拷貝到d:\cygwin目錄下後,在cygwin bash shell環境中的根目錄“/”下就存在上述檔案。然後在cygwin bash shell環境中的的根目錄“/”下執行︰


tar zxvf arm-linux-binutils-cygwin-2.9.5.0.37.tgz


tar zxvf arm-linux-gcc-cygwin-2.95.3.tgz


tar zxvf libc6-arm-cross-2.1.3-19.tgz


tar zxvf libc6-dev-arm-cross-2.1.3-19.tgz


 


執行命令


tar jxvf ucos_verb_skyeye-1.x.x.src.bz2


解開源碼套裝軟件


然後,你可在ucos的安裝目錄(設安裝目錄為”/tmp/ucos/sourcecode”)下執行命令︰


make


則可在ucos的安裝目錄下生成ucos.elf       ucos.s      ucos.r      ucos.n


最後在ucos的安裝目錄下執行skyeye,就可以調試你編譯的ucos.elf作業系統和應用程式了(與4中的描述相同)。


 


注意︰ucosii for skyeye 1.1以上版本支援printf功能,但目前不能在cygwin環境下編譯透過,但可在linux環境下編譯透過後,在cygwin環境下執行。


 


目前提供的在cygwin環境下的支援arm的交叉編譯工具集有兩個。


另一個由別人製作的在cygwin環境下的支援arm的交叉編譯工具集可在


ftp://166.111.68.183/pub/embed/devtool/gcc-arm-cygwin/


處下載,如果大家想在cygwin環境下重新編譯uclinux,大家可以試用一下。


 


  linux環境下安裝SkyEye


linux還不懂如何安裝嗎?J


注意︰


/tmp/uclinuxuclinux-2.4.x精簡壓縮包的缺省安裝目錄


建議使用redhat7.1以上版本的系統。


建議使用arm-elf-tools-20011219.tar.gz為交叉編譯工具編譯arm程式


建議使用gcc2.96  gcc3.2 編譯skyeye


 


1 linux 下安裝 skyeye,編譯並營運 ucosii for skyeye


1 linux 下安裝skyeye


解開skyeye-0.1.1.src.tar.bz2,按照SkyEye.README介紹的步驟做configure,make,make install


需要指出的是,在mandrake8.2環境中,make 時會有error,不過不是什麼大問題,


error:display.c->tcap.h->termcap.h:no such file or directory


在本機/usr/includefind一下,termcap.h頭檔案在/usr/include/ncurses目錄下,


termcap.h中的<termcap.h>改成<ncurses/termcap.h>


重新執行makeok了。


執行make install命令後,skyeye預設安裝在/usr/local/bin/目錄下,你可以透過改configure命令參數prefix來改變安裝路徑。


 


2 安裝arm交叉編譯器


下載arm-elf-tools-20011219.tar.gz


arm-elf-tools-20011219.tar.gz在本機的根目錄下用tar命令解開,


則相關軟體安裝在/usr/local/bin/usr/local/arm-elf目錄下。


3 編譯 ucosii for skyeye


  下載ucosii for skyeye源代碼


注意︰ 1.1以上版本支援printf功能


 


執行命令


tar jxvf ucos_verb_skyeye-1.x.x.src.bz2


解開源碼套裝軟件


然後,你可在ucos的安裝目錄(設安裝目錄為”/tmp/ucos/sourcecode”)下執行命令︰


make


則可在ucos的安裝目錄下生成ucos.elf       ucos.s      ucos.r      ucos.n


最後在ucos的安裝目錄下執行skyeye,就可以調試你編譯的ucos.elf作業系統和應用程式了。


2 mandrake linux8.2 下安裝skyeye並營運uClinux-dist-20020927.tar.gz


感謝star提供的SkyEyelinux上的安裝使用過程描述


 


 


營運環境︰mandrake linux8.2


源碼包及其他所需檔案︰ftp://202.99.11.120/pub/mirrors/skyeye/ ftp://166.111.68.183/pub/embed/


skyeye-0.1.1.src.tar.bz2


arm-elf-tools-20011219.tar.gz


uClinux-dist-20020927.tar.gz


romfs.2.4.x.gz


uclinuxmemmap.conf


 


1 linux 下安裝skyeye


 


2編譯uclinux


先安裝交叉編譯器,將arm-elf-tools-20011219.tar.gz在本機的根目錄下tar開,解到/usr/local/arm-elf目錄下。


uClinux-dist-20020927.tar.gz解開,比如解開在/usr/src/uclinux-dist/下,然後在/usr/src/uclinux-dist/目錄下執行如下命令︰


在圖形模式下可用命令make xconfig 在命令行模式下可用命令 make menuconfig


vendor/product中選擇GDB/ARMulatorkernel版本選擇2.4,save and exit.


------------------------------------------------------------------------------------------------------------------------------------------------


方案A


如果帶調試訊息的linux kernel執行檔案


make dep;make linux


這時在/usr/src/uclinux-dist/linux-2.4.x目錄下生成linux檔案


方案B


如果想一步生成帶調試訊息的linux kernel執行檔案和linux kenel 執行檔案映像和磁片映像檔案romfs.img


可簡單是營運命令 make dep; make 就行了。可檢視/usr/src/uclinux-dist/images/下是否有檔案 romfs.img


-------------------------------------------------------------------------------------------------------------------------------------------------


/usr/src/uclinux-dist目錄下,


cp ulinuxmemmap.conf memmap.conf


------------------------------------------------------------------------------------------------------------------------------------------------


方案A


gunzip romfs.2.4.x.gz


cp romfs.2.4.x boot.rom


romfs.2.4.x其實就是磁片映像檔案。


方案B


也可以在/usr/src/uclinux-distmake romfs ;make image來生成romfs.img


如果想使用自己編譯的romfs.img,則在目錄/usr/src/uclinux-dist下執行命令


ln s images/romfs.img boot.rom


-------------------------------------------------------------------------------------------------------------------------------------------------


這個時候就可以用skyeye來調試營運kernel了,在/usr/src/linux-dist


skyeye linux-2.4.x/linux


(gdb)target sim


(gdb)load


(gdb)run


kernel start.....


注意要在 memmap.conf boot.rom所在目錄下執行skyeye


你可以在run之前給kernel設定斷點來調試。目前skyeye支援的arm core基於arm7tdmi,沒有mmu,所以只能跑ucos,uclinux,不過他們正在做更多的努力,相信很快skyeye也可以支援arm linux


 


arrow
arrow
    全站熱搜

    立你斯 發表在 痞客邦 留言(1) 人氣()