蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍
作者:wowo 发布于:2016-3-12 22:32 分类:蓝牙
通过“蓝牙协议分析(2)_协议架构”的介绍,大家对蓝牙协议栈应该有了简单的了解,但是,肯定还有“似懂非懂、欲说还休”的感觉。有这种感觉太正常了,毕竟蓝牙协议是一个历史悠久又比较庞大的协议,没那么容易理解。
因此,本文将换个视角,从协议栈设计者的角度,思考如下问题:
为什么会有蓝牙协议栈(Why)?
怎样实现蓝牙协议栈(How)?
蓝牙协议栈的最终样子是什么(What)?
另外,我们知道,当前的蓝牙协议包含BR/EDR、AMP、LE三种技术,为了降低复杂度,本文将focus在现在比较热门的BLE(Bluetooth Low Energy)技术上(物联网嘛!),至于BR/EDR和AMP,触类旁通即可。
标签: Bluetooth BLE l2cap gap 蓝牙低功耗 att gatt
Debian下的WiFi实验(一):通过无线网卡连接AP
作者:linuxer 发布于:2016-3-8 18:42 分类:Linux应用技巧
最近入手了一台T450,顺便在上面安装了Windows和Debian 8。一般而言,在windows下的时候通过WiFi上网毫无压力,当然,做为linuxer,我其实也很少在T450上启动windows,那么问题来 了,如何在Debian 8下使用WiFi呢?
具体的场景是这样的,我们家的网络是通过ADSL进入internet,ADSL modem的网线连接到了台式机,而台式机经常被夫人霸占,我的T450的以太网口毫无用武之地。买个hub吧又想省点钱,好在在某些外事活动中被赠送了 一个随身WiFi的小东西,这样台式机就变成了一个AP。同时,夫人还丢下一句话:你不是搞IT的吗,这么能,用WiFi吧。
好吧,反正有线无线都一样,只要能上网就OK了。本文主要记录T450笔记本在Debian 8系统上如何通过WiFi上网的。
标签: wpa_supplicant
Linux I2C framework(2)_I2C provider
作者:wowo 发布于:2016-2-26 22:49 分类:通信类协议
本文从Provider的角度,介绍怎么借助I2C framework管理I2C相关的SOC资源。换句话说,就是怎么编写I2C controller驱动。Perf book 9.3章节翻译(下)
作者:linuxer 发布于:2016-2-26 19:36 分类:内核同步机制
本文主要是对perfbook 9.3章节的翻译的下半部分,督促自己学习,也顺便分享给大家。
本文的英文原文来自perfbook-1c.2015.01.31a.pdf ,为了读者方便,我也嵌入到了文档中,任何问题,欢迎探讨。
Perf book 9.3章节翻译(上)
作者:linuxer 发布于:2016-2-18 19:07 分类:内核同步机制
本文主要是对perfbook 9.3章节的翻译,督促自己学习,也顺便分享给大家。
本文的英文原文来自perfbook-1c.2015.01.31a.pdf ,为了读者方便,我也嵌入到了文档中,任何问题,欢迎探讨。
Linux I2C framework(1)_概述
作者:wowo 发布于:2016-2-14 22:01 分类:通信类协议
I2C协议是嵌入式系统中广泛使用的一类通信协议,主要用于CPU和各种外设之间的低速数据通信。Linux kernel使用I2C framework抽象、管理相应的资源,并以各种形式,向各类使用者提供API。另外,作为总线(bus)的一种,I2C framework的实现体现了linux设备模型的精髓,值得研究与学习。这就是攥写“Linux I2C framework”系列文章的缘由和目的。
按照分析各类framework的老规矩,蜗蜗会从4个角度分4篇文章介绍I2C framework:
1)Linux I2C framework的整体介绍,包括基础知识、软件框架、API汇整等。就是本文。
2)从Provider的角度,介绍怎么借助I2C framework管理I2C相关的SOC资源。换句话说,就是怎么编写一个I2C driver。具体可参考“Linux I2C framework(2)_I2C provider”。
3)从Consumer的角度,介绍I2C framework为使用者提供了哪些功能、哪些API,以及怎样利用I2C framework编写程序。具体可参考“Linux I2C framework(3)_I2C consumer”。
4)从内部实现的角度,分析I2C framework的实现逻辑。具体可参考“Linux I2C framework(4)_I2C core”。
标签: Linux Architecture framework I2C
Linux2.6.23 :sleepable RCU的实现
作者:linuxer 发布于:2016-2-4 18:38 分类:内核同步机制
由于曾经在Linux2.6.23上工作了多年,我对这个版本还是非常有感情的(抛开感情因素,本来应该选择longterm的2.6.32版本来分析 的,^_^),本文主要就是描述Linux2.6.23内核版本中对RCU有哪些修正。所谓修正主要包括两个部分,一部分是bug fixed,一部分是新增的特性。标签: SRCU
显示技术介绍(3)_CRT技术
作者:wowo 发布于:2016-1-30 22:18 分类:显示
CRT(Cathode Rays Tube,阴极射线管)是最原始的电子显示技术,在上世纪被广泛运用于模拟电视(Analog television)系统中。本文将以模拟电视系统为背景,介绍CRT显示技术的原理、特性以及一些关键术语。
众所周知,CRT显示已经逐步被数字显示取代,已有退出历史舞台之势,本文之所以介绍它,原因有三:
1)模拟电视是我们这一代人童年的记忆,美好又神秘。现在回头去看,发觉其中的技术是那么的简单、有趣,值得一说。
2)帮助理解显示时序(video mode,or display timings)。对写过显示驱动的人来说,显示屏的那长长一串的时序相关的参数(xres, yres, hsync len, vsync len, left margin, etc.),足以让自己崩溃。追根溯源,它们产生于CRT技术,现在之所以还存在,很大程度上是CRT的延续,没有太多实质的意义。
3)现在很多前沿的显示技术,如PDP、FED等,都和CRT的工作机制类似(具体可以参考“显示技术介绍(2)_电子显示的前世今生”中的介绍)。理解CRT是理解这些新技术的基础。
标签: CRT scan blank unblank front porch back
Linux2.6.11版本:classic RCU的实现
作者:linuxer 发布于:2016-1-27 18:31 分类:内核同步机制
无论你愿意或者不愿意,linux kernel的版本总是不断的向前推进,做为一个热衷于专研内核的工程师,最大的痛苦莫过于此:当你熟悉了一个版本的内核之后,内核已经推进到一个新的版 本,你曾经熟悉的内容可能会变得陌生(这里主要说的是该模块的内部实现,实际上,内核中的每一个子系统都是会尽量保持接口API的不变)。怎么应对这种变 化呢?一方面,具体的实现可能千差万别,但是基本的概念是一样的,无论哪一个版本的内核,总是能够理解一个内核子系统的基本概念和运作机理。另外一方面, 不同版本之间的实现不同往往是有原因的,新版本中具体实现的不同往往是针对旧版本的问题而改进的,如果你能够理清不同版本之间的差异以及背后的原因,那么 你其实也在不断的加深对计算机系统的理解(不断的迭代是一个不错的学习linux内核的方法)。
因此,在进入具体的Linux2.6.11版本内核RCU实现之前,我们首先描述why,也就是说为何修改RCU算法实现?旧内核有哪里不足,新的内核优点是什么?随后需要描述的是如何改进,最后,我们描述的是Linux2.6.11版本内核RCU模块的具体实现。
标签: Read-Copy-Update
Linux 2.5.43版本的RCU实现(废弃)
作者:linuxer 发布于:2016-1-19 12:13 分类:内核同步机制
RCU的工作原理虽然简单,但是实现产品级别的RCU同步机制并不是一个简单的事情,看看目前kernel中庞大的RCU数据结构,这让我望而却 步。蜗窝科技在撰写其他文档的时候,往往喜欢使用最新的内核,本文和其他文章不一样,本文选择了第一个引入RCU的内核版本,即2.5.43。
本文主要介绍了linux2.5.43版本上的RCU实现。
标签: RCU
功能
最新评论
- aa888888
欧博正网卖分亚星正网买分13266533602 ... - aa888888
【13266533602】亚星一比一官网同步卖分 ... - aa888888
亚星卖分1比1私网13266533602亚星正网买分 ... - 卷心菜
@zecard:这种情况kasan应该检测不出来 - 小明不明白
请问一个问题: 如何控制win10的usb接口的供电?例如... - 安庆
@markened-frank:是的,但是它前面是tlbi啊
文章分类
随机文章
文章存档
- 2024年2月(1)
- 2023年5月(1)
- 2022年10月(1)
- 2022年8月(1)
- 2022年6月(1)
- 2022年5月(1)
- 2022年4月(2)
- 2022年2月(2)
- 2021年12月(1)
- 2021年11月(5)
- 2021年7月(1)
- 2021年6月(1)
- 2021年5月(3)
- 2020年3月(3)
- 2020年2月(2)
- 2020年1月(3)
- 2019年12月(3)
- 2019年5月(4)
- 2019年3月(1)
- 2019年1月(3)
- 2018年12月(2)
- 2018年11月(1)
- 2018年10月(2)
- 2018年8月(1)
- 2018年6月(1)
- 2018年5月(1)
- 2018年4月(7)
- 2018年2月(4)
- 2018年1月(5)
- 2017年12月(2)
- 2017年11月(2)
- 2017年10月(1)
- 2017年9月(5)
- 2017年8月(4)
- 2017年7月(4)
- 2017年6月(3)
- 2017年5月(3)
- 2017年4月(1)
- 2017年3月(8)
- 2017年2月(6)
- 2017年1月(5)
- 2016年12月(6)
- 2016年11月(11)
- 2016年10月(9)
- 2016年9月(6)
- 2016年8月(9)
- 2016年7月(5)
- 2016年6月(8)
- 2016年5月(8)
- 2016年4月(7)
- 2016年3月(5)
- 2016年2月(5)
- 2016年1月(6)
- 2015年12月(6)
- 2015年11月(9)
- 2015年10月(9)
- 2015年9月(4)
- 2015年8月(3)
- 2015年7月(7)
- 2015年6月(3)
- 2015年5月(6)
- 2015年4月(9)
- 2015年3月(9)
- 2015年2月(6)
- 2015年1月(6)
- 2014年12月(17)
- 2014年11月(8)
- 2014年10月(9)
- 2014年9月(7)
- 2014年8月(12)
- 2014年7月(6)
- 2014年6月(6)
- 2014年5月(9)
- 2014年4月(9)
- 2014年3月(7)
- 2014年2月(3)
- 2014年1月(4)