[Zephyr] 入门篇:搭建 Zephyr 开发环境及 hello-world
[复制链接]
本帖最后由 tidyjiang8 于 2017-1-19 11:01 编辑
Zephyr 入门篇:搭建开发环境及 hello-world
Zephyr OS 的开发环境支持三大平台:
建议使用 Linux 平台搭建环境。我们后面的所有文章都以 Ubuntu 作为开发环境。
安装依赖的包
先将系统更新到最新状态:
再安装依赖的包:
- $ sudo apt-get install git make gcc gcc-multilib g++ libc6-dev-i386 \
- g++-multilib python3-ply
复制代码
提示:如果你的系统是 32 位的,不需要安装 libc6-dev-i386 这个包。
安装 SDK
访问 Zephyr SDK archive 下载最新版 SDK 。
下载完成后,运行该文件:
- $ chmod +x zephyr-sdk-0.8.2-i686-setup.run
- $ sudo ./zephyr-sdk-0.8.2-i686-setup.run
复制代码
默认会将 SDK 安装到/opt/zephyr-sdk/目录下。个人推荐使用默认设置。
执行下列命令将环境变量导出到 ~/.zephyr 文件:
- $ cat <<EOF > ~/.zephyr
- export ZEPHYR_GCC_VARIANT=zephyr
- export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk
- EOF
复制代码
获取 Zephyr 源码
Zephyr 的源码托管在 Linux 基金会的 Girret 服务器上,同时在 GitHub 上也有一个仓库镜像。在国内访问它的 Girret 服务器比较慢,建议直接从 GitHub 上下载:
- $ git clone [url=https://github.com/zephyrproject-rtos/zephyr.git]https://github.com/zephyrproject-rtos/zephyr.git[/url]
复制代码
默认会克隆 master 分支的代码。
编译 hello-world
进入 Zephyr 项目目录,先配置环境变量:
- $ cd zephyr
- $ source zephyr-env.sh
复制代码
进入 hello-world 目录,编译:
- $ cd samples/hello_world/
- $ make
复制代码
上面的 make 命令会使用应用程序的 Makefile 文件中定义的默认设置编译 hello_wolrd 例程。你可以定义环境变量 BOARD 为所支持的其它板子编译应用,例如:make BOARD=arduino_101。关于 make 命令的具体使用方法可以执行 make help。
编译后会生成镜像文件 zephyr.bin,它位于当前目录下的 samples/qemu_x86/ 下面。
使用 QEMU 仿真
Zephyr 支持在 x86 和 ARM Cortex-M3 两种架构下使用 qemu 进行仿真。
仿真 x86:
- $ make BOARD=qemu_x86 qemu
复制代码
仿真 ARM Cortex-M3:
- $ make BOARD=qemu_cortex_m3 ARCH=arm qemu
复制代码
仿真结果:
提示:退出仿真界面的方法:先按 CTRL+a,再按 x。
烧写到硬件平台
Zephyr 所支持的开发板请参考这篇帖子: Zephyr 入门篇:开发板选择
编译前,请先选择你所使用的开发板的配置文件。例如,如果我想将 Zephyr 运行在 k64f 开发板上,则按照下面的命令进行编译:
- # 假定当前所在目录是 samples/hello_world
- $ make BOARD=frdm_k64f
复制代码
其中,参数 frdm_k64f 指的是 boards/arm/frdm_k64f 这个文件夹的名字。
如果你想将 Zephyr 运行在 arduino 101 上面,则对应的文件夹是 boards/x86/arduino_101,因此你的编译命令则是:
编译完成后,就可以将镜像文件 outdir/xxxx/zephyr.bin 烧写到你的板子里运行了!
|