自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 经典蓝牙Sniff Mode

Sniff mode为两个已连接的经典蓝牙设备提供了有效的降低功耗的方法。Sniff mode通过增加POLL packet - NULL packet exchange的间隔时间(即Sniff Interval)来减少两个设备之间的通信次数,让两个设备可以在间隔时间内进入低功耗状态。该HCI command并没有直接指定Sniff Interval,即T-sniff,而是设定了Sniff Interval的范围Sniff_Min_Interval ~ Sniff_Max_Interval。

2023-03-02 15:30:39 2858 2

原创 Bluetooth Core Spec经典蓝牙安全机制导读

如果你没有看之前的Security Overview,很可能陷入细节当中,而不能理解Security的整体流程和这些功能的相互关系。

2022-10-24 15:25:23 770

原创 802.11 Tx Rate Control

WiFi WLAN 802.11 调速 自适应速率控制 Rate Control Rate Adaptation Minstrel

2022-10-13 18:11:04 1303

原创 经典蓝牙Inquiry过程的跳频

关键词:Bluetooth Classic, Frequency Hopping, Inquiry经典蓝牙(以下简称BT)中,两个设备建立连接后,会同步Clock和hopping sequence。在建立连接之前的Inquiry过程中,两个设备是如何跳到同一个channel进行通信的呢?本文将通过解读Bluetooth Core spec的相关章节的内容来回答这个问题。希望本文能对还工作在古旧的Bluetooth Classic领域的工程师有所帮助。

2022-09-25 17:39:54 1848

原创 Debug RISC-V CPU: SweRV with OpenOCD

OpenOCD是一个开源的Debug Translator,它负责将GDB的调试命令(与CPU Architecture无关)翻译为操作芯片Debug Module的硬件指令。OpenOCD源代码的src/target目录包含了与CPU architecture相关的源代码。下图中,Debug Host采用了开源的 GDB + OpenOCD,也可以是其他的软件,比如Segger的J-Link Commander。 Debug Transport就是JTAG在线调试(仿真)器,比如J-...

2021-09-18 18:41:37 1436 2

原创 BLE CoC in Android

Why do we need BLE CoC?The target markets for Bluetooth Low Energy (BLE) include the smart home, health, sport and fitness areas. All early BLE profiles, like BLP, CSCP and HOGP, are based on GATT

2017-02-09 23:37:49 6037

原创 蓝牙OTS/OTP简介

一、 OTS/OTP简介OTS——Object Transfer ServiceOTP——Object Transfer ProfileOTS提供了管理和控制传输大块数据——通过一个单独的L2CAP connection oriented channel——的功能。这些功能包括让Client在运行OTS的Server上创建、删除、写入、读取Object以及运行一个Object(和PC上

2016-11-17 23:14:54 4156

原创 低功耗蓝牙的连接过程

(The article is a note about BLE connecting in Bluetooth Core spec V4.2)BLE ConnectingLE Generic Packet Structure (Vol 1 Part A Section 3.2.2)The general structure of the link layer air interface packe

2016-06-29 17:56:28 3959 2

原创 低功耗蓝牙数据传输率

BLE Data Rate在上一个项目中遇到一个需求是通过BLE传输几十kB到一百多kB的数据。实际测试的时候发现BLE Data Rate平均在2kB/s左右,所以一次数据传输做多需要一分多钟。这个时间对消费者来讲是比较长的,用户体验不好,所以希望能提高BLE Data Rate,减少数据传输时间。故而对BLE Data Rate做了专题研究。在研究过程发现了一些比较好的英文和繁体中文研究成果,因

2015-12-25 17:52:10 6969

原创 Bluetooth Device Address

(The article is a note about Bluetooth device address in Bluetooth Core spec V4.2)Bluetooth Device AddressAll Bluetooth devices shall have a Bluetooth Device Address (BD_ADDR) that uniquely identifies

2015-12-23 14:35:28 5335

翻译 蓝牙的漏洞、威胁与对策

译者按:本文是对NIST的文档《Guide to Bluetooth Security》第四节的翻译,原文链接http://csrc.nist.gov/publications/nistpubs/800-121-rev1/sp800-121_rev1.pdf。本节描述了蓝牙技术中存在的漏洞和这些漏洞带来的威胁。基于这些被鉴别出的共同漏洞和威胁,以及第三节所述的蓝牙安全特性,本节也推

2015-12-14 16:15:13 6623

原创 BLE HID:HOGP 设备开发指引

本文之目的是给出一个学习HOGP设备开发知识的指引,包括HOGP的学习资料和BLE开发板资料。首先你需要阅读《Human Interface Device over Bluetooth Low Energy》。本文是对HOGP的一篇综述,先介绍了USB HID,然后介绍了HID Over GATT。HOGP采用了USB HID的数据格式,所以务必先阅读USB HID;否则你可能看不懂HOGP规

2015-12-03 17:52:43 12272 1

翻译 蓝牙安全特性

译者按:本文是对NIST的文档《Guide to Bluetooth Security》第三节的翻译,原文链接http://csrc.nist.gov/publications/nistpubs/800-121-rev1/sp800-121_rev1.pdf。3. 蓝牙安全特性本节提供了一个关于蓝牙安全机制的概述。这些机制被包含在蓝牙规范之中,阐明了他们的限制并提供了第四节中安全建议的基础

2015-11-20 11:25:39 12218 2

原创 A2DP Sink, AVRCP Controller and HFP Client in Android L

The APIs of A2DP sink and HFP client are not published in Android L, but the code which implements the  profiles  is indeed in Android L. You can set the configuration for the car to build the code.

2015-08-25 14:45:10 16039 13

原创 The Implementation of RFCOMM in Android

Introduction    RFCOMM provides an emulation of serial cable line settings and status of an RS-232 serial port. RFCOMM is a simple transport protocol over L2CAP. So the protocol could supports up to

2015-04-15 17:55:43 4747 1

翻译 蓝牙有多快?

原文:http://www.informit.com/articles/article.aspx?p=21325也许你已经听说过了蓝牙的数据速率范围可以从每秒1兆字节到每秒几千比特。为什么会有如此大的差距呢? 在影响蓝牙数据速率的因素这个问题上,Jennifer Bray会给你一个直截了当的回答。Packet的选择:Single-Slot还是Multi-slot影响蓝牙数据速率

2015-03-27 17:54:36 4071

原创 The Implementation of A2DP Sink in Android 4.4

A2DP Sink was not supported in Android 4.4. We implemented this feature which can be applied in the scenarios below.You can get the code from https://android-review.googlesource.

2014-12-24 16:38:04 6141 24

原创 Android平台BLE应用程序开发指南

从Android 4.3开始,BLE(Bluetooth Low Energy)在Android平台上被支持了。但是目前Android上BLE应用程序稀少,尤其是中文应用程序,希望本文对有兴趣开发BLE应用程序的开发者有所帮助。本文主要是对目前已有的Andriod BLE开发相关资料进行整理,给出一个开发资料的索引。(本文会根据大家的问题,不断完善)基本参考资料最基本的学习资料是这

2014-09-04 17:58:24 4726

原创 Android Video Playback----from Framework to Driver

1. Video File2. Architecture Overview3. Multimedia Framework

2014-06-27 15:34:06 8360 2

原创 Android Bluetooth Stack: Bluedroid(五):The analysis of A2DP Source

1. A2DP IntroductionThe Advanced Audio Distribution Profile (A2DP) defines the protocols and proceduresthat realize distribution of audio content of high-quality in mono or stereo on ACLchannels

2014-06-23 17:23:19 20364 4

原创 Ubuntu上Bluetooth A2DP receiver实现分析

A2DP相关部分的简介    A2DP——Advanced Audio Distribution Profile,是蓝牙音频数据传输的profile。A2DP中定义了两种role: Source and Sink。发送音频流的设备是source,接收音频流的设备是sink,比如手机是source,蓝牙耳机是sink。A2DP依赖与传输层协议AVDTP——Audio/Video Distribu

2014-03-07 14:59:26 14077 1

原创 Android Bluetooth Stack: Bluedroid(四):Scan remote devices

Enable Bluetooth之后就可以扫描周围的其他discoverable mode的Bluetooth Device。以下简单分析以下Bluetooth BR/EDR设备的扫描过程,然后会谈一下Android 4.2引入的Bluetooth HAL。    启动scan的调用过程很简单,返回scan结果的过程略为复杂。    以下是start scan的流程图,从Settings到

2013-11-26 17:51:22 11430 21

原创 Android Bluetooth Stack: Bluedroid(三):Enable Bluetooth

以下是基于Android 4.2代码,对Bluetooth BR/EDR Enable process的分析。BluetoothAdapter类代表的是local device Bluetooth adapter,而BluetoothDevice类代表的是remote Bluetooth device。在Android 4.3中引入了一个新的类BluetoothManager,它是一个high l

2013-08-02 17:58:42 9582 2

原创 Android Bluetooth Stack: Bluedroid(二):AVRCP演进

AVRCP(Audio/Video Remote Control Profile)提供了如下主要功能:通过蓝牙耳机(比如Sony WM600,SBH50)或车载控制台控制手机上音乐播放在蓝牙耳机或车载控制台上显示手机上音乐播放的状态,歌名,歌手等信息在蓝牙耳机或车载控制台上浏览手机上的音乐文件,显示播放列表AVRCP有几个版本,随着版本的演进,功能不断增加,以下是具体每个版本的功能

2013-08-01 14:57:13 23257 2

原创 Android Bluetooth Stack: Bluedroid(一):综述

从Android 4.2开始,Bluetooth stack发生了重大改变:从Bluez换成了由Google和Broadcom联合开发的Bluedroid(当然,核心的部分还是Broadcom的,Google主要是做了和上层Framework相关的部分)。通过http://source.android.com/devices/bluetooth.html可以大概了解新的Bluetooth st

2013-07-30 18:00:23 24801

原创 基于Bluetooth AVRCP Input Device分析Android Media Button Mechanism

注:这个分析是很久之前做的了,用于分析的代码是Android 2.1 Eclair。在最新的Android 4.x中,Input相关的代码已经发生了一些变化。在Android 2.1中,Input相关的代码分散在/frameworks/base/libs/ui/和/frameworks/base/service/java/com/android/server/目录中。在Android 4.x中,这

2012-12-06 17:28:02 4899

原创 NDS开发日志(六)

 今天从原作者网站上找到需要的几个库及其头文件,把.a放在/devkitPro/libnds/lib,.h放在/devkitPro/libnds/include,可以解决上次遇到的问题。遇到新问题:      f:/dsorganize/dsorganize_3_1129_src/arm9/source/general.h:107: error: declaratio      n of C fu

2008-01-22 22:05:00 1716

原创 NDS开发日志(五)

 昨天下载了openssl-0.9.8g的源代码。把/openssl-0.9.8g/include下的文件夹openssl拷贝到/devkitPro/libnds/include,解决了编译的问题,链接的问题留在后面解决。编译器继续报告说找不到一些函数的声明,用sourceinsight看,在DSOrganize和devkitPro中都找不到这些函数。上DSOrganize的网站看了,发现另外一些

2008-01-10 21:49:00 1446

转载 OpenSSL

注:在编译DSOrganize的时候,需要用到OpenSSL,就查阅了一下。SSL,Security Socket Layer,是一个安全传输协议,在Internet网上进行数据保护和身份确认。OpenSSL是一个开放源代码的实现了SSL及相关加密技术的软件包,由加拿大的Eric Yang等发起编写的。OpenSSL的官方网站为http://www.openssl.org/,源代码可以从ftp:

2008-01-09 21:51:00 1693

原创 NDS开发日志(四)

        原来怀疑是system include path不对,看来不是这样,因为nds.h是被正确的找到了的。后来通过#include 解决掉了DSOrganize的ARM7代码中POWER_CR未定义的问题。怀疑原作者使用的libnds和我的有不一样。        OK,ARM7部分可以编译通过了。开始编译ARM9的代码,出现SSL相关的东西未定义……(原作者在这一版中增加了SSL的支

2008-01-07 22:24:00 1477

原创 NDS开发日志(三)

 把DSOrganize的代码下下来了,make一下先,有errors:有些函数重定义,有些宏没有定义。应该是libnds相关的问题。干掉了int readPowerManagement(int reg) 在DSOrganzie中的定义,因为libnds中已经有了,不明白原作者为什么要自己定义一个一模一样的。有几个宏没有定义,结构体没有声明,找了一下,在libnds是有的,看来要改改makefil

2008-01-06 22:42:00 1672

原创 NDS开发日志(二)

 OK,现在需要确认一下开发环境的安装是否成功。可以通过编译/devkitPro/PAlibExamples/Text/Normal/HelloWorld下的工程来试一试,运行build.bat,    arm-eabi-g++ -g -mthumb-interwork -mno-fpu -L/F/devkitPro/PAlib/lib -specs=ds_arm9.specs main.o -L

2008-01-06 17:35:00 2450 1

原创 NDS开发日志(一)

 建立开发环境 下载devkitProUpdater,目前最新版本是devkitProUpdater-1.4.4.exe,可以在www.sourceforge.net上找到。 安装devkitPro,运行devkitProUpdater,事实上devkitProUpdater只是是一个很小的客户端,然后这个小软件会为你在服务器上下到全部其它软件并完成安装。这个开发环境还包括

2008-01-06 16:49:00 2354 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除