1.LINUX資源 LINUX以其開源、免費(fèi)的特點(diǎn)而成為嵌入式系統(tǒng)的優(yōu)選操作系統(tǒng),然而它還有一個(gè)巨大的優(yōu)勢(shì)就是其浩瀚無(wú)限的資源!即無(wú)數(shù)各色的maillist,下面給出各個(gè)嵌入式LINUX的站點(diǎn)資源: (1)uClinux:所有NOMMU的處理器都跑uClinux uClinux發(fā)行包下載點(diǎn): http://www.uclinux.org/ MAILLIST搜索引擎: http://mailman.uclinux.org/htdig/ 一個(gè)搞uClinux的開發(fā)人員都應(yīng)該關(guān)注的地方:
http://www.ucdot.org/ (2)ppclinux:POWERPC系列處理器平臺(tái)都跑ppclinux
ppclinux發(fā)行包下載點(diǎn): http://penguinppc.org/dev/kernel.shtml http://www.denx.de/ MAILLIST搜索引擎: http://lists.linuxppc.org/ 選擇linuxppc-embedded 軟件下載點(diǎn): 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實(shí)時(shí)性補(bǔ)丁 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手冊(cè)下載(請(qǐng)右鍵點(diǎn)擊,選擇“目標(biāo)另存為(A)”) 3. 其它資源 華恒冷火HHCF系列嵌入式LINUX開發(fā)平臺(tái)常見問題解答 華恒POWERPC系列產(chǎn)品常見問題解答 華恒ARM系列產(chǎn)品常見問題解答 4.Redhat Linux 光盤映像下載點(diǎn) 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.宿主機(jī)LINUX安裝注意事項(xiàng)及NFS的配置
建議都采用REDHAT系列 目前華恒所有產(chǎn)品的宿主機(jī)平臺(tái)以REDHAT9.0為標(biāo)準(zhǔn)平臺(tái)。 有些手冊(cè)上所建議的REDHAT7.2,現(xiàn)在都建議采用REDHAT9.0,當(dāng)然REDHAT7.2/7.3的系統(tǒng)也都是可以用的,但鑒于市面上目前能買到的都是REDHAT9.0,所以建議采用REDHAT9.0 宿主機(jī)配置中一個(gè)常見的問題就是NFS的配置,這里介紹一種較為直接簡(jiǎn)單的方法: 首先在REDHAT LINUX PC機(jī)上執(zhí)行setup,彈出菜單界面后,選中: System services,回車進(jìn)入系統(tǒng)服務(wù)選項(xiàng)菜單,在其中選中 [*]nfs , 然后退出setup界面返回到命令提示符下。 vim /etc/exports 將這個(gè)默認(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不會(huì)每次自動(dòng)啟動(dòng),即無(wú)法像linuxconf命令那樣設(shè)置成Automatic啟動(dòng)方式,執(zhí)行如下命令重啟NFS服務(wù): /etc/rc.d/init.d/nfs restart (最好把上面一句寫入/etc/rc.local文件中,這樣每次計(jì)算機(jī)重新啟動(dòng)就省去每次都要執(zhí)行上面的命令來(lái)啟動(dòng)NFS服務(wù)) 配置完成后,可用如下辦法簡(jiǎn)單測(cè)試一下NFS是否配置好了: 在宿主機(jī)上自己mount自己,看是否成功就可以判斷NFS是否配好了。例如在宿主機(jī)/目錄下執(zhí)行: mount -o nolock 192.168.2.32:/ /mnt (有時(shí)若根目錄不讓讀寫,執(zhí)行chmod 777 / 試試) 然后到/mnt/目錄下看是否可以列出/目錄下的所有文件和目錄,可以則說(shuō)明mount成功,NFS配置成功。 但實(shí)際上,REDHAT LINUX PC自己mount自己成功也不能完全說(shuō)明NFS就可以工作了,因?yàn)檫有一個(gè)防火墻的問題,一般的我們建議客戶在安裝REDHAT LINUX時(shí)就默認(rèn)選擇NO FIREWALL,但若客戶沒有這樣選擇的話,REDHAT 啟動(dòng)時(shí)會(huì)加載防火墻規(guī)則,這樣你自己能 mount 自己,但其它PC和板子也無(wú)法mount這臺(tái)PC。所以這時(shí)要運(yùn)行setup關(guān)閉防火墻。注意!setup里面的防火墻顯示永遠(yuǎn)都是HIGH,這個(gè)是REDHAT一直的一個(gè)小BUG,即使你安裝時(shí)默認(rèn)選擇了NO FIREWALL,setup里面也照樣會(huì)顯示防火墻設(shè)置是HIGH的,這個(gè)可以不必理會(huì)。只要你選擇了一次NO FIREWALL就可以了。關(guān)于防火墻等問題,請(qǐng)參見您的光盤里面的PDF手冊(cè)。另外,建議對(duì)LINUX操作不是非常熟悉的客戶,務(wù)必請(qǐng)閱讀我們手冊(cè)附錄的“LINUX常用命令”。 還有,就是REDHAT還有這樣一個(gè)問題,就是加入網(wǎng)關(guān)設(shè)置后,網(wǎng)絡(luò)建立TCP鏈接非常慢,例如FTP/TELNET/NFS等都是,建立鏈接后,以太網(wǎng)通信還是很快的。若您安裝網(wǎng)絡(luò)時(shí)加入了網(wǎng)關(guān),就會(huì)出現(xiàn)你在板子NFS mount REDHAT PC時(shí),敲入mount -o nolock pcip:/ /mnt后非常長(zhǎng)的時(shí)間不返回SHELL提示符,就一直停在那里,這就是建立連接的時(shí)間非常的長(zhǎng)。一般的,遇到這種情況,建議在REDHAT LINUX PC上執(zhí)行 route del default 即去掉網(wǎng)關(guān),然后再進(jìn)行NFS mount等操作就會(huì)非?炝恕 再有,若您用的不是華恒的開發(fā)板,那么可能您的busybox可能沒有加入NFS mount的支持,這樣您就需要重新編譯busybox,加入NFS mount支持,然后更新ramdisk,重新燒寫即可。 當(dāng)然了,測(cè)試NFS你必須用以太網(wǎng)將板子和REDHAT LINUX PC連接起來(lái)才行,連接的方式有兩種:一是板子和PC都用普通的網(wǎng)線接到HUB或者交換機(jī)上;二是用交叉網(wǎng)線將板子和PC直連起來(lái),注意!這種網(wǎng)線是特制的,內(nèi)部收發(fā)交換的! 測(cè)試板子和PC網(wǎng)絡(luò)是否連通的方式是:板子正常啟動(dòng)LINUX后,在minicom里面ping PC看是否能通即可,當(dāng)然了,用PC來(lái)ping板子看是否通也是可以的。 注意:板子必須啟動(dòng)到LINUX后才能ping通,板子處在bootloader階段一般是無(wú)法ping通的,即使這時(shí)板子的bootloader初始化了以太網(wǎng)也不行。 若板子跟PC的網(wǎng)絡(luò)不通,mount報(bào)錯(cuò)信息為: # 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 時(shí),有時(shí)沒有選Custom-->Packages里面選擇everything,導(dǎo)致沒有安裝tftp服務(wù)(典型的就是安裝完成后沒有/tftpboot目錄,setup-->system services里面也沒有tftp選項(xiàng) ),這時(shí)若要重新完全安裝就太麻煩了,可如下單獨(dú)安裝改服務(wù): <感謝深圳客戶廖代國(guó)先生和瘦網(wǎng)蟲提供資訊> 安裝tftp 的方法: rpm -ivh foo-1.0-2.i386.rpm 其中foo-1.0-2.i386.rpm在Redhat9的第3張光盤里面。 7.WEB SERVER boa的使用及配置
(1)、對(duì)于uClinux-dist而言,就是make menuconfig在應(yīng)用程序選單中,在network application下面選擇boa,然后到uClinux-dist目錄下執(zhí)行make編譯即可。 對(duì)于有MMU的平臺(tái),如armlinux和ppclinux,都是到網(wǎng)上下載一個(gè)boa的tar包,隨便找個(gè)主流的可用的版本即可,不要最新的也不要最舊的。下載到REDHAT宿主機(jī)上后,解壓到任意目錄,然后修改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/目錄下。 例如一個(gè)典型的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頁(yè)面(例如index.html必須放到/home/httpd/html目錄下,cgi可執(zhí)行文件必須放到/home/httpd/cgi-bin目錄下) (3)、編譯uClinux-dist后或者重做ramdisk后,燒寫后在一臺(tái)WINDOWS的PC機(jī)上就可以用IE訪問板子上的webserver,例如輸入板子IP地址http://192.168.2.111,即可看到你用dreamweaver做的網(wǎng)頁(yè)index.html了。但這里只能做到對(duì)靜態(tài)頁(yè)面的支持,若要支持FORM表單處理和動(dòng)態(tài)頁(yè)面,就必須用C代碼編制CGI代碼,uClinux-dist/user/cgi-generic目錄下提供了樣板代碼,或者可以從華恒公司購(gòu)買。注意:這個(gè)CGI的可執(zhí)行文件必須放置到板子的/home/httpd/cgi-bin目錄下。 建議閱讀文章: http://www.51eda.com/Article/embed_system/rtos/200405/806.html 關(guān)于auth選項(xiàng) 8.關(guān)于PPP撥號(hào)
(1)、首先是根據(jù)板子的串口2的信號(hào)定義制作串口線接MODEM,例如HHCF5249/5272系列平臺(tái)就要將接MODEM的串口線2、3交換,7、8交換。做好線之后,可用tip軟件進(jìn)行與MODEM通信的測(cè)試: tip -l /dev/ttyS1 -s 19200 顯示connected后,用戶就可以輸入AT命令直接與MODEM對(duì)話了,這樣做的目的是測(cè)試串口線。 (2)、配置內(nèi)核支持PPP,并編譯撥號(hào)用相關(guān)應(yīng)用程序:pppd/chat。關(guān)于內(nèi)核支持,就是make menuconfig在內(nèi)核配置的Network device support ---> 中選擇PPP/SLIP/CSLIP等,具體細(xì)節(jié)選項(xiàng)可任選,其實(shí)全部選中就可以了。關(guān)于應(yīng)用程序的做法,和上面boa的做法完全類似。 (3)、編譯撥號(hào)腳本和相關(guān)配置文件。做撥號(hào)必須先在REDHAT上手工撥號(hào)成功(不要用圖像界面),然后才能到板子上做測(cè)試。而且,這只是第一步,簡(jiǎn)單的撥號(hào)上去并沒有任何意思,因?yàn)楫a(chǎn)品過程中,還要涉及許多的應(yīng)用細(xì)節(jié),例如斷線重?fù)軝z測(cè),開機(jī)自動(dòng)撥號(hào),無(wú)流量自動(dòng)斷開,有流量自動(dòng)撥號(hào)等,都是非常麻煩的細(xì)節(jié),需要做長(zhǎng)時(shí)間大量的穩(wěn)定性可靠性測(cè)試。華恒提供經(jīng)過全球各大城市測(cè)試穩(wěn)定應(yīng)用的撥號(hào)軟件(GPRS/ADSL),可大大節(jié)省用戶產(chǎn)品的上市時(shí)間。 |