当前位置: 首页 > 工具软件 > RTEMS > 使用案例 >

RTEMS 编译环境的建立(Cygwin)

陆昊
2023-12-01

开发环境是进行 RTEMS 开发的基础。RTEMS 为开发人员准备了基于Windows和Linux两大操作系统的工具链。
两条工具链都是GNU工具链在不同平台上的移植。本质上都是相同的。

在Windows操作系统下,建立Cygwin的开发环境,在cygwin上编译RTEMS的应用程序,
使用Windows的编辑工具编辑RTEMS的代码。
由于Cygwin是一个Windows下类Linux的环境。所以本文介绍的方法也适用于Linux的大部分发行版本。

Cygwin目前可以工作在所有发布的Windows版本,Windows CE除外。推荐使用Windows XP SP2/SP3的平台,
如果使用最新的Windows 7也可。读者请到http://www.cygwin.com下载最新的cygwin安装程序。
读者如果在国内安装Cygwin,可以选择http://www.cygwin.cn/pub作为安装源,选择地域相近的安装源,
可以大幅节省下载时间。安装cygwin时请注意,
由于默认安装选项是没安装一些重要的开发工具,读者需要在安装程序中手动指定以下工具:

  1. Devel选项下的~binutils、gcc-core、gcc-ada、gcc-g++、gcc4、gcc4-ada、gcc4-core、gcc4-g++、gdb和make,
  2. gcc相关的库会自动被安装程序选中,无需指定;
  3.  Perl选项下的perl和perl-Error;



如果有读者对 vi 情有独钟,那么也需要手动指定。选择完毕后即可开始安装,时间视网速而定,
尽量减少一些不必要的安装包,否则要有充分的心理准备。安装完成后,即开始进行 RTEMS 工具链的安装。
本文使用的 RTEMS 版本是 RTEMS-4.9.4,用户需要下载相关的交叉工具链。本书的重点是向大家介绍 RTEMS 的开发流程,
故不向读者介绍如何编译 RTEMS 交叉工具链。OAR 公司已经为 RTEMS 开发者编译好了相关的工具链,
只需从 http://www.rtems.com/ftp/pub/rtems/cygwin/4.9/ 中下载我们需要的工具链,安装到 Cygwin 里即可。
以 ARM 的工具链为例,需要下载以下工具链:

  1. rtems-4.9-binutils-common-2.19-3.tar.bz2
  2. rtems-4.9-arm-rtems4.9-binutils-2.19-3.tar.bz2
  3. rtems-4.9-gcc-common-4.3.2-24.tar.bz2
  4. rtems-4.9-arm-rtems4.9-gcc-4.3.2-24.tar.bz2
  5. rtems-4.9-arm-rtems4.9-gcc-c++-4.3.2-24.tar.bz2
  6. rtems-4.9-gdb-common-6.8-11.tar.bz2
  7. rtems-4.9-arm-rtems4.9-gdb-6.8-11.tar.bz2
  8. rtems-4.9-newlib-common-1.16.0-24.tar.bz2
  9. rtems-4.9-arm-rtems4.9-newlib-1.16.0-24.tar.bz2
  10. rtems-4.9-autoconf-2.62-4.tar.bz2
  11. rtems-4.9-automake-1.10.1-4.tar.bz2



官方推荐的安装位置是/opt,由于官方文档以及一些实例都是基于这个路径,
尽量不要更改这个路径,以造成不必要的麻烦。在windows下可以使用一些图形解压工具如WinRAR做解压缩。
也可以在Cygwin中使用tar命令做解压缩。注意:在Linux上安装开发工具时,工具安装文件是RPM包,安装时系统
会对依赖做检查,有一定的安装顺序,请耐心的按照系统的提示,合理的选择工具链安装顺序。Cygwin下采用的是直接
解压缩,没有对安装包做依赖检查,所以没有安装顺序。

工具链安装完毕后,解压缩 rtems-4.9.4.tar.bz2,假设解压缩在~/rtems-4.9.4下。
我们顺序输入以下命令测试一下工具链是否工作正常。



如果顺利编译完毕,那么恭喜你,工具链已经正常工作了。如果不能正常结束,请仔细查阅系统输出信息,考虑以下几个问题:

  1. Cygwin~是否是最新的版本?
  2. Cygwin~中相关的开发工具是否全部安装?
  3. RTEMS~交叉工具链中的工具是否全部安装?
  4. RTEMS~交叉工具链路径是否正确?
  5. 是否将~RTEMS~交叉工具链路径输入到环境变量 PATH 中?



预祝您的Cygwin的工作环境安装成功。

 

另外,我在 Linux、cygwin上都顺利实现了rtems编译环境的建立,欢迎大家与我讨论关于rtems的问题。

baconxu@gmail.com,谢谢。

 类似资料: