Bootstrap

RTEMS环境搭建

RTEMS目录及环境搭建



前言

本篇文章主要介绍rtems项目的目录以及rtems的环境搭建过程。
1、RTEMS用户手册
https://docs.rtems.org/docs/6.1/user/
2、RTEMS项目地址
https://gitlab.rtems.org/rtems

一、RTEMS目录

RTEMS的目录如下
├── app
│ ├── hello
│ └── test
├── rtems
│ └── 6
└── src
├── rtems
├── rsb
└── rtems-lwip

二、环境搭建

1.获取源码

mkdir -p $HOME/quick-start/src
cd $HOME/quick-start/src
git clone https://gitlab.rtems.org/rtems/tools/rtems-source-builder.git rsb
git clone https://gitlab.rtems.org/rtems/rtos/rtems.git

2.linux上下载依赖项

sudo apt install build-essential g++ gdb unzip pax bison flex texinfo \
python3-dev python-is-python3 libpython2-dev libncurses5-dev zlib1g-dev \
ninja-build pkg-config

3.构建并安装工具套件

这里的rtems-/根据你需要部署的硬件进行更换

cd $HOME/quick-start/src/rsb/rtems
../source-builder/sb-set-builder --prefix=$HOME/quick-start/rtems/6 6/rtems-aarch64

4.加入环境变量

这里的rtems-aarch64根据你需要部署的硬件进行更换

nano ~/.profile
PATH=$PATH:$HOME/quick-start/src/rtems/6/bin
source ~/.profile

5.手动构建bsp

这里的rtems-aarch64根据你需要部署的硬件进行更换

./waf bspdefaults --rtems-bsps=aarch64/raspberrypi4b
./waf bsplist

6.配置bsp

这里的rtems-aarch64根据你需要部署的硬件进行更换

cd $HOME/quick-start/src/rtems
echo "[sparc/erc32]" > config.ini
echo "BUILD_TESTS = True" >> config.ini
nano config.ini
[aarch64/raspberrypi4b]
BUILD_TESTS = True
[aarch64/a72_lp64_qemu]
BUILD_TESTS = True
[arm/nucleo-h743zi]
[arm/stm32f4]
[arm/stm32f105rc]

7.编译

这里的rtems-aarch64根据你需要部署的硬件进行更换

./waf distclean
./waf configure --prefix=$HOME/quick-start/rtems/6
./waf
./waf install

8.构建测试

这里的sparc-rtems6和sparc/erc32 根据你需要部署的硬件进行更换

rtems-source-builder/source-builder/sb-set-builder --prefix=$HOME/quick-start/rtems/6 \
    --target=sparc-rtems6 --with-rtems-bsp=sparc/erc32 --with-rtems-tests=yes 6/rtems-kernel

export PATH=$HOME/quick-start/rtems/6/bin:" $PATH "
command -v sparc-rtems6-gcc && echo "found" || echo "not found"

9.测试BSP

这里的sparc-rtems6和sparc/erc32 根据你需要部署的硬件进行更换

ls $HOME/quick-start/rtems/6/share/rtems/tester/rtems/testing/bsps
rtems-test --rtems-bsp=a72_lp64_qemu build/aarch64/a72_lp64_qemu
rtems-test --rtems-bsp=stm32h7-stlink build/arm/nucleo-h743zi/

总结

本篇文章简单的介绍了RTEMS的环境构建和测试

;