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的环境构建和测试