1.Linux资源Linux以其开源、免费的特点而成为嵌入式系统的优选操作系统,然而它还有一个巨大的优势就是其浩瀚无限的资源!即无数各 {MOD}的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. 处理器PDF手册下载(请右键点击,选择“目标另存为(A)”)MCF5249处理器手册 MCF5272处理器手册 MPC852T处理器手册:它是MPC866的"ethernet only version",所以就是MPC866的手册 MPC7410处理器手册 MPC7457处理器手册 MPC8540处理器手册 MPC8245/8241处理器手册 MPC860处理器手册 MPC823E处理器手册 MPC8260处理器手册 WINBOND W90N740处理器手册 S3C2410处理器手册 S3C2440处理器手册 S3C4510处理器手册 S3C44B0处理器手册 AT9140800处理器手册 AT91RM9200处理器手册 HMS30C7202处理器手册 Xscale IXP425处理器手册3. 其它资源 华恒冷火HHCF系列嵌入式Linux开发平台常见问题解答华恒PowerPC系列产品常见问题解答华恒ARM系列产品常见问题解答4.Redhat Linux 光盘映像下载点 http://www.linuxiso.org/5.常用资源 串口通信:http://www-900.ibm.com/developerWorks/cn/linux/l-serials/index.shtml#1AT&T嵌入式汇编http://www.32mcu.com/linux1.htmBDM+GDB调试http://www.ucdot.org/article.pl?sid=03/01/30/05482236.宿主机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等操作就会非常快了。再有,若您用的不是华恒的开发板,那么可能您的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 tftp-server-0.32-4.i386.rpm.其中tftp-server-0.32-4.i386.rpm在Redhat9的第3张光盘里面。7.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选项 8.关于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),可大大节省用户产品的上市时间。