RTEMS 开发环境建立 (Linux)

已经写了Cygwin下的RTEMS方式的建立,但是思前想后,还是把Linux的也写了吧。

先对比一下cygwin和linux的开发环境的优缺点。

1.cygwin 方式
– 下载相关的 GNU Tools 的 压缩 包并安装;
– 编译速度慢,但开发界面友好。

2.纯 linux 方式
– 下载相关的 GNU Tools 的 RPM 包并安装;
– 编译速度快,但 Linux 下较难找到合适的编辑工具;
– 可以使用 wine ,将 source insight 运行起来。

3.虚拟机 + linux 方式
– 建立虚拟机环境;
– 下载相关的 GNU Tools 的 RPM 包并安装;
– 编译速度快;
– 可以使用 windows 下的文本编辑工具;
– 虚拟机和 windows 要文件共享,配置起来较麻烦,有权限问题。

我选择了第三种方式,操作系统 win xp sp3, 虚拟机采用Vmware 6.5; Linux 采用 Linux FC8。官方有采用VirtualBox的镜像,比较大,但是下来以后这些麻烦事都不用管了,直接就可以开发了。如果想自己动手,那就一起来吧。

FC8 装在Vmware 6.5 上,Vmware 6.5还不支持 fc8,只能选择 other linux kernel 2.6.x。我安装是带Gnome界面的开发环境,顺便带上 samba服务器。

安装完毕,虚拟机的网卡选择NAT方式,虚拟机的IP地址应该是192.168.XX.128,主机的地址是:192.168.xx.1,XX应该是网段,这个值好像不同的机器上不一样。不管那么多,下载相关的 rtems 4.9 的开发工具链。


http://www.rtems.org/ftp/pub/rtems/linux/4.9/fedora/8/i386/
下载以下 RPM 包
– rtems-4.9-arm-rtems4.9-binutils-2.19-3-el5.i386.rpm
– rtems-4.9-arm-rtems4.9-gcc-4.3.2-24.el5.i386.rpm
– rtems-4.9-arm-rtems4.9-gcc-c++-4.3.2-24.el5.i386.rpm
– rtems-4.9-arm-rtems4.9-gdb-6.8-11.el5.i386.rpm
– rtems-4.9-arm-rtems4.9-newlib-1.16.0-24.el5.i386.rpm
– rtems-4.9-autoconf-2.62-4.el5.noarch.rpm
– rtems-4.9-automake-1.10.3-1.el5.noarch.rpm
– rtems-4.9-binutils-common-2.19-3.el5.i386.rpm
– rtems-4.9-gcc-common-4.3.2-24.el5.i386.rpm
– rtems-4.9-gdb-common-4.3.2-24.el5.i386.rpm
– rtems-4.9-newlib-common-1.16.0.-24.el5.i386.rpm

注意, RPM 包有依赖关系,安装时应注意顺序,注意 rpm 命令的提示,选择 合适的顺序安装。装好的地址是 /opt/rtems-4.9/bin 下。



安装完毕了,就要考虑虚拟机与windows共享文件的问题:
文件共享方式大致有 5 种
1.– 文件存在于 windows 上, Linux 使用 NFS 共享 Windows 的文件 ( 编译速度慢,有 文件 权 限问题,使用方便 )
2.– 文件存在于 windows 上,使用 vmware6.5 的 vmware tools 共享 windows 的文件夹 ( 编译速度慢,有 文件 权限问题,使用方便 )
3.– 文件存在于 windows 上,使用 SSH 等工具共享文件 windows 文件夹的文件 ( 编译速 度慢,有 文件 权限问题,使用方便 )
4.– 文件存在于 Linux 上, windows 通过 Linux 的 Samba 服务器访问文件 ( 编译速度快, 无文件权限问题,由于 Linux 的网络权限问题,使用起来略有不便 )
5.– 两份文件,一份存于 Linux ,一份存于 windows ,他们之间采用 svn 同步文件系统 ( 编译速度快,无权限问题,由于需要通过 svn 共享文件,使用起来不方便 )

推荐使用第四种方式,文件系统存于 Linux 上, windows 下用于查看编辑代 码文件,速度要求不是很高;且此种方式没有文件权限问题,脚本在编译和执行的过程中不会产生奇怪的编译现象 。


Samba服务器的共享:
1.Samba 服务器的配置在图形界面下是非常方便和简单的,这里略去不讲;实在不行,就请参考网上其他网友写的文章;如没有安装图形界面,请参考其他网友文章,用脚本配置Samba,过程也不复杂。
2.关闭 SELinux,SELinux是Linux的安全机制,虚拟机上没什么必要,关掉增加共享速度 ,修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启;
3.启动 root 帐号作为默认共享帐号,这可以避免很多的权限问题;
4.注意在 linux 中加入宿主机的 IP 地址(即windows的机器名称和IP地址)解析,否 则 windows 访问 linux 会非常慢。因为windows的网络基于Netbios的,而Linux基于dns的,linux不能通过dns反向解析windows地址,会导致速度奇慢无比。

选择工具链的路径
– export PATH=/opt/rtems-4.9/bin:$PATH
– 在 cygwin 下请不要这样: export PATH=$PATH:/opt/rtems-4.9/bin


进入 rtems4.9 的源代码文件夹 ( 假设编译 csb337 的 bsp)
– ./bootstrap – c
– ./bootstrap – p
– ./bootstrap
– mkdir csb337
– cd csb337
– ../configure –-target=arm-rtems4.9 –-disable-posix –-enable-networking –- enable-cxx –enable-rtemsbsp=csb337 –prefix=/opt/rtems-4.9
– make all install( 注意,在 cygwin 下分开两个命令 ,make; make install)

注意, linux 下生成的 makefile 在 cygwin 下不能使用,一个使用的是 gmake 命令,一个使用的是 make 。


如果编译成功了,恭喜,Linux下的工具链也安装成功了。注意把Linux下的rtems4.9的源代码目录共享,那么在windows下也可以访问了,并且可以使用windows下的开发工具进行编辑。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
嵌入式操作系统RTEMS是一个开源的实时操作系统,其体系结构研究主要涉及系统的核心组件、系统内核以及支持库的设计。RTEMS的体系结构设计着重解决了实时性、稳定性、灵活性等方面的问题,使得其具备适用于各类嵌入式设备的特性。 首先,RTEMS的体系结构包括了核心组件的设计。核心组件主要包括调度器、中断处理器、时钟管理器和内存管理器等,它们共同协作以保证操作系统的实时性和可靠性。调度器负责任务的调度和切换,中断处理器负责处理硬件中断,时钟管理器负责管理系统的时钟和定时器,内存管理器负责管理系统的内存资源。 其次,RTEMS的体系结构设计了系统内核,内核包括了任务管理、进程间通信、设备驱动等子系统。任务管理子系统负责创建、删除和管理任务及其优先级,进程间通信子系统提供了多种通信方式,用于任务之间的数据交换和同步,设备驱动子系统负责管理和控制外设设备。 此外,RTEMS的体系结构还包括了支持库的设计。支持库提供了丰富的功能接口,包括文件系统、网络协议栈、图形界面等,以便开发者可以更方便地进行应用程序的开发。支持库还包括了各类驱动程序,用于操作硬件设备、传感器等外部设备。 针对RTEMS的应用开发环境的设计与实现,可以提供开发工具链、仿真环境和调试工具等方面的支持。开发工具链包括编译器、调试器和链接器等,用于编译和构建应用程序。仿真环境可以提供虚拟硬件平台,用于在开发过程中模拟嵌入式设备的运行环境。调试工具可以帮助开发者进行错误定位和调试,提高开发效率。 综上所述,嵌入式操作系统RTEMS的体系结构研究与应用开发环境的设计与实现是为了使其具备适用性广泛的特点,并提供便利的开发环境,以支持开发者更加高效地进行嵌入式应用程序的开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值