你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

你知道zephyr吗?

[复制链接]
watershade 发布时间:2017-3-22 22:30
本帖最后由 watershade 于 2017-3-22 22:47 编辑 ( v! r, `) x% G* p4 P

+ r4 G; G* y" p- K: K$ F1 v" l3 ]最近逛网页,忽然发现这个关键词:zephyr
. ^6 c6 y9 c2 ]) b! q/ o# f有些印象,可是压根不知道是什么。这就百度一下,这一下不得了。发现有一款RTOS浮出水面了。
7 @( C5 j, P' V3 h% g我们都知道,VxWorks,freeRTOS及其衍生品吗,ucos,RTX,QNX等等。可是这玩意是干嘛呐?4 C: f0 p2 _. t6 }4 R, o' p3 u4 n6 B7 T
这是官方网址:! M* |  P( z0 `
http://www.zephyrproject.org/2 y4 F4 [/ w1 T+ T

  \, p3 W2 r7 ~你何不瞧瞧?为了激起你的兴趣,上一张图:  U1 ]% ?% H8 V6 U2 D5 m7 ]4 g( A  ]
zephyr.JPG 6 d7 t  S) t! x! D4 i9 V7 Y
. q' X0 i! z- ^6 c5 Q6 u
因为是Intel最初主导这个项目,但是现在有Linux基金会托管了。所以板子支持x86,Quark,Altera,Arduino 101并不奇怪。( E* h2 A& m- t% K
好在它竟然多款ARM板子,甚至Arduino Due等。
& k0 g$ j0 U" n6 p: |) B. e  S1 M. `0 i
对于我们ST来说,它支持几款流行的Nucleo板子。可惜没有M3内核的。当然也支持Freescale的K64这款比较流行的板子。
# T7 C' Z. g; m' u
6 u. m: `2 D; m如果它只是为世界多了一款RTOS,那没什么意思。他总有些特点或者买点吧?
3 W, }+ _4 V  V  u6 T第一是small-footprint。这个单词最初形容芯片,现在竟然形容系统。哎
/ c$ M& O1 Q( Q第二它自称比别的small-footprint牛叉一些:
. f1 p" Z; n4 ]: O1、single address-space  就是说内核空间和映容空间共享地址空间。这和linux完全不同。将应用的到吗和定制的内核生成一个映像(image)$ s8 I: \0 q7 Z
2、Highly configurable  简而言之,只取我所需
# Z9 J, R; x3 P8 C3、Compile-time resource definition  用于系统资源在编译器定义。这减少了代码尺寸,并提高性能
# I/ Q( R3 \6 n& p. I% P4、Minimal Error Checking  提供最小的运行时错误检查以减小代码尺寸提高性能。在应用开发期间通过可配置的错误检查机制协助调试。(就是少将错误消灭在编译阶段,运行时候错误就少了。)# b2 K% Z* i, n2 u+ `
5、Extensive suite of services 提供多项常用的服务。比如:! t: p& m' c* E
      ~ 基于优先级的多线程服务。支持抢占和非抢占优先级。也支持round robin这种分时机制。(kao,这那个RTOS没有)
" b7 Z: |" W8 h* s3 `5 \      ~ 为中断处理提供编译时注册的中断处理服务程序 (这个有些拗口。就是说在编译时选择中断处理函数,这个有些不一样)1 F/ k4 l: n7 I) ]/ {( h  Z! R
      ~ 动态分控内存空间。
$ l$ {; r* m# p8 R/ v0 l      ~ 通过二值信号量、计数信号量和互斥信号量来实现线程内同步服务
7 L6 G1 Z  f# d      ~ 通过基本的消息队列,增强的消息队列和字节流的方式实现线程间数据传输  (这两个不是每个RTOS都有吗)7 S/ I& U5 G4 F, ~
      ~ 功能强大的锅里服务,比如tickless idle和高级的idling机制(这个我记得许多RTOS都有)
4 x: {$ ~7 v& M: u(PS:除了编译时干了些事情外,也都是常有的RTOS功能)
/ o/ v: D, x" r' Z9 k% X/ v- J对了,支持在三大操作系统上进行开发。目前版本已经到了1.7.99(这小版本号也看出来做了多少修补)7 o6 ?- _  M( }" H/ I4 l
不过在windows上略为难受。要安装很多依赖项。要装个shell。建议在Linux开发/ a+ y; l7 n3 k+ O3 m8 f# t
对了ST,Zephyr支持ST-Link/v2-1调试接口。但是看编译过程实际使用的是openocd这种linux上的方式。
" _- }, o5 t- j5 _$ }) X
; P# d1 X2 \2 P+ R+ H不过看着开发方式和mbed os等嵌入式操作系统有些类似。十分繁琐呀。
, S  Y3 O- x  ?& Y5 ~& c% F: A/ v% Y0 S

1 f2 \$ s& c6 y: Z
$ }; U" |1 K" W6 C4 G6 }3 s6 V& B" s" {
收藏 1 评论0 发布时间:2017-3-22 22:30

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版