1 前言

本来想学习Zyphyr的Power Management,但是看着看着就被带进去了。

你看功耗,里面的suspend涉及到时间补偿相关的吧,然后就涉及到了Kernel Clocks/Timers/Thread Sleeping

然后你得知道内核运行情况,想去获取消息,就得熟悉内核的Logging,包括System LoggingKernel Event Logger

如果想看到内核实时状态,就还需一个管道取一窥究竟,这就离不开Shell

如果觉得这已经够了,那就错了。Zephry Doc已经将Zephyr的方方面面文档归纳总结了。

所以觉得花点时间梳理一下官方文档,了解其知识地图,有利于快速学习、快速查找。

2 Zephyr官方文档地图

2.1 Zephyr Kernel入门

Zephyr Kernel Primer关于Kernel的概述介绍了Zephyr内核的:
Source Tree Structure:目录结构

Threads:线程的生命周期、线程调度、线程私有数据、系统线程(idle/main)、工作队列。

Timing:内核时钟和定时器。

Memory Allocation:内存分配器、内存池和对内存池。

Synchronization:内核同步相关的Semaphore、Mutex和Alert。

Data Passing:介绍了不同线程间或者线程和中断间传递参数的方式fifo、lifo、stack、消息队列、管道、mailbox。

Other Services:介绍了内核其他服务中断、原子操作、轮询API、Ring Buffer、浮点数、C++支持、CPU Idling(强制进入idle)、Memory Domain(内存共享)。

2.2 Zephyr设备驱动

Device and Driver Support设备驱动是内核的很大一块,所以单独介绍。

Device Drivers and Device Model介绍了驱动通用设备模型以及编写设备驱动API、范例等等。设备驱动的配置数据Device Tree介绍了如何定义一个设备各种属性。

2.3 子系统

Zephyr将一些重要的功能单独成为Subsystem子系统,包括:

Bluetooth蓝牙、一个裁剪最小化的Standard C Library、日志Logging(System LoggingKernel Event Logger)、Zephyr的网络支持Networking、低功耗管理Power Management传感器Sensor DriversShell、测试Tesing相关的测试框架Test Framework和可用性测试Sanity TestUSB

2.4 Zephyr开发指导

如何移植Zephyr(架构和主板)Porting Guides,对Zephyr的配置选项Configuration Options Reference Guide逐个详细介绍,还需要熟悉内核应用开发的API Documentation

在做了以上了解之后,就可以进行Application Development Primer了,当然对一些基本功能也提供了Samples and Demos

3 学习记录

2 Zephyr官方文档地图基本上覆盖了Zephry的帮助文档,然后就可以根据需要展开了。

Zephyr的Power Management

Zephyr的Time、Timer、sleep

Zephyr的Logging

Zephyr的Shell

Zephyr的Threads

 
 
 
 
 
 
 
 

Zephyr学习专题的更多相关文章

  1. 【转】css学习专题-BFC

    css学习专题-BFC 转自:原文链接:css学习专题-BFC文章目录 BFC:Block Formatting Context. BFC就是一种布局方式,在这种布局方式下,盒子们自所在的 conta ...

  2. Zephyr学习(三)启动过程

    一.写在前面 最近对zephyr这个系统很感兴趣,因此业余有时间的时候都在研究它的源码,而光看代码不去动手这不是我的风格,于是乎在网上淘了一块STM32F103C8T6的核心板和一块NRF52832的 ...

  3. Zephyr学习(二)开发环境搭建

    一.概述 Zephyr支持在Windows.Linux和MacOS环境下开发,这里只介绍如何在Windows下搭建zephyr的开发环境. 二.步骤 2.1安装msys2 msys2是一个Linux模 ...

  4. opengl基础学习专题 (一 )编程环境搭建

    题外话: 第一次在博客园上同大家分享博文.水的的地方,错别字的地方.环境交流.批评.知道了马上改. 以前在百度空间中写技术分享博文,后来百度啥也没说就把整个空间封了.当时感觉 还是有点寒心.只想黑一下 ...

  5. SpringBoot 企业级核心技术学习专题

    专题 专题名称 专题描述 001 Spring Boot 核心技术 讲解SpringBoot一些企业级层面的核心组件 002 Spring Boot 核心技术章节源码 Spring Boot 核心技术 ...

  6. opengl基础学习专题 (三) 多边形绘制的几种样式

    题外话 聪明人之所以不会成功,是由于他们缺乏坚韧的毅力. ——艾萨克·牛顿(1643年1月4日—1727年3月31日)英国 也许可以理解为 想更深一步的时候,坚持,努力和聪明缺一不可. 挺直腰杆在此向 ...

  7. opengl基础学习专题 (二) 点直线和多边形

    题外话 随着学习的增长,越来越觉得自己很水.关于上一篇博文中推荐用一个 学习opengl的 基于VS2015的 simplec框架.存在 一些问题. 1.这个框架基于VS 的Debug 模式下,没有考 ...

  8. Maven学习专题--Maven入门及安装

    因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven.我就毅然承担搭建maven环境的任务了.因为一切重头开始,就想把自己的整个搭建环境.项目创建.框架整合和模块管理整个过程 ...

  9. Zephyr学习(五)线程和调度

    前面说过zephyr支持静态和动态两种方式创建线程,这里分析动态创建的方式.应用程序通过调用k_thread_create()函数创建一个线程,实际上是调用_impl_k_thread_create( ...

随机推荐

  1. canvas-star5.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. [简记] fetch API 的初步使用

    var myHeaders = new Headers(); myHeaders.append('Content-Type', 'application/x-www-form-urlencoded; ...

  3. React Render Props 模式

    概述 Render Props模式是一种非常灵活复用性非常高的模式,它可以把特定行为或功能封装成一个组件,提供给其他组件使用让其他组件拥有这样的能力,接下来我们一步一步来看React组件中如何实现这样 ...

  4. DB、ETL、DW、OLAP、DM、BI关系 ZT

    在此大概用口水话简单叙述一下他们几个概念: (1)DB/Database/数据库——这里一般指的就是OLTP数据库,在线事物数据库,用来支持生产的,比如超市的买卖系统.DB保留的是数据信息的最新状态, ...

  5. Flutter 依赖的那些事儿

    Flutter 里面有2种库一样的东西, Package -creating a pure Dart component. like a new Widget. 这种是纯Dart,相当于你自己写的组件 ...

  6. java设计模式学习

    每次面试都需要看设计模式,每次都很好的理解了,但是实际开发中没有应用总是忘记.现在把它汇总一下. 二十三种设计模式 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模 ...

  7. 泛化之美--C++11可变模版参数的妙用

    1概述 C++11的新特性--可变模版参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数.任意类型的参数.相比C++98/03 ...

  8. [20171221]利用rman实现2台机器文件拷贝.txt

    [20171221]利用rman实现2台机器文件拷贝.txt --//昨天使用rman duplicate建立dg,我看到执行如下代码: RMAN> duplicate target datab ...

  9. 自己搭建anki同步服务器

    最近帮孩子找学习的软件,发现了anki 不过同步速度太慢,但发现可以自己搭建同步服务器 具体方法见https://github.com/dsnopek/anki-sync-server 我的安装过程如 ...

  10. python第四天 三级菜单新思路

    今天是一个坎,在做三级菜单时卡住了,因为想要简洁的代码,就要用到递归函数,卡的不要不要的!不过最后在同学老师的提点帮助下,还是解决了! 2017-5-10发现之前的代码有BUG今天 修改了! 作业要求 ...