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

RTEMS连载(2) RTEMS的编译

叶衡虑
2023-12-01
RTEMS的编译

作者 Ray

RTEMS版权所有,转载请注明:来源http://www.rtems.net,作者ray@rtems.net

摘要

    本节主要介绍RTEMS编译的步骤。

交叉编译环境建立好以后,编译就很简单了,解压rtems的文件夹

$tar xjvf rtems4.6.2.tar.bz2

建立rtems的编译路径:

$ mkdir rtems_i386

    这里将以386为例进行介绍,毕竟386最容易实践,此外,i386以上的CPU体系结构远比常见的嵌入式CPU复杂。熟悉了386类型rtems的编译过程,其他平台建立过程可依此类推。

首先要输出刚才编译好的工具链:

export PATH=<INSTALL_POINT>/bin:${PATH}

这里<INSTALL_POINT>是工具链所在的目录(也就是arm-rtems-gcc这些可执行文件的目录),对于FreeBSD用户,这一步可以忽略,对于依照刚才步骤建立工具链的读者,<INSTALL_POINT>对应的是:/home/ray/embedded/toolchain/
configure 指令的格式为:

../rtems-4.6.2/configure --target=<TARGET_CONFIGURATION> /
--disable-posix --disable-networking --disable-cxx /
--enable-rtemsbsp=<BOARD_SUPPORT_PACKAGE>/
--prefix=<INSTALL_POINT>

对于FreeBSD用户

可以使用下面的命令:

../rtems-4.6.2/configure --target=i386-rtems /
--enable-rtemsbsp=i386ex /
--prefix=/home/ray/rtems/rtems-build

然后使用gmake指令产生二进制代码

$ gmake RTEMS_BSP=i386ex

产生i386的库代码

$ gmake RTEMS_BSP=pc686

产生奔腾pro以上版本CPU的二进制代码。 需要说明,configure的时候可以制定gcc的优化选项,比如:

CFLAGS_FOR_BUILD = -O1 CXXFLAGS_FOR_BUILD=-O1 CFLAGS_FOR_HOST=-O1/
CXXFLAGS_FOR_HOST=-O1 CFLAGS_FOR_TARGET=-O1 CXXFLAGS_FOR_TARGET=-O1

对于Linux用户

进入编译目录:

$ cd rtems-i386

进行配置

../rtems-4.6.2/configure --target=i386-rtems --disable-posix --disable-networking --disable-cxx --enable-rtemsbsp=i386ex --prefix=/home/ray/rtems/rtems-build

然后进行编译:

$gmake RTEMS_BSP="bsp1 bsp2 ...”

例如:

gmake RTEMS_BSP=pc586

需要说明,在大部分linux版本下面,缺省的make就是gmake!也可使用下面的配置命令
例一:

$ ../rtems-4.6.2/configure --target=i386-rtems --disable-posix --disable-networking --disable-cxx --enable-rtemsbsp=pc386 -- prefix=/home/ray/rtems/rtems-build
$ gmake

这个例子

直接产生pc386代码
例二:

../rtems-4.6.2/configure --target=i386-rtems /
--enable-rtemsbsp= i386 /
--prefix=/home/ray/rtems/rtems-build
make all install

产生全部的i386的BSP(包括pc386,pc586,pc686......)


例三:

../rtems-4.6.2/configure --target=i386-rtems /
--disable-posix --disable-networking --disable-cxx /
--enable-rtemsbsp=i386ex /
--prefix=/home/ray/rtems/rtems-build

这里工具链安装在/home/ray/embedded/toolchain/目录下面。

例四:

../rtems-4.6.2/configure --target=i386-rtems /
--disable-posix --disable-networking --disable-cxx /
--enable-rtemsbsp=pc686/
--prefix=/home/ray/rtems/rtems-build

产生pc686的makefile。

注意空格!! =号后不能有空格,/前一定要有空格

 类似资料: