注册 登录
LUPA开源社区 返回首页

ning的个人空间 http://www.lupaworld.com/?131820 [收藏] [复制] [分享] [RSS]

我的博客

《eCos 开发环境搭建指南-1.0.0》完成

热度 3已有 27747 次阅读2008-2-11 01:17 |个人分类:eCos

eCos 开发环境搭建指南

1        前言

这个指南只是依赖于本人开发环境和开发经验,可能会有一些片面,希望有不同意见的读者能够包涵,发email告知我,在后续版本中改进。我的邮箱是 chou.o.ning@gmail.com,因为工作比较忙,不一定会回复,但一定会认真阅读。

这里要非常感谢我的夫人toybear,看牢我的臭蛋儿子,让我能够在春节假期静下心来做一些eCos的事。

2        WindowsCygwin 还是 Linux

两种方式都可以,虽然国内的一些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开发与应用》。

3        选择哪个Linux

我这里用Red Hat Fedora Core,比较流行也比较大众化。我机器上安装了两个版本Fedora Core 6Core 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上使用引导程序分别引导WindowsLinux,这样的话,开发环境都需要在Linux进行,如果要用Windows的应用程序(比如MS word)时,需要切换,比较麻烦,另外对开发者的要求比较高,不建议新手使用这种方式。

使用虚拟机的速度虽然慢一些,但是对于编译eCos的内核来说,还是可以接受的。我的Centrino Duo1.66G笔记本,使用Vmware编译eCos内核,大约只需要半分钟。

4        Fedora Core 4安装要点

安装时有几个要点一定要提醒一下,免得后面花很多时间去更正。当然不是必需这样操作,主要防止新手遇到一些自己无法搞定的困难而花费很多时间,甚至半途而弃。

Fedora Core 4全部安装大约需要10G的空间,请注意硬盘的容量。

这篇文章主要是针对入门的读者,我这里选择中文。

 

这里一定要选择定制(custom),否则无法安装所有的软件包。

 

这里要选择无防火墙和禁用SELinux,否则象ftptelnetsamba等服务无法连接。

 

这里选择安装全部的软件包

 

5        Fedora的配置

a)     登录

我比较喜欢用KDE,下面的配置使用KDE界面。

b)      创建用户

在系统设置-》用户和组群

开发的时候,不要用root帐号,而需要建一个帐号,用该帐号进行开发。

c)       启动一些和开发相关的服务

在系统设置-》服务器设置-》服务。

 

smbsamba服务,用于Windows的目录文件共享。

sshd Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密。

vsftpd ftp服务

xinetd 是一系列服务器,包含telnet tftp等。

启动telnet服务需要修改 /etc/xinetd.d/telnet disable 修改为no,然后将xinetd服务再重新启动一下。

配置完成后,不要忘记保存配置。

 

d)     配置Samba服务器

在系统设置-》服务器设置-》Samba。首先添加samba用户。注意:UNIX用户是需要自己创建的,见上面的“b) 创建用户”。

 

然后添加共享

 

设定可访问的用户

e)       远程X访问的配置

在系统设置-》登陆屏幕,需要启动XDMCP,才能允许远程的X客户端软件访问。

6        开发环境中常用的一些软件介绍

a)     网络映射到磁盘

连接Linux 主机的ip地址,并将工作目录映射成windows的网络驱动器,这样Linux主机下的文件,就可以在windows下进行编辑和操作了。

b)     Source InsightUltraEditVi

很多Linux程序员喜欢用viemacs,我这里不太推荐Linux下的编辑工具,无论代码编写和代码查看、搜索,Linux下的编辑工具的用户界面要相对弱一些。

Source Insight是一个非常好的代码查看工具,代码的查看和搜索速度非常快,有些网站的介绍直接说是“如今最好用的语言编辑器”。

另外我也经常使用UltraEditvi进行临时性的文件编辑。

c)      Telnet工具

主要用它对eCos进行编译。

Telnet工具我推荐putty,它是个免费的telnetssh的客户端程序。下载网页地址为:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

d)     串口工具

Linux下的串口一般为minicomWindows下一般使用Windows自带的超级终端。但是Windows XP的超级终端有个bug,翻页查看历史的串口信息会有乱码。我推荐使用免费的串口终端Tera Term。它的下载网页为:http://hp.vector.co.jp/authors/VA002416/teraterm.html

这里需要说明一下,当前市场在销售的笔记本电脑一般都不带串口,因此需要购买一个usb转串口的设备,大约2040人民币。

e)      Extra!X

该工具是一个远程的X终端仿真软件,因为Telnet无法使用图形,因此对于图形的应用来说,还是需要一个X终端仿真软件。这个对于使用eCos的图形配置工具进行eCos配置的读者来说,非常有用。

讨论组中的eCos专家们不推荐使用图形化的配置工具。使用命令行工具,可以让使用者下功夫去学习cdl文件和内核代码。

f)       tftpd32

对于嵌入式开发来说,经常需要将OS的映象文件通过网口下载到目标板。下载的协议大都使用tftp,这样则需要tftp服务器。我经常使用tftpd32的免费软件,该软件的下载网址为:http://tftpd32.jounin.net

大家也可以使用Linux下的tftpd服务,使用xinetd服务,配置类似于telnet,需要对配置文件(etc/xinetd.d/tftp)进行修改。

g)     beyond compare

这个软件主要用于文件比较用的,显示和修改非常直观和方便。

7        交叉编译工具

大家一开始喜欢自己编译交叉编译工具,其实这个过程经常会遇到编译错误,解决起来还很困难。而且gcc经常会有一些错误,需要打一些补丁。因此我一般推荐使用现成的交叉编译工具。一般芯片供应商会提供交叉编译工具。大家也可以从网上下载。对于ARM来说,可以使用下面的网址: http://arm.cirrus.com/files/tools/arm-elf-gcc-3.2.1-full.tar.bz2

有关交叉编译方面的比较详细的说明,可以参考O’REILLY公司的《构建嵌入式Linux系统》(中国电力出版社)。

如果需要自己编译,可以参考蒋句平的《嵌入式可配置实时操作系统eCos开发与应用》一书。

8        参考书目和网站连接

a)     Antrony J. Massa 《嵌入式可配置实时操作系统eCos软件开发》北京航空航天大学出版社

这本书是eCos的经典之作,网上有free的英文版下载,英文名为《Embedded Software Development with eCos》。

b)     蒋句平 《嵌入式可配置实时操作系统eCos开发与应用》机械工业出版社

这本书绝大多数的内容翻译自《eCos User guide》和《eCos reference》,虽然自己的东西少了一些,但确实是一本不错的参考书。我一般先查看这本书,然后再去看英文的参考。

c)      http://ecos.sourceware.org

eCos的主要资源和文档,主要是针对2.0的版本,基本不再更新了。

d)     http://www.ecoscentric.com/devzone/snapshots.shtml

eCosCVS代码库的快照,可以下载到最新的eCos源代码。

e)      http://ecos.sourceware.org/intouch.html

eCos的邮件讨论组的订阅网址

f)       http://www.lupaworld.com/131820

本人的博客,刚刚开。后面会推出一些eCos的资源,将市面上已有的产品改造成开发实验板,提供详细的文档和所有源代码,让eCos的学习者和开发者可以自行DIY一块eCos或者uCos的实验板,为eCos的推广做一些贡献。

刚表态过的朋友 (0 人)

发表评论 评论 (8 个评论)

冷风 2008-4-20 18:39
非常感谢!我目前正在学习eCos!
zhyyh 2008-5-2 22:13
ning 大侠,我编译binutils的时候,出现如下信息 Configuring for a i686-pc-cygwin host. Created "Makefile" in /tmp/build/binutils using "mh-frag" /tmp/cNf2280/cNf2280.pos: line 8: $'gcc\r': command not found *** The command 'gcc -o conftest -g -O2 conftest.c' failed. *** You must set the environment variable CC to a working compiler. 这个是什么原因啊,是我的环境变量没设对还是cygwin没装好啊?我把环境变量PATH设置成了安装目录啊。
ning 2008-5-2 22:28
你在cygwin有没有安装gcc? 你在命令行下敲 gcc 或者 cc,看看是否有错误
回复 ning 2008-5-2 22:34
建议你把cygwin的所有组件都装全,这样就不会出这些问题了。
zhyyh 2008-5-3 22:08
非常感谢,输入这两个命令的时候提示是no input files,但是在安装目录下面能找到gcc.exe.我是下载了安装的,全部组建都安装了,可能没安装对,我重新安装试试。
bucker 2008-5-18 16:42
想学eCos,非常感谢!
Guest 2008-7-3 13:24
ning,很感谢你,我目前正在学习eCos,你的文章对我帮助很大,我已经成功搭建开发环境 vmware linux模式 请问你好联系方式么? 想和你交流一下。
回复 wanghaotian2008 2011-3-25 16:32
最近正在学eCos,你的文章的很好。

facelist

您需要登录后才可以评论 登录 | 注册
验证问答 换一个 验证码 换一个

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部