What is Zephyr?

  Zephyr Project is a small, scalable real-time operating system for use on resource-constrained systems supporting multiple architectures.  Developers are able to tailor their optimal solution. As a true open source project, the community can evolve the Zephyr Project to support new hardware, developer tools, sensor and device drivers.  Advancements in security, device management capabilities, connectivity stacks and file systems can be easily implemented.

官方网站:https://www.zephyrproject.org/

开发环境、SDK、OS

安装要求与相关设置

Ubuntu安装所依赖的软件包

$ sudo apt-get install git make gcc g++ python3-ply ncurses-dev python3-yaml dfu-util device-tree-compiler

Zephyr SDK

运行安装SDK(先加权后执行)

$ chmod +x zephyr-sdk-0.9.1-setup.run
$ ./zephyr-sdk-0.9.1-setup.run

   Verifying archive integrity... All good.

   Uncompressing SDK for Zephyr  100%

   Enter target directory for SDK (default: /opt/zephyr-sdk/):

   Installing SDK to /opt/zephyr-sdk

   Creating directory /opt/zephyr-sdk

   Success

   [*] Installing x86 tools...

   [*] Installing arm tools...

   [*] Installing arc tools...

    [*] Installing iamcu tools...

   [*] Installing nios2 tools...

   [*] Installing xtensa tools...

   [*] Installing riscv32 tools...

   [*] Installing additional host tools...

   Success installing SDK. SDK is ready to be used.

设置SDK的环境变量,创建并将一下两条指令写入 ~/.zephyrrc 文件中

/* 此语句代表使用Zphyr GCC编译器 */
$ export ZEPHYR_GCC_VARIANT=zephyr
/* 此语句制定Zephyr SDK路径*/
$ export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk

运行Zephyr 小例程

根目录执行脚本,设置Zephyr 项目的环境变量

/zephyr-v1.8.0/$ source zephyr-env.sh

构建一个项目示例,在 $ZEPHYR_BASE/samples/hello_world 目录下执行 make

/zephyr-v1.8.0/samples/hello_world/$ make

构建一个项目示例,并自定义开发板并仿真(qemu_x86),在 $ZEPHYR_BASE/samples/hello_world/目录下执行 make BOARD=qemu_x86 qemu

/zephyr-v1.8.0/samples/hello_world/$ make BOARD=qemu_x86 qemu

构建一个项目示例,并自定义开发板并仿真(qemu_cortex_m3),在 $ZEPHYR_BASE/samples/hello_world/目录下执行 make BOARD=qemu_cortex_m3 ARCH=arm qemu

/zephyr-v1.5.0/samples/hello_world/$ make BOARD=qemu_cortex_m3 ARCH=arm qemu

注:qemu为模拟处理器(仿真),SDK 自带。

支持仿真的平台架构在/zephyr-v1.8.0/boards 目录中可以看到:文件夹命名为qemu_xxx

需要帮助请执行make help

/zephyr-v1.8.0/$ make help

---------END

物联网操作系统 - Zephyr的更多相关文章

  1. Google物联网操作系统协同框架Weave深度解析

    1.       Google Weave框架 在2015年的Google I/O大会上,负责Android业务的桑达.皮查伊(SundarPichai)宣布了Google最新的物联网战略.这包括一个 ...

  2. 物联网操作系统HelloX V1.80测试版发布

    经过HelloX开发团队近半年的努力,在HelloXV1.79版本基础上,增加许多功能特性,并对V1.79版本的一些特性进行了进一步优化之后,正式形成HelloX V1.80测试版本.经相对充分的测试 ...

  3. 物联网操作系统HelloX V1.79发布公告

    经过HelloX开发团队近半年的努力,在HelloX V1.78版本基础上,增加许多功能特性,并对V1.78版本的一些特性进行了进一步优化之后,正式形成HelloX V1.79测试版本.经相对充分的测 ...

  4. 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上

    在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...

  5. 物联网操作系统HelloX V1.78测试版正式发布

    经过HelloX开发团队近四个月的努力,在HelloX V1.77版本基础上,增加许多功能特性,并对V1.77版本的一些特性进行了进一步优化之后,正式形成HelloX V1.78测试版本,经相对充分的 ...

  6. 物联网操作系统HelloX V1.77(beta)版本发布

    物联网操作系统HelloX V1.77发布 经过近半年的努力,物联网操作系统HelloX V1.77版本正式完成,源代码已上载到github(github.com/hellox-project/Hel ...

  7. 基于物联网操作系统HelloX的智慧家庭体系架构

    基于物联网操作系统HelloX的智慧家庭体系架构 智慧家庭是物联网的一个分支应用,是一个被广泛认同的巨大IT市场空间.目前市场上已经有很多针对智慧家庭的产品或解决方案,但与移动互联网不同,智慧家庭至今 ...

  8. 让我们共同构筑物联网起飞的平台:物联网操作系统Hello China寻求应用合作伙伴

    经过几天的努力,终于把Hello China V1.76版的内核移植到基于Cortex-M3内核的STM32 chipset上.因为还希望进一步写一个USART驱动程序,因此详细的移植文档,预计一周之 ...

  9. 腾讯物联网操作系统正式开源,最小体积仅1.8 KB

    9月18日,腾讯宣布将开源自主研发的轻量级物联网实时操作系统TencentOS tiny.相比市场上其它系统,腾讯TencentOS tiny在资源占用.设备成本.功耗管理以及安全稳定等层面极具竞争力 ...

随机推荐

  1. AFNetworking2.0 NSHipster翻译

    AFNetworking 是当前 iOS 和 Mac OS X 开发中最广泛使用的开源项目之一.它帮助了成千上万叫好又叫座的应用,也为其它出色的开源库提供了基础.这个项目是社区里最活跃.最有影响力的项 ...

  2. 【Android - 框架】之OkHttp的使用

    OkHttp是一个非常优秀的网络访问框架,当下非常火的Retrofit的底层就是使用OkHttp进行封装的.接下来介绍以下OkHttp的简单使用. 1.导入依赖 在Android Studio中,在M ...

  3. 文件上传~Uploadify上传控件~续(多文件上传)

    对于Uploadify文件上传之前已经讲过一次(文件上传~Uploadify上传控件),只不过没有涉及到多文件的上传,这回主要说一下多个文件的上传,首先,我们要清楚一个概念,多文件上传前端Upload ...

  4. delphi tidhttp 超时的解决方案

    现在delphi都发布到xe10.1了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒.connectTimeout和readTime ...

  5. Java(Android)线程池 总结

        JAVA的Executors源码:(可以看出底层都是通过ThreadPoolExecutor来具体设置的~) public static ExecutorService newCachedTh ...

  6. IIS注册.net框架及temp文件权限开放

    配置好IIS服务之后,在浏览器打开localhost:xx[端口号],提示:无法识别属性 targetFramework=4.0 这是因为项目是4.0框架,配置IIS时,在应用程序池没有选择.net ...

  7. css(字体,文本,边距,边框,阴影,背景,渐变,多重背景,列表)

    font-family 设置字体名称 可以使用多个名称,用逗号分隔,浏览器则按照先后顺序依次使用可用字体 p { font-family:'宋体','黑体','Arial'; } font-size ...

  8. 2016年11月1日——jQuery源码学习笔记

    1.instanceof运算符希望左操作数是一个对象,右操作数标识对象的类.如果左侧的对象是右侧类的实例,则表达式返回true,否则返回false 2.RegExp.exec() 如果 exec() ...

  9. WPF Binding值转换器ValueConverter使用简介(一)

    WPF.Silverlight及Windows Phone程序开发中往往需要将绑定的数据进行特定转换,比如DateTime类型的时间转换为yyyyMMdd的日期,再如有一个值是根据另外多组值的不同而异 ...

  10. Java中JIN机制及System.loadLibrary() 的执行过程

    Android平台Native开发与JNI机制详解 http://mysuperbaby.iteye.com/blog/915425 个人认为下面这篇转载的文章写的很清晰很不错. 注意Android平 ...