RTEMS linux 下开发环境搭建

深碍√TFBOYSˉ_ 2022-11-29 11:28 474阅读 0赞

RTEMS linux 下开发环境搭建

RTEMS官网推荐使用RSB搭建GNU交叉编译环境工具链。这里我以ubuntu14.04为例子,说明流程。

(1)通过RSB编译搭建交叉编译环境

首先安装RSB需要的软件包

$ sudo apt-get build-dep binutils gcc g++ gdb unzip git python2.7-dev

安装这个软件包的时候,我试过出现以下找不到某个软件包源码的错误,原因有可能是选择的软件更新服务器不包含该软件包,换个一个服务器地址可以解决,用主服务器是没有问题的。

2020081923302231.png

设置目录等(注意以下命令需要在特定的目录运行,不要随便切换到其他目录)

$ cd

$ mkdir -p development/rtems/src

$ cd development/rtems/src

从github获取工具集的源码

$ git clone git://git.rtems.org/rtems-source-builder.git

$ cd rtems-source-builder

检验,检验设置是否正确,正确和不正确的结果如下

若设置不正确,显示结果可能如下

$ source-builder/sb-check

warning: exe: absolute exe found in path: (__objcopy) /usr/local/bin/objcopy

warning: exe: absolute exe found in path: (__objdump) /usr/local/bin/objdump

error: exe: not found: (_xz) /usr/local/bin/xz

RTEMS Source Builder environment is not correctly set up

若设置正确,显示结果为

$ source-builder/sb-check

RTEMS Source Builder environment is ok

编译工具集,先进入RTEMS目录结构的正确位置

$ cd rtems

此时,所在的目录应该为

~/development/rtems/src/rtems-source-builder/rtems

运行命令检查可以用于编译的配置,

$ ../source-builder/sb-set-builder —list-bsets

若出现不允许读写/usr目录,加上sudo.

我的运行结果为

RTEMS Source Builder - Set Builder, 4.12 (08f709966f97 modified)

Examining: config

Examining: ../source-builder/config

Examining: ../bare/config

  1. 4.12/rtems-aarch64.bset
  2. 4.12/rtems-all.bset
  3. 4.12/rtems-arm.bset
  4. 4.12/rtems-autotools-base.bset
  5. 4.12/rtems-autotools-internal.bset
  6. 4.12/rtems-autotools.bset
  7. 4.12/rtems-bfin.bset
  8. 4.12/rtems-default.bset
  9. 4.12/rtems-epiphany.bset
  10. 4.12/rtems-i386.bset
  11. 4.12/rtems-lm32.bset
  12. 4.12/rtems-m32c.bset
  13. 4.12/rtems-m68k.bset
  14. 4.12/rtems-microblaze.bset
  15. 4.12/rtems-mips.bset
  16. 4.12/rtems-moxie.bset
  17. 4.12/rtems-nios2.bset
  18. 4.12/rtems-or1k.bset
  19. 4.12/rtems-powerpc.bset
  20. 4.12/rtems-sh.bset
  21. 4.12/rtems-sparc.bset
  22. 4.12/rtems-sparc64.bset
  23. 4.12/rtems-tools.bset
  24. 4.12/rtems-v850.bset
  25. 4.12/rtems-x86\_64.bset
  26. databases/sqlite.bset
  27. devel/autotools-base.bset
  28. devel/autotools-internal.bset
  29. devel/autotools.bset
  30. devel/dtc.bset
  31. devel/libtool.bset
  32. devel/libusb.bset
  33. devel/or1ksim.bset
  34. devel/qemu.bset
  35. gnu-tools-4.6.bset
  36. gnu-tools-4.8.2.bset
  37. graphics/freetype2.bset
  38. graphics/graphics-all.bset
  39. graphics/libjpeg.bset
  40. graphics/libpng.bset
  41. graphics/libtiff.bset
  42. graphics/microwindows.bset
  43. graphics/nxlib.bset
  44. graphics/t1lib.bset
  45. lang/gcc491.bset
  46. net-mgmt/net-snmp.bset
  47. net/lwip.bset
  48. net/ntp.bset
  49. net/protobuf.bset
  50. rtems-base.bset
  51. rtems-package.bset
  52. rtems-urls.bset
  53. rtems-version.bset

指定编译器安装路径,log文件,其中 4.12/rtems-arm是系统支持的编译配置文件.可以从上一步的显示的配置中选择一个,我这里选择为4.12/rtems-arm,每个配置文件有不同的配置,如4.12/rtems-all.bset 表示rtem4.12支持的所有处理器架构,4.12/rtems-all.bset 表示rtems4.12支持的arm处理器架构。

$ ../source-builder/sb-set-builder —log=l-arm.txt \

  1. --prefix=$HOME/development/rtems/4.12 4.12/rtems-arm

编译需要比较长时间,我的笔记本电脑编译花了一个半小时。

(2)编译 rtems

$ cd ~/development/rtems/src

下载rtems源码

$ git clone git://git.rtems.org/rtems.git

$ export PATH=$HOME/development/rtems/4.12/bin:$PATH

$ cd rtems
$ ./bootstrap

$ cd ..
$ mkdir rtems-build
$ cd rtems-build

其中 arm-rtems4.12 为工具链的版本,enable-rtemsbsp 选择对应的bsp参与编译
其他为一些功能选项,根据需要打开
../rtems/configure \
--prefix=`pwd`/../rtems_stm32f4xx \
--target=arm-rtems4.12 \
--disable-maintainer-mode \
--disable-multiprocessing \
--disable-posix \
--disable-networking \
--disable-cxx \
--disable-tests \
--disable-rtems-debug \
--disable-multilib \
--disable-paravirt \
--disable-drvmgr \
--disable-docs \
--enable-rtemsbsp=stm32f4

make
make install

编译完成.

编译后安装的文件在 ~/development/rtems/src/rtems_stm32f4xx

(3)编译例子

下载
git clone git://git.rtems.org/examples-v2.git examples-v2
添加makefile路径变量
export RTEMS_MAKEFILE_PATH=~/development/rtems/src/rtems/rtems_stm32f4xx/arm-rtems4.12/stm32f4/

cd examples-v2
make

编译完成

Tip:为了以后启动终端不用重复设置环境变量,可以把它们添加到家目录下的配置文件.bashrc中,在里面加入两行.如果没设置好这两个环境变量,在编译例子的时候会出现错误.

export PATH=$HOME/development/rtems/4.12/bin:$PATH

export RTEMS_MAKEFILE_PATH=~/development/rtems/src/rtems/rtems_stm32f4xx/arm-rtems4.12/stm32f4/

然后更新一下

$ source .bashrc

发表评论

表情:
评论列表 (有 0 条评论,474人围观)

还没有评论,来说两句吧...

相关阅读

    相关 windowsLinux开发环境

      以前一直都是安装的双系统来运行windows和linux,当想学习一下linux编程的时候就跑到linux下面去,做其他事情的时候就转到windows下面来。虽然在linu