天天看點

Zephyr 物聯網作業系統環境搭建

 Zephyr項目建構示範

1.設定開發環境

1.1下載下傳代碼

$ git clone https://gerrit.zephyrproject.org/r/zephyr zephyr-project      

執行上述指令可以下載下傳源碼到本地

注意:

當你已經開始開發,按以下步驟注冊一個Linux基金會的賬戶:Requesting a Linux Foundation Account.

要點:

linux使用者即使已經成功下載下傳源碼,也還需要下載下傳Zephyr SDK。這個SDK包含一些不屬于Zephyr項目的包(其實就是安裝一些指令)。詳細參見: Installing the Zephyr Software Development Kit

1.2設定開發環境

Zephyr項目支援以下作業系統

Linux

Mac OS

(這裡隻記錄基于Linux的開發環境配置了,Mac OS自己參考官網教程)

1.安裝Ubuntu

2.配置網絡和代理使網絡可用

3.安裝工具包:

# sudo apt-get install Git make gcc gcc-multilib g++ libc6-dev-i386 g++-multilib

4.編譯工程:

# cd zephyr-project/

# source zephyr-env.sh

5.安裝zephyr軟體開發包

Zephyr的SDK包含所有需要的工具和所有支援的體系架構的交叉編譯編譯器。此外,它還包含主機端工具,比如custom QEMU和編譯主機端工具所需的編譯器,SDK支援以下三種架構:

  • IA-32
  • ARM
  • ARC

首先,下載下傳 SDK self-extractable binary .

然後運作下載下傳的可執行bin檔案:

$ chmod +x zephyr-sdk-0.7.2-i686-setup.run

$ sudo ./zephyr-sdk-0.7.2-i686-setup.run      

按照螢幕上的顯示步驟安裝,預設安裝位置為:

/opt/zephyr-sdk/

6.使用zephyr SDK

為了使用zephyr SDK,你需要結合zephyr的SDK安裝目錄和類型

配置以下環境變量:

$ export ZEPHYR_GCC_VARIANT=zephyr

$ export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk      

為了在一個新的會話中使用同一個交換鍊,你可以将這些變量儲存在檔案

$HOME/.zephyrrc

中(沒有的話,自己建立這個檔案)

$ cat ~/.zephyrrc
export ZEPHYR_GCC_VARIANT=zephyr
export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk
EOF 
      

一、環境搭建

1、系統環境

系統環境

Linux version 4.2.0 ([email protected]) (gcc version 5.2.0 (GCC) ) #9 SMP Fri Feb 5 19:34:29 CST 2016

2、sdk安裝

下載下傳sdk

wget https://nexus.zephyrproject.org/ ... .7.2-i686-setup.run

安裝sdk

chmod +x zephyr-sdk-0.7.2-i686-setup.run

sudo ./zephyr-sdk-0.7.2-i686-setup.run

二、核心編譯

1、核心下載下傳

zephyr核心

git clone https://gerrit.zephyrproject.org/r/zephyr zephyr-project

2、設定環境變量

cd zephyr-project

source zephyr-env.sh

export ZEPHYR_GCC_VARIANT=zephyr

export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk

3、核心配置

cd zephyr-project

make menuconfig

儲存,會在目錄下生成.config檔案。

4、編譯核心

對核心的配置完成之後,現在就可以開始編譯核心了。

make mrproper

make BOARD=qemu_cortex_m3 ARCH=arm qemu

生成的核心是。

三、應用編譯

cd $ZEPHYR_BASE/samples/hello_world/microkernel

make

編譯結果在outdir子目錄

繼續閱讀