1.LINUX資源 LINUX以其開源、免費的特點而成為嵌入式系統(tǒng)的優(yōu)選操作系統(tǒng),然而它還有一個巨大的優(yōu)勢就是其浩瀚無限的資源!即無數(shù)各色的maillist,下面給出各個嵌入式LINUX的站點資源: (1)uClinux:所有NOMMU的處理器都跑uClinux uClinux發(fā)行包下載點: http://www.uclinux.org/ MAILLIST搜索引擎: http://mailman.uclinux.org/htdig/ 一個搞uClinux的開發(fā)人員都應(yīng)該關(guān)注的地方:
http://www.ucdot.org/ (2)ppclinux:POWERPC系列處理器平臺都跑ppclinux
ppclinux發(fā)行包下載點: http://penguinppc.org/dev/kernel.shtml http://www.denx.de/ MAILLIST搜索引擎: http://lists.linuxppc.org/ 選擇linuxppc-embedded 軟件下載點: ftp://ftp.denx.de/pub/LinuxPPC/usr/src/
(3)armlinux:除ARM7 NOMMU的處理器外,其它的ARM9/XSCALE等ARM系列處理器都跑armlinux armlinux發(fā)行包下載: 通用的下載方式 ftp://ftp.uk.kernel.org/pub/linux/kernel/v2.4/ 還有可以是CVS的方式:一般的都在sourceforge.net http://sourceforge.net/cvs/?group_id=33360 CVS命令如下: (這是你的REDHAT LINUX PC必須能夠接通INTERNET) cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/armlinux login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/armlinux co linux-2.4 ARM開發(fā)大全:http://www.arm.linux.org.uk/developer/ ARM內(nèi)核移植編譯的文章: http://www.arm.linux.org.uk/docs/kerncomp.shtml
MAILLIST搜索引擎: http://www.arm.linux.org.uk/armlinux/mailinglists.php (4)bootloader的資源 u-boot:http://www.denx.de/ 其它常用東東:
microwin開發(fā)maillist http://www.linuxhacker.org/cgi-bin/search.cgi minigui開發(fā)
http://www.minigui.org/cgi-bin/lb5000/leoboard.cgi
rtai實時性補丁 http://www.aero.polimi.it/~rtai/ http://www.denx.de/
GNU CC(gcc)英文資源(文檔,非常好) http://gcc.gnu.org/onlinedocs/gcc/ http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html#Option%20Summary 2. 處理器PDF手冊下載(請右鍵點擊,選擇“目標(biāo)另存為(A)”) 3. 其它資源 華恒冷火HHCF系列嵌入式LINUX開發(fā)平臺常見問題解答 華恒POWERPC系列產(chǎn)品常見問題解答 華恒ARM系列產(chǎn)品常見問題解答 4.Redhat Linux 光盤映像下載點 http://www.linuxiso.org/ 5.常用資源 串口通信: http://www-900.ibm.com/developerWorks/cn/linux/l-serials/index.shtml#1 AT&T嵌入式匯編 http://www.32mcu.com/linux1.htm BDM+GDB調(diào)試 http://www.ucdot.org/article.pl?sid=03/01/30/0548223 6.宿主機LINUX安裝注意事項及NFS的配置
建議都采用REDHAT系列 目前華恒所有產(chǎn)品的宿主機平臺以REDHAT9.0為標(biāo)準(zhǔn)平臺。 有些手冊上所建議的REDHAT7.2,現(xiàn)在都建議采用REDHAT9.0,當(dāng)然REDHAT7.2/7.3的系統(tǒng)也都是可以用的,但鑒于市面上目前能買到的都是REDHAT9.0,所以建議采用REDHAT9.0 宿主機配置中一個常見的問題就是NFS的配置,這里介紹一種較為直接簡單的方法: 首先在REDHAT LINUX PC機上執(zhí)行setup,彈出菜單界面后,選中: System services,回車進入系統(tǒng)服務(wù)選項菜單,在其中選中 [*]nfs , 然后退出setup界面返回到命令提示符下。 vim /etc/exports 將這個默認(rèn)的空文件修改為只有如下一行內(nèi)容:(注意中間有空格) / (rw) 然后保存退出(:wq),然后執(zhí)行如下命令: /etc/rc.d/init.d/nfs restart Shutting down NFS mountd: [ OK ] Shutting down NFS daemon: [ OK ] Shutting down NFS quotas: [ OK ] Shutting down NFS services: [ OK ] Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS daemon: [ OK ] Starting NFS mountd: [ OK ] 這樣就一切OK了! 【注意】 因NFS不會每次自動啟動,即無法像linuxconf命令那樣設(shè)置成Automatic啟動方式,執(zhí)行如下命令重啟NFS服務(wù): /etc/rc.d/init.d/nfs restart (最好把上面一句寫入/etc/rc.local文件中,這樣每次計算機重新啟動就省去每次都要執(zhí)行上面的命令來啟動NFS服務(wù)) 配置完成后,可用如下辦法簡單測試一下NFS是否配置好了: 在宿主機上自己mount自己,看是否成功就可以判斷NFS是否配好了。例如在宿主機/目錄下執(zhí)行: mount -o nolock 192.168.2.32:/ /mnt (有時若根目錄不讓讀寫,執(zhí)行chmod 777 / 試試) 然后到/mnt/目錄下看是否可以列出/目錄下的所有文件和目錄,可以則說明mount成功,NFS配置成功。 但實際上,REDHAT LINUX PC自己mount自己成功也不能完全說明NFS就可以工作了,因為還有一個防火墻的問題,一般的我們建議客戶在安裝REDHAT LINUX時就默認(rèn)選擇NO FIREWALL,但若客戶沒有這樣選擇的話,REDHAT 啟動時會加載防火墻規(guī)則,這樣你自己能 mount 自己,但其它PC和板子也無法mount這臺PC。所以這時要運行setup關(guān)閉防火墻。注意!setup里面的防火墻顯示永遠都是HIGH,這個是REDHAT一直的一個小BUG,即使你安裝時默認(rèn)選擇了NO FIREWALL,setup里面也照樣會顯示防火墻設(shè)置是HIGH的,這個可以不必理會。只要你選擇了一次NO FIREWALL就可以了。關(guān)于防火墻等問題,請參見您的光盤里面的PDF手冊。另外,建議對LINUX操作不是非常熟悉的客戶,務(wù)必請閱讀我們手冊附錄的“LINUX常用命令”。 還有,就是REDHAT還有這樣一個問題,就是加入網(wǎng)關(guān)設(shè)置后,網(wǎng)絡(luò)建立TCP鏈接非常慢,例如FTP/TELNET/NFS等都是,建立鏈接后,以太網(wǎng)通信還是很快的。若您安裝網(wǎng)絡(luò)時加入了網(wǎng)關(guān),就會出現(xiàn)你在板子NFS mount REDHAT PC時,敲入mount -o nolock pcip:/ /mnt后非常長的時間不返回SHELL提示符,就一直停在那里,這就是建立連接的時間非常的長。一般的,遇到這種情況,建議在REDHAT LINUX PC上執(zhí)行 route del default 即去掉網(wǎng)關(guān),然后再進行NFS mount等操作就會非?炝。 再有,若您用的不是華恒的開發(fā)板,那么可能您的busybox可能沒有加入NFS mount的支持,這樣您就需要重新編譯busybox,加入NFS mount支持,然后更新ramdisk,重新燒寫即可。 當(dāng)然了,測試NFS你必須用以太網(wǎng)將板子和REDHAT LINUX PC連接起來才行,連接的方式有兩種:一是板子和PC都用普通的網(wǎng)線接到HUB或者交換機上;二是用交叉網(wǎng)線將板子和PC直連起來,注意!這種網(wǎng)線是特制的,內(nèi)部收發(fā)交換的! 測試板子和PC網(wǎng)絡(luò)是否連通的方式是:板子正常啟動LINUX后,在minicom里面ping PC看是否能通即可,當(dāng)然了,用PC來ping板子看是否通也是可以的。 注意:板子必須啟動到LINUX后才能ping通,板子處在bootloader階段一般是無法ping通的,即使這時板子的bootloader初始化了以太網(wǎng)也不行。 若板子跟PC的網(wǎng)絡(luò)不通,mount報錯信息為: # mount -o nolock 192.168.2.211:/ /mnt mount: RPC: Unable to receive; eNrno = No route Fo host mount: Sfsmount failed::Bad file descriptor mount program didn't pass remote address! mount: Mounting 192.168.2.211:/ on /mnt failed: Invalid argument 關(guān)于tftp服務(wù)安裝的問題 有些客戶在安裝REDHAT LINUX 時,有時沒有選Custom-->Packages里面選擇everything,導(dǎo)致沒有安裝tftp服務(wù)(典型的就是安裝完成后沒有/tftpboot目錄,setup-->system services里面也沒有tftp選項 ),這時若要重新完全安裝就太麻煩了,可如下單獨安裝改服務(wù): <感謝深圳客戶廖代國先生和瘦網(wǎng)蟲提供資訊> 安裝tftp 的方法: rpm -ivh foo-1.0-2.i386.rpm 其中foo-1.0-2.i386.rpm在Redhat9的第3張光盤里面。 7.WEB SERVER boa的使用及配置
(1)、對于uClinux-dist而言,就是make menuconfig在應(yīng)用程序選單中,在network application下面選擇boa,然后到uClinux-dist目錄下執(zhí)行make編譯即可。 對于有MMU的平臺,如armlinux和ppclinux,都是到網(wǎng)上下載一個boa的tar包,隨便找個主流的可用的版本即可,不要最新的也不要最舊的。下載到REDHAT宿主機上后,解壓到任意目錄,然后修改boa/src/Makefile里面的編譯器,就只要加入兩三行即可,例如: CC = /LinuxPPC/CDK/bin/powerpc-linux-gcc -DHHTECH_PPC CPP = /LinuxPPC/CDK/bin/powerpc-linux-g++ 然后直接在boa/src目錄下執(zhí)行make即可生成boa可執(zhí)行文件,將其復(fù)制到ramdisk加載mount的目錄的bin里面,然后等一同加入后面的配置文件和HTML/CGI文件后,重做ramdisk即可。 (2)、編制配置文件boa.conf LINUX下的應(yīng)用程序的配置都是以配置文件的形式提供的,一般的都是放在目標(biāo)板/etc/目錄下或者/etc/config目錄下,但boa的配置文件boa.conf一般都放置在目標(biāo)板/home/httpd/目錄下。 例如一個典型的boa.conf文件格式如下: ServerName HHCF5272-R1 DocumentRoot /home/httpd/html ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/ ScriptAlias /index.html /home/httpd/html/index.html 它指定了HTML頁面(例如index.html必須放到/home/httpd/html目錄下,cgi可執(zhí)行文件必須放到/home/httpd/cgi-bin目錄下) (3)、編譯uClinux-dist后或者重做ramdisk后,燒寫后在一臺WINDOWS的PC機上就可以用IE訪問板子上的webserver,例如輸入板子IP地址http://192.168.2.111,即可看到你用dreamweaver做的網(wǎng)頁index.html了。但這里只能做到對靜態(tài)頁面的支持,若要支持FORM表單處理和動態(tài)頁面,就必須用C代碼編制CGI代碼,uClinux-dist/user/cgi-generic目錄下提供了樣板代碼,或者可以從華恒公司購買。注意:這個CGI的可執(zhí)行文件必須放置到板子的/home/httpd/cgi-bin目錄下。 建議閱讀文章: http://www.51eda.com/Article/embed_system/rtos/200405/806.html 關(guān)于auth選項 8.關(guān)于PPP撥號
(1)、首先是根據(jù)板子的串口2的信號定義制作串口線接MODEM,例如HHCF5249/5272系列平臺就要將接MODEM的串口線2、3交換,7、8交換。做好線之后,可用tip軟件進行與MODEM通信的測試: tip -l /dev/ttyS1 -s 19200 顯示connected后,用戶就可以輸入AT命令直接與MODEM對話了,這樣做的目的是測試串口線。 (2)、配置內(nèi)核支持PPP,并編譯撥號用相關(guān)應(yīng)用程序:pppd/chat。關(guān)于內(nèi)核支持,就是make menuconfig在內(nèi)核配置的Network device support ---> 中選擇PPP/SLIP/CSLIP等,具體細(xì)節(jié)選項可任選,其實全部選中就可以了。關(guān)于應(yīng)用程序的做法,和上面boa的做法完全類似。 (3)、編譯撥號腳本和相關(guān)配置文件。做撥號必須先在REDHAT上手工撥號成功(不要用圖像界面),然后才能到板子上做測試。而且,這只是第一步,簡單的撥號上去并沒有任何意思,因為產(chǎn)品過程中,還要涉及許多的應(yīng)用細(xì)節(jié),例如斷線重?fù)軝z測,開機自動撥號,無流量自動斷開,有流量自動撥號等,都是非常麻煩的細(xì)節(jié),需要做長時間大量的穩(wěn)定性可靠性測試。華恒提供經(jīng)過全球各大城市測試穩(wěn)定應(yīng)用的撥號軟件(GPRS/ADSL),可大大節(jié)省用戶產(chǎn)品的上市時間。 |