为什么ucos那么流行,ecos却知之甚少?一直琢磨这个问题。除了ucos确实较为简单易学之外,开发环境也是入门学习ecos的瓶颈之一。ucos有很好的开发工具,如MDK、IAR等,虽然这些软件是收费的,但这不是中国开发者的障碍。
怎样让ecos也有一个像ucos那样较为友好、容易使用的开发环境呢?windows下,cygwin+eclipse+eclipse插件+J-LINK也许是一个不错的选择。
cygwin+eclipse开发环境
ecos自身带有图形配置工具configtool.exe,配置和编译ecos非常方便,所以我们主要关注ecos应用程序的开发环境。
我们要实现的是,借助cygwin上的交叉编译器,在eclipse上完成代码编辑、编译链接和调试功能。最重要的是,这些软件都是免费的。本节主要介绍cygwin+eclipse开发环境的安装、eCos应用程序工程的建立。限于篇幅,关于工程的设置将放在下一节介绍。
cygwin安装
cygwin的安装详见:cygwin介绍、安装及其使用和使用cygwin建立eCos开发环境。
cygwin的make.exe程序
在eclipse中,如果使用Cygwin GCC或者Cross GCC建立工程,在编译工程时,有可能会出现“*** multiple target patterns. Stop.”编译问题,如上图所示。这是cygwin的make.exe程序导致的,需要把make.exe换成3.81版本的才行。3.81版本的make.exe程序下载地址:http://velep.com/downloads?did=10
3.81版本的make.exe程序需要cygintl-3.dll库文件,否则会出现下面问题:
/usr/bin/make.exe: error while loading shared libraries: cygintl-3.dll: cannot open shared object file: No such file or directory
cygintl-3.dll库可以通过重新安装cywgin并指定安装相应库的方法得到,如下图所示:
在Search中输入intl关键字,在Libs下把libintl3改为Install状态就可以安装cygintl-3.dll库了。
下载安装eclipse
eclipse官方网站有给出现eclipse的安装说明,详见:http://wiki.eclipse.org/Eclipse/Installation,在这里也简要说明一下。
安装JRE
eclipse是一个JAVA程序,无需安装(解压后)即可使用。前提是要有一个JAVA运行时环境(Java runtime environment (JRE))。如果你已安装JRE,这步跳过。
众所周知,JAVA是Oracle发明的,因此,JRE自然是去Oracle官方网站上下载啦。进入Oracle官方网站,点击导航栏中的DOWNLOADs:
找到下面的图标,并点击图标右边的Java SE链接:
进入新页面,找到下图所示的地方:
点击JRE下面的DOWNLOAD按钮,进入JRE下载页面。在这个页面中列出了很多系统下JRE包,如下图所示:
一般选择 Windows x86 Offline,下载之前,点上图中的Accept License Agreement,否则不能下载。
下载后双击直接安装。
安装eclipse
eclipse下载地址:http://www.eclipse.org/downloads/,选择Eclipse IDE for C/C++ Developers,如下图所示:
根据你安装的windows系统,选择32bit或64bit的包下载。点击标题,可进去了解eclipse的一些特性:
注意上图中选择部分,说明该版本的eclipse支持交叉编译,这是我们必需的功能。这个特征(feature)非常重要,可以让我们建立交叉编译工程。
诚如前面所述,eclipse是一个JAVA程序,无需安装。因此,得到eclipse包后,直接解压后即可使用。
eclipse目前最新版本是4.3,对于这个版本,很多人觉得不太好用,更喜欢选择3.7版本的eclipse。安装时,你可以做下选择,选择你喜欢的。
配置eclipse:设置windows下项目文件的路径映射
这项配置属于eclipse的参数配置。如果不配置,在单步等操作时会提示找不到源文件。点Window菜单下的Preferences,找到到C/C++—>Debug—>Souce Lookup Path,如下图。
在上图中已经添加了一个路径映射,如果没有,则可以自己添加一个。在Souce Lookup Path对话框中选中Path Mapping一栏,点击右边的Add…按钮,双击Add Source对话框中的Path Mapping,出现Path Mappings对话框,在该对话框中添加映射路径。
因为我们的工程将放在E盘中,所以建立一个cygwin目录下的E盘也windows下的E盘的路径映射。
eclipse建立ecos应用程序工程
打开eclipse,建立C工程,如下图所示:
在Project name中输入工程名,Project type选择Execute的Empty Project或者Hello World ANSI C Project,Toolchains选择Cross GCC,如下左图所示:
指定交叉编译前缀和交叉编译器路径,如下图所示:
在工程中添加一个main.c文件,并添加一段测试程序,如下图所示(图中proj_ecos_stm32是已建好的一个工程,无需关注)。也许你注意到了main.c文件有个 符号,没关系,在下节介绍的工程设置中,添加ecos install include目录后,该符号就会自动消失。
新建工程后,在编译之前,需对工程进行设置,否则会编译失败。关于ecos应用程序的eclipse工程设置请看下节的介绍。