Log inUsernamePassword
Log me on automatically each visit    
Register
Register
Log in to check your private messages
Log in to check your private messages
Zaurus 中文论坛 Forum Index » pdaXrom & debain & openBSD

This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.
转帖:嵌入式开发资源及一例。
View previous topic :: View next topic  
Author Message
badog
论坛管理员


Joined: 01 Nov 2006
Posts: 1021

小企鹅: 6575

PostPosted: 2006-Mar-26 Sun, pm12:08 Reply with quote
 Post subject: 转帖:嵌入式开发资源及一例。

本帖转自思微工作室论坛。作者:版主2006。3。16
连接点:http://www.52arm.net/bbs/dispbbs.asp?boardID=18&ID=381&page=1

1.LINUX资源
LINUX以其开源、免费的特点而成为嵌入式系统的优选操作系统,然而它还有一个巨大的优势就是其浩瀚无限的资源!即无数各色的maillist,下面给出各个嵌入式LINUX的站点资源:
_____(1)uClinux:所有NOMMU的处理器都跑uClinuxuClinux发行包下载点: http://www.uclinux.org/MAILLIST搜索引擎:http://mailman.uclinux.org/htdig/一个搞uClinux的开发人员都应该关注的地方:http://www.ucdot.org/
_____(2)ppclinux:POWERPC系列处理器平台都跑ppclinuxppclinux发行包下载点:http://penguinppc.org/dev/kernel.shtmlhttp://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系列处理器都跑armlinuxarmlinux发行包下载:通用的下载方式ftp://ftp.uk.kernel.org/pub/linux/kernel/v2.4/还有可以是CVS的方式:一般的都在sourceforge.nethttp://sourceforge.net/cvs/?group_id=33360CVS命令如下: (这是你的REDHAT LINUX PC必须能够接通INTERNET)cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/armlinux logincvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/armlinux co linux-2.4ARM开发大全:http://www.arm.linux.org.uk/developer/ARM内核移植编译的文章: http://www.arm.linux.org.uk/docs/kerncomp.shtmlMAILLIST搜索引擎:http://www.arm.linux.org.uk/armlinux/mailinglists.php
____(4)bootloader的资源u-boot:http://www.denx.de/其它常用东东:microwin开发maillisthttp://www.linuxhacker.org/cgi-bin/search.cgiminigui开发http://www.minigui.org/cgi-bin/lb5000/leoboard.cgirtai实时性补丁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.常用资源
______(1)串口通信:http://www-900.ibm.com/developerWorks/cn/linux/l-serials/index.shtml#1
______(2)AT&T嵌入式汇编http://www.32mcu.com/linux1.htm
______(3)BDM+GDB调试http://www.ucdot.org/article.pl?sid=03/01/30/05482235

以下是是参考开发例子
1.宿主机LINUX安装注意事项及NFS的配置:
建议都采用REDHAT系列目前华恒所有产品的宿主机平台以REDHAT9.0为标准平台。有些手册上所建议的REDHAT7.2,现在都建议采用REDHAT9.0,当然REDHAT7.2/7.3的系统也都是可以用的,但鉴于市面上目前能买到的都是REDHAT9.0,所以建议采用REDHAT9.0宿主机配置中一个常见的问题就是NFS的配置,这里介绍一种较为直接简单的方法:
首先在REDHAT LINUX PC机上执行setup,弹出菜单界面后,选中: System services,回车进入系统服务选项菜单,在其中选中 [*]nfs ,然后退出setup界面返回到命令提示符下。vim /etc/exports将这个默认的空文件修改为只有如下一行内容:(注意中间有空格)/ (rw)然后保存退出(:wq),然后执行如下命令:/etc/rc.d/init.d/nfs restartShutting 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命令那样设置成Automatic启动方式,执行如下命令重启NFS服务:/etc/rc.d/init.d/nfs restart(最好把上面一句写入/etc/rc.local文件中,这样每次计算机重新启动就省去每次都要执行上面的命令来启动NFS服务)配置完成后,可用如下办法简单测试一下NFS是否配置好了:在宿主机上自己mount自己,看是否成功就可以判断NFS是否配好了。
例如在宿主机/目录下执行:mount -o nolock 192.168.2.32:/ /mnt (有时若根目录不让读写,执行chmod 777 / 试试)然后到/mnt/目录下看是否可以列出/目录下的所有文件和目录,可以则说明mount成功,NFS配置成功。但实际上,REDHAT LINUX PC自己mount自己成功也不能完全说明NFS就可以工作了,因为还有一个防火墙的问题,一般的我们建议客户在安装REDHAT LINUX时就默认选择NO FIREWALL,但若客户没有这样选择的话,REDHAT 启动时会加载防火墙规则,这样你自己能 mount 自己,但其它PC和板子也无法mount这台PC。所以这时要运行setup关闭防火墙。
注意!setup里面的防火墙显示永远都是HIGH,这个是REDHAT一直的一个小BUG,即使你安装时默认选择了NO FIREWALL,setup里面也照样会显示防火墙设置是HIGH的,这个可以不必理会。只要你选择了一次NO FIREWALL就可以了。关于防火墙等问题,请参见您的光盘里面的PDF手册。
另外,建议对LINUX操作不是非常熟悉的客户,务必请阅读我们手册附录的“LINUX常用命令”。还有,就是REDHAT还有这样一个问题,就是加入网关设置后,网络建立TCP链接非常慢,例如FTP/TELNET/NFS等都是,建立链接后,以太网通信还是很快的。若您安装网络时加入了网关,就会出现你在板子NFS mount REDHAT PC时,敲入mount -o nolock pcip:/ /mnt后非常长的时间不返回SHELL提示符,就一直停在那里,这就是建立连接的时间非常的长。一般的,遇到这种情况,建议在REDHAT LINUX PC上执行route del default即去掉网关,然后再进行NFS mount等操作就会非常快了。
若您用的不是华恒的开发板(转帖者注:我们可是Z机!!!),那么可能您的busybox可能没有加入NFS mount的支持,这样您就需要重新编译busybox,加入NFS mount支持,然后更新ramdisk,重新烧写即可。
测试NFS你必须用以太网将板子和REDHAT LINUX PC连接起来才行,连接的方式有两种:一是板子和PC都用普通的网线接到HUB或者交换机上;二是用交*网线将板子和PC直连起来,注意!这种网线是特制的,内部收发交换的!测试板子和PC网络是否连通的方式是:板子正常启动LINUX后,在minicom里面ping PC看是否能通即可,当然了,用PC来ping板子看是否通也是可以的。 注意:板子必须启动到LINUX后才能ping通,板子处在bootloader阶段一般是无法ping通的,即使这时板子的bootloader初始化了以太网也不行。若板子跟PC的网络不通,mount报错信息为:# mount -o nolock 192.168.2.211:/ /mntmount: RPC: Unable to receive; eNrno = No route Fo hostmount: Sfsmount failed::Bad file descriptormount program didn't pass remote address!mount: Mounting 192.168.2.211:/ on /mnt failed: Invalid argument
关于tftp服务安装的问题有些客户在安装REDHAT LINUX 时,有时没有选Custom-->Packages里面选择everything,导致没有安装tftp服务(典型的就是安装完成后没有/tftpboot目录,setup-->system services里面也没有tftp选项 ),这时若要重新完全安装就太麻烦了,可如下单独安装改服务:<感谢深圳客户廖代国先生和瘦网虫提供资讯> 安装tftp 的方法: rpm -ivh foo-1.0-2.i386.rpm 其中foo-1.0-2.i386.rpm在Redhat9的第3张光盘里面。

2.WEB SERVER boa的使用及配置
(1)、对于uClinux-dist而言,就是make menuconfig在应用程序选单中,在network application下面选择boa,然后到uClinux-dist目录下执行make编译即可。对于有MMU的平台,如armlinux和ppclinux,都是到网上下载一个boa的tar包,随便找个主流的可用的版本即可,不要最新的也不要最旧的。下载到REDHAT宿主机上后,解压到任意目录,然后修改boa/src/Makefile里面的编译器,就只要加入两三行即可,例如:CC = /LinuxPPC/CDK/bin/powerpc-linux-gcc -DHHTECH_PPCCPP = /LinuxPPC/CDK/bin/powerpc-linux-g++然后直接在boa/src目录下执行make即可生成boa可执行文件,将其复制到ramdisk加载mount的目录的bin里面,然后等一同加入后面的配置文件和HTML/CGI文件后,重做ramdisk即可。
(2)、编制配置文件boa.confLINUX下的应用程序的配置都是以配置文件的形式提供的,一般的都是放在目标板/etc/目录下或者/etc/config目录下,但boa的配置文件boa.conf一般都放置在目标板/home/httpd/目录下。例如一个典型的boa.conf文件格式如下:ServerName HHCF5272-R1DocumentRoot /home/httpd/htmlScriptAlias /cgi-bin/ /home/httpd/cgi-bin/ScriptAlias /index.html /home/httpd/html/index.html它指定了HTML页面(例如index.html必须放到/home/httpd/html目录下,cgi可执行文件必须放到/home/httpd/cgi-bin目录下)
(3)、编译uClinux-dist后或者重做ramdisk后,烧写后在一台WINDOWS的PC机上就可以用IE访问板子上的webserver,例如输入板子IP地址http://192.168.2.111,即可看到你用dreamweaver做的网页index.html了。但这里只能做到对静态页面的支持,若要支持FORM表单处理和动态页面,就必须用C代码编制CGI代码,uClinux-dist/user/cgi-generic目录下提供了样板代码,或者可以从华恒公司购买。注意:这个CGI的可执行文件必须放置到板子的/home/httpd/cgi-bin目录下。建议阅读文章: http://www.51eda.com/Article/embed_system/rtos/200405/806.html关于auth选项

3.关于PPP拨号
(1)、首先是根据板子的串口2的信号定义制作串口线接MODEM,例如HHCF5249/5272系列平台就要将接MODEM的串口线2、3交换,7、8交换。做好线之后,可用tip软件进行与MODEM通信的测试:tip -l /dev/ttyS1 -s 19200显示connected后,用户就可以输入AT命令直接与MODEM对话了,这样做的目的是测试串口线。
(2)、配置内核支持PPP,并编译拨号用相关应用程序:pppd/chat。关于内核支持,就是make menuconfig在内核配置的Network device support ---> 中选择PPP/SLIP/CSLIP等,具体细节选项可任选,其实全部选中就可以了。关于应用程序的做法,和上面boa的做法完全类似。
(3)、编译拨号脚本和相关配置文件。做拨号必须先在REDHAT上手工拨号成功(不要用图像界面),然后才能到板子上做测试。而且,这只是第一步,简单的拨号上去并没有任何意思,因为产品过程中,还要涉及许多的应用细节,例如断线重拨检测,开机自动拨号,无流量自动断开,有流量自动拨号等,都是非常麻烦的细节,需要做长时间大量的稳定性可*性测试。华恒提供经过全球各大城市测试稳定应用的拨号软件(GPRS/ADSL),可大大节省用户产品的上市时间
Back to top
View user's profile Send private message Send e-mail
magicnero



Joined: 22 May 2006
Posts: 34

小企鹅: 185

PostPosted: 2006-May-29 Mon, am4:21 Reply with quote
 Post subject:

感谢楼主啊!学习中!
Back to top
View user's profile Send private message
Display posts from previous:     
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Zaurus 中文论坛 Forum Index » pdaXrom & debain & openBSD All times are GMT + 8 Hours
Page 1 of 1

 
Jump to:   
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

[ 页面生成时间: 秒 ] :: [ 次查询 ] :: [ ]
Powered by phpBB © 2001, 2002 phpBB Group
iCGstation v1.0 Template By Ray © 2003, 2004 iOptional