嵌入式开发网──新闻
http://www.embed.com.cn/news/newsmain.asp



国内有关嵌入式开发的论坛

嵌入者之家论坛
http://www.embeder.com/bbs/index.asp

电子产品世界的论坛[2004年09月30日]
http://bbs.edw.com.cn/index.asp

恒颐高科论坛[2004年09月30日]
http://www.hyesco.com/forum/index.asp


国内站点

华恒公司的主页,里面有很多的相关资料,有待大家去发现
http://www.hhcn.com/chinese/embedlinux-res.html

SkyEye嵌入式硬件仿真项目
www.skyeye.org
http://gro.clinux.org/projects/skyeye/

公社的SkyEye项目专栏
http://www.linuxfans.org/nuke/module...viewforum&f=58

SkyEye Project
http://www.huihoo.org/mirrors/skyeye/index.html

Pday水清木华,一个国内看嵌入式新闻的好地方!
http://www.pday.com.cn/

中国单片机公共实验室
http://www.bol-system.com/

中国Linux论坛的嵌入式版,有很多开发板原理图的资料
http://openarm.linuxforum.net/

嵌入开发网
http://www.embed.com.cn/

北京科银京成技术公司
http://www.coretek.com.cn/

微芯力科技
http://www.winsilicon.com/

驱动开发网之嵌入式版块,挺综合的一个网站
http://www.driverdevelop.com/index.php

电子爱好者家园[2004年09月30日]
http://home.ee521.com/main.asp

广州友善之臂电子有限公司
http://www.arm9.net/index.asp

艾比德嵌入开发网
http://www.ebdev.com/

嵌入式资讯网(非商业)[2006年01月22日]
http://www.embeded.cn/


国外站点

Linux设备网站,由Rick Lehrbaum创建和维护,是一个嵌入式Linux入门网站,其中包含嵌入式Linux行业的每日新闻、完整系列的快速参考指南、由重要开发者撰写的大量文章,还包括一个交互论坛。
http://www.linuxdevices.com/

下载嵌入式Linux交叉编译工具链的好地方
SnapGear Embedded Linux Distribution Home Page
http://www.snapgear.org/snapgear/index.html
http://www.uclinux.org/pub/uClinux/u...f-tools/gcc-3/

嵌入式Linux联盟(ELC),一个非盈利性的厂商中立的同业工会,其目标是在整个嵌入式、应用和设备市场中发展和推广Linux。
www.embedded-linux.org

Beyond Logic公司主页,提供了许多嵌入式Linux系统开发的资料。
http://www.beyondlogic.org/

嵌入式Linux期刊(ELJ,Embedded Linux Journal),主要关注Linux和其他开源软件在嵌入式系统中的应用。 其中有很多业界领导者为ELJ撰写文章。
embedded.linuxjournal.com

有几本写嵌入式Linux系统的书
http://www.embeddedlogic.com/ELSweb/booklinks.html

有关PowerPC体系的嵌入式
www.mvista.com
www.denx.de/e/index1.php

IXP4XX Open Source Developers Guide
http://ixp4xx-osdg.sourceforge.net/

uClinux/ARM项目
http://adam.kaist.ac.kr/~hschoe/notice.html


个人主页

一个业余爱好者代礼周的个人主页,都是实践出来的
http://www.lomx.net/index.htm

D_J嵌入式个人主页,有很多资料!
http://staff.ustc.edu.cn/~wangzhuo/index.html

renbagshoes的个人主页,有些资料可能对你有用
http://timity2.a77.zgsj.com/

老刘软件
http://www.laoliu-soft.net/


嵌入式Linux操作系统
小型化的嵌入式Linux版本
uClinux — 在没有 MMU 的系统上运行的 Linux。目前支持 Motorola 68K、MCF5206 和 MCF5207 ColdFire 微处理器。
http://www.uclinux.org/index.html

Etlinux — 设计用于在小型工业计算机,尤其是 PC/104 模块上运行的 Linux 的完全分发版
http://www.prosa.it/etlinux/index.html

Tiny Linux ── 可以运行在 386 上的 Linux 分发版。
http://tiny.seul.org/en/

ThinLinux ── 面向专用的照相机服务器、X-10 控制器、MP3 播放器和其它类似的嵌入式应用的最小化的 Linux 分发版。
www.thinlinux.org

LRP(Linux Route Project)
http://www.linuxrouter.org/

Peeweelinux一个小的嵌入式Linux发行版
http://freshmeat.net/projects/peeweelinux

具有实时扩展功能的嵌入式Linux版本
RTLinux(Real Time Linux)是新墨西哥州大学计算机系的Victor Yodaiken和Michael Baranov在1996年开始开发的,现由Fsm Labs公司开发,其最新版本是RTLinux Pro1.2版(针对Linux-2.4版本内核)。RTLinux最基本的概念就是“架空”Linux内核,以便让其他的实时进程尽快地被执行。
http://www.fsmlabs.com/
http://www.rtlinux.com/

RTAI(Realtime Application Interface)源于RTLinux,当时由于RTLinux的架构问题,RTLinux内核从2.0版移植到2.2版发生了很大的困难,一直没有完成。在Dipartimento di Ingegneria Aerospaziale Politecnico di Milano工作的Paolo Mantegazza和他的同事们就决定自行做移植的工作,由RTLinux的困境他们认识到,必须解决将来可能面临的兼容性问题,于是RTAI诞生了。它是一个GNU项目,它在Linux内核中加入一系列可以保证硬实时的编程接口,来实现Linux的实时性。RTAI和RTLinux的区别在于它们实现方法不同。
http://www.rtai.org/

EL/IX

SRT-Linux

MontaVista Linux是MontaVista公司发行的具有商业性质的嵌入式实时Linux。它直接修改Linux内核代码中的调度机制和算法,把Linux内核修改成称为Relatively Fully Preemptable Kernel的抢占式内核,以达到一定的实时性,是一种软实时的Linux。
http://www.mvista.com/

TimeSys Linux是一个商业化软件,它同时提供了2种实时Linux的方法:一种与MontaVista Linux类似,把Linux的内核改为抢占式内核;另一种采用与RTAI类似的方法,在内核层提供了一套保证实时要求的API接口。
http://www.timesys.com/


嵌入式GUI

Microwindows由Century Software的CEO Greg Haerr主持开发的一个公开源码(LGPL)的项目。Microwindows致力于为一些小型设备和平台提供现代图形窗口环境。Microwindows支持许多硬件平台,移植性很强。Microwindows的主要目的之一便是运行在嵌入式Linux上,并且提供了基于Win32/X的两套API接口。
http://www.microwindows.org/
http://microwindows.org/

MiniGUI由原清华大学教师魏永明先生开发,是中国人做的得较好的自由软件之一。MiniGUI 是一种面向嵌入式系统或者实时系统的公开源码(LGPL)的图形用户界面支持系统。它主要运行于Linux控制台,实际可以运行在任何一种具有POSIX线程支持的POSIX兼容系统上。
http://www.minigui.org/
飞漫软件的MiniGUI项目
http://www.minigui.com/company/cindex.shtml

Qt/Embedded是著名的QT库开发商Trolltech正在进行的面向嵌入式系统的QT版本。Qt/Embedded对于各种硬件接口到GUI工具包提供了完整的图形栈。Qt/Embedded的API同Qt/X11和Qt/Windows的相同,但它并不是基于X11库的。Qt/Embedded是公开源码(LGPL)项目。
http://www.trolltech.com/

OpenGUI基于一个用汇编实现的x86图形内核,提供了一个快速的、32位的、高层的C/C++图形接口。OpenGUI也是一个公开源码(LGPL)项目。OpenGUI提供了二维绘图原语,消息驱动的API和BMP文件格式支持。
http://www.tutok.sk/fastgl

PicoGUI是一个可以工作在包括手持式设备等各种硬件上的小型的、可移植的、基于客户/服务器结构的GUI。同X Window系统一样,它具有客户—服务器结构的灵活性,但又不同于X Window系统,它将字体、BMP文件、控件以及一些应用程序所需要的其它的一些资源直接集成在服务器。虽然减少了系统的灵活性,但在速度上有了很大的提高,并且减小了程序大小。
http://picogui.org/

Tiny-X是一个为嵌入式系统而开发的紧缩型的X Window服务器。它由SuSE赞助,由XFree86的核心成员Keith Packard开发。Tiny-X的目标是可以在小内存或几乎无内存的情况下良好运行。
http://www.pps.jussieu.fr/~jch/software/kdrive.html

PIXIL提供嵌入式在高级因特网中应用程序的应用。它虽然是为商业化准备的,但它提供GPL协议下的版本,区别是没有技术支持。
http://www.pixil.org/

NxZilla - Mozilla on NanoX
http://nxzilla.sourceforge.net/

Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video buffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."
http://www.libsdl.org/index.php

GtkFB: GTK+ for the Linux buffer
http://www.linuxdevices.com/articles/AT9024868021.html


嵌入式Linux与Java
Java 2 Micro Edition(J2ME官方站点)
http://www.javasoft.com/j2me/

waba为小设备提供一个编程平台。它被定义为一种语言,一个虚拟机,一个类文件格式以及功能类的设置。
http://wabasoft.com/products.shtml

Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU General Public License.
Kaffe is a great choice as a base for virtual machine education and/or research, or if you need a virtual machine as an integral component of an open source or free software Java distribution.
http://www.kaffe.org/

Wonka(一个java虚拟机,超小)
http://www.acunia.com/wonka


选择内核

x86
http://www.kernel.org/

ARM
http://www.arm.linux.org.uk/developer

PowerPC
http://penguinppc.org/

MIPS
http://www.linux-mips.org/

SuperH
http://linuxsh.sourceforge.net/

M68K
http://www.linux-m68k.org/


其他
http://www.linuxabc.net/
嵌入式linux开发网址




嵌入式Linux开发资源大全
(华恒科技版权所有)
1.Linux资源
Linux以其开源、免费的特点而成为嵌入式系统的优选操作系统,然而它还有一个巨大的优势就是其浩瀚无限的资源!即无数各色的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),可大大节省用户产品的上市时间。