热度 3|
这个指南只是依赖于本人开发环境和开发经验,可能会有一些片面,希望有不同意见的读者能够包涵,发email告知我,在后续版本中改进。我的邮箱是 chou.o.ning@gmail.com,因为工作比较忙,不一定会回复,但一定会认真阅读。
这里要非常感
两种方式都可以,虽然国内的一些eCos的书籍很多都是介绍Cygwin,我这里还是建议大家使用Linux环境。很多开源软件包可以直接安装在Linux上,但在Cygwin上必须自己编译、安装,比较麻烦,且出了问题不好解决。另外我觉得既然大家选择了eCos,也就认同了开源,自然就选择了Linux。大家可能会担心开发环境的一些问题,比如在Linux下的开发工具不太会用或者不太好用等问题,在文章后面有介绍,不放心的话可以先看“6 开发环境中常用的一些软件介绍”,你会发现既可以选择Linux的开发工具,同样也可以和平时一样,使用界面非常友好的Windows应用程序。
下面是eCos讨论组Grant Edwards的建议,供大家参考:“It can be used under Windows+Cygwin, but it's less work and more reliable under Linux. Even if you're not an experienced Linux user, in the long run you'll probably spend less time installing and learning to use Linux that you will spend wrestling with Cygwin and Windows problems.”
我对Cygwin的使用很少,没有太多的发言权,因此本文后面主要以Linux环境为主,Cygwin的环境可以参考蒋句平的《嵌入式可配置实时操作系统eCos开发与应用》。
我这里用Red Hat 的Fedora Core,比较流行也比较大众化。我机器上安装了两个版本Fedora Core 6和Core 4。这里推荐Core 4,主要的原因有两个:
ü Core 4有全部安装的选项,而Core 6没有。不会出现由于没安装某个软件包而导致eCos或者其他软件的某些功能无法运行。比方说如果没有安装tcl,就无法编译eCos命令行配置工具ecosconfig。
ü Core 6没有gtk 1.2的包,无法运行图形化的eCos配置工具。
Fedora Core 4的下载路径如下,速度还可以,一个晚上就可以下完。
ü http://mirrors.kernel.org/fedora/core/4/i386/iso/FC4-i386-disc1.iso
ü http://mirrors.kernel.org/fedora/core/4/i386/iso/FC4-i386-disc2.iso
ü http://mirrors.kernel.org/fedora/core/4/i386/iso/FC4-i386-disc3.iso
ü http://mirrors.kernel.org/fedora/core/4/i386/iso/FC4-i386-disc4.iso
有条件的读者可以使用两台PC做开发,一台windows,一台Linux服务器,相互间用网线互联。没有条件的读者可以选择使用VMware,在同一台PC上安装多个操作系统,使用VMware的桥接网卡和Windows互联。
经常使用Linux环境的读者,可以考虑在Linux的主机上安装VMware,起Windows的虚拟机。
有的读者喜欢在一台PC上使用引导程序分别引导Windows和Linux,这样的话,开发环境都需要在Linux进行,如果要用Windows的应用程序(比如MS word)时,需要切换,比较麻烦,另外对开发者的要求比较高,不建议新手使用这种方式。
使用虚拟机的速度虽然慢一些,但是对于编译eCos的内核来说,还是可以接受的。我的Centrino Duo的
安装时有几个要点一定要提醒一下,免得后面花很多时间去更正。当然不是必需这样操作,主要防止新手遇到一些自己无法搞定的困难而花费很多时间,甚至半途而弃。
Fedora Core 4全部安装大约需要
这篇文章主要是针对入门的读者,我这里选择中文。
这里一定要选择定制(custom),否则无法安装所有的软件包。
这里要选择无防火墙和禁用SELinux,否则象ftp、telnet、samba等服务无法连接。
这里选择安装全部的软件包
我比较喜欢用KDE,下面的配置使用KDE界面。
在系统设置-》用户和组群
开发的时候,不要用root帐号,而需要建一个帐号,用该帐号进行开发。
在系统设置-》服务器设置-》服务。
smb是samba服务,用于Windows的目录文件共享。
sshd 是Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密。
vsftpd 是ftp服务
xinetd 是一系列服务器,包含telnet tftp等。
启动telnet服务需要修改 /etc/xinetd.d/telnet 将disable 修改为no,然后将xinetd服务再重新启动一下。
配置完成后,不要忘记保存配置。
在系统设置-》服务器设置-》Samba。首先添加samba用户。注意:UNIX用户是需要自己创建的,见上面的“b) 创建用户”。
然后添加共享
设定可访问的用户
在系统设置-》登陆屏幕,需要启动XDMCP,才能允许远程的X客户端软件访问。
连接Linux 主机的ip地址,并将工作目录映射成windows的网络驱动器,这样Linux主机下的文件,就可以在windows下进行编辑和操作了。
很多Linux程序员喜欢用vi和emacs,我这里不太推荐Linux下的编辑工具,无论代码编写和代码查看、搜索,Linux下的编辑工具的用户界面要相对弱一些。
Source Insight是一个非常好的代码查看工具,代码的查看和搜索速度非常快,有些网站的介绍直接说是“如今最好用的语言编辑器”。
另外我也经常使用UltraEdit和vi进行临时性的文件编辑。
主要用它对eCos进行编译。
Telnet工具我推荐putty,它是个免费的telnet和ssh的客户端程序。下载网页地址为:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Linux下的串口一般为minicom,Windows下一般使用Windows自带的超级终端。但是Windows XP的超级终端有个bug,翻页查看历史的串口信息会有乱码。我推荐使用免费的串口终端Tera Term。它的下载网页为:http://hp.vector.co.jp/authors/VA002416/teraterm.html
这里需要说明一下,当前市场在销售的笔记本电脑一般都不带串口,因此需要购买一个usb转串口的设备,大约20-40人民币。
该工具是一个远程的X终端仿真软件,因为Telnet无法使用图形,因此对于图形的应用来说,还是需要一个X终端仿真软件。这个对于使用eCos的图形配置工具进行eCos配置的读者来说,非常有用。
讨论组中的eCos专家们不推荐使用图形化的配置工具。使用命令行工具,可以让使用者下功夫去学习cdl文件和内核代码。
对于嵌入式开发来说,经常需要将OS的映象文件通过网口下载到目标板。下载的协议大都使用tftp,这样则需要tftp服务器。我经常使用tftpd32的免费软件,该软件的下载网址为:http://tftpd32.jounin.net
大家也可以使用Linux下的tftpd服务,使用xinetd服务,配置类似于telnet,需要对配置文件(etc/xinetd.d/tftp)进行修改。
这个软件主要用于文件比较用的,显示和修改非常直观和方便。
大家一开始喜欢自己编译交叉编译工具,其实这个过程经常会遇到编译错误,解决起来还很困难。而且gcc经常会有一些错误,需要打一些补丁。因此我一般推荐使用现成的交叉编译工具。一般芯片供应商会提供交叉编译工具。大家也可以从网上下载。对于ARM来说,可以使用下面的网址: http://arm.cirrus.com/files/tools/arm-elf-gcc-3.2.1-full.tar.bz2
有关交叉编译方面的比较详细的说明,可以参考O’REILLY公司的《构建嵌入式Linux系统》(中国电力出版社)。
如果需要自己编译,可以参考蒋句平的《嵌入式可配置实时操作系统eCos开发与应用》一书。
这本书是eCos的经典之作,网上有free的英文版下载,英文名为《Embedded Software Development with eCos》。
这本书绝大多数的内容翻译自《eCos User guide》和《eCos reference》,虽然自己的东西少了一些,但确实是一本不错的参考书。我一般先查看这本书,然后再去看英文的参考。
eCos的主要资源和文档,主要是针对2.0的版本,基本不再更新了。
eCos的CVS代码库的快照,可以下载到最新的eCos源代码。
eCos的邮件讨论组的订阅网址
本人的博客,刚刚开。后面会推出一些eCos的资源,将市面上已有的产品改造成开发实验板,提供详细的文档和所有源代码,让eCos的学习者和开发者可以自行DIY一块eCos或者uCos的实验板,为eCos的推广做一些贡献。