zephyr 是 Linux 基金会为物联网推出的基金会 RTOS,与 Linux 相比 footprint 很小。虽然是第一版,但源代码是风河 Rocket,本身应该比较成熟。
目前,我已经尝试了当地的环境。
以下是相关记录。
1. 代码的下载
$ git clone https://gerrit.zephyrproject.org/r/zephyr zephyr-project
2. SDK 下载
$ wget https://nexus.zephyrproject.org/content/repositories/releases/org/zephyrproject/zephyr-sdk/0.7.2-i686/zephyr-sdk-0.7.2-i686-setup.run
这是一个直接执行的自解压包:
$ chmod +x zephyr-sdk-0.7.2-i686-setup.run $ ./zephyr-sdk-0.7.2-i686-setup.run
注:这里可以选择安装在$HOME目录中,所以不需要 sudo
3. 设置配置文件
设置 $HOME下 .zephyrrc 这里的文件 /opt/zephyr-sdk 需要sdk安装目录。
$ cat <<EOF > ~/.zephyrrcexport ZEPHYR_GCC_VARIANT=zephyrexport ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdkEOF
4. 测试程序的编译
编译前执行代码库中的脚本:
$ source zephyr-env.sh
4.1. 编译 zephyr/samples/hello_world/nanokernel
$ make -C zephyr/samples/hello_world/nanokernel qemu
最后,编译完成后,将启动 qemu 显示虚拟环境 hello, world 这一句话。
4.2.编译 zephyr/samples/hello_world/microkernel
$ make -C zephyr/samples/hello_world/microkernel qemu
最后,编译完成后,将启动 qemu 显示虚拟环境 hello, world 这一句话。
4.2.编译 ARM zephyr/samples/hello_world/microkernel
$ cd zephyr/samples/hello_world/microkernel $ make distclean $ make BOARD=qemu_cortex_m3 ARCH=arm qemu
4.2. 编译其他 samples
如 shell 用例:
$ cd zephyr/samples/shell$ make BOARD=qemu_cortex_m3 ARCH=arm qemu