嵌入式Linux开发资源大全

2019-07-13 02:13发布

导读:
  1.Linux资源
  Linux以其开源、免费的特点而成为嵌入式系统的优选操作系统,然而它还有一个巨大的优势就是其浩瀚无限的资源!即无数各 {MOD}的maillist,下面给出各个嵌入式Linux的站点资源:
  (1)uClinux:所有NOMMU的处理器都跑uClinux
  uClinux发行包下载点:
  http://www.uclinux.org/
  MAILLIST搜索引擎:
  http://mailman.uclinux.org/htdig/
  一个搞uClinux的开发人员都应该关注的地方:
  http://www.ucdot.org/
  (2)ppclinux:PowerPC系列处理器平台都跑ppclinux
  ppclinux发行包下载点:
  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发行包下载:
  通用的下载方式
  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开发大全:http://www.arm.linux.org.uk/developer/
  ARM内核移植编译的文章: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开发maillist
  http://www.linuxhacker.org/cgi-bin/search.cgi
  minigui开发
  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手册下载(请右键点击,选择“目标另存为(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#1
  AT&T嵌入式汇编
  http://www.32mcu.com/linux1.htm
  BDM+GDB调试
  http://www.ucdot.org/article.pl?sid=03/01/30/0548223
  6.宿主机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 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命令那样设置成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:/ /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
  关于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_PPC
  CPP = /LinuxPPC/CDK/bin/powerpc-linux-g++
  然后直接在boa/src目录下执行make即可生成boa可执行文件,将其复制到ramdisk加载mount的目录的bin里面,然后等一同加入后面的配置文件和HTML/CGI文件后,重做ramdisk即可。
  (2)、编制配置文件boa.conf
  Linux下的应用程序的配置都是以配置文件的形式提供的,一般的都是放在目标板/etc/目录下或者/etc/config目录下,但boa的配置文件boa.conf一般都放置在目标板/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可执行文件必须放到/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),可大大节省用户产品的上市时间。

本文转自
http://www.hhcn.com/chinese/embedlinux-res.htm