自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (56)
  • 收藏
  • 关注

转载 [android源码分析]sdp Server的启动分析

SDP server是蓝牙启动过程中的一个非常重要部分。本文简单介绍一下这个函数的实现。[cpp] view plaincopyint start_sdp_server(uint16_t mtu, const char *did, uint32_t flags)  {      //这里传入的flags是SDP_SERVER_COMPAT  //所以compat值是有效

2013-12-31 16:40:30 2236

转载 [android源码解析]bluetoothd默认初始化中main.conf的解析

上文我们从总体上把握了bluetoothd启动的流程,下面我们就具体的细节来详细分析一下,首先要看到的就是init_defaults,在它里面最重要也是最有意义的就是main.conf的解析了。我们通常需要修改某个配置就去修改main.conf中的内容,那么这些内容又是如何真正被配置呢?本文就来和你一一说来。2.2.1 默认的初始化简介这个函数会初始化一些默认的配置,在main.c

2013-12-31 16:39:17 3498

转载 [android源码分析]bluetoothd service的启动的总体流程分析

本篇文章将会从总体流程上解释一下每一个函数的意义,具体的每一个函数的解释将是一个很长的过程,后面的文章中我将会针对每一个有意义的函数来具体分析。在具体分析bluetoothdservice的启动之前,我们先来看一下bluetoothd service究竟是什么,他同样定义在init.rc中:servicebluetoothd /system/bin/bluetoothd -n

2013-12-31 16:38:40 3897

转载 [android源码分析]enable_native中的hci dev注册和up

2、enableNative的分析         enable Native是真正的蓝牙使能的函数,蓝牙打开的一系列操作都是通过他来真正实现的。可以认为,这个函数蓝牙使能的主干,其余几个方面都可以认为是旁枝末节而已,因此,无论如何,我们必须了解到这个函数真正的精髓所在。         先来看jni层究竟是如何实现这个函数的:[cpp] view plainc

2013-12-31 16:37:25 2628 1

转载 Android4.0中蓝牙适配器state machine(状态机)的分析

今天晓东和大家来一起看一下Android4.0中蓝牙适配器(Bluetooth Adapter)的状态机变化的过程。首先,我们需要了解一下,蓝牙适配器究竟有哪些状态,从代码可以清晰地看到(frameworks/base/core/java/android/server/bluetoothadapterstatemachine.java):[java] view plaincop

2013-12-31 16:34:33 4720 1

转载 Android启动之bluetooth

前一段时间我们分析了kernel中bluetooth的初始化操作,从这一章起,晓东将会和大家一起正式进入到Android中bluetooth的分析。毫无疑问,我们依然需要知道在Android启动的时候,蓝牙究竟有做些什么。         首先我们来回顾一下Android启动的一般流程,有人把它归结为4个步骤,分别为1)init进程启动;2)Native服务启动;3)System se

2013-12-31 16:30:41 4406 1

转载 Kernel中uart接口的bluetooth driver初始化分析

在前面几篇文章中,我们把kernel中bluetooth stack相关的初始化分析完成,今天晓东带大家来一起分析uart接口的bluetooth driver的初始化。首先,我们来到kernel/drivers/bluetooth目录,看hci_ldisc.c文件。又见到我们熟悉的module_init:module_init(hci_uart_init);好吧,动手来看吧:

2013-12-31 16:26:50 7286

转载 Kernel中Hid和Bnep的初始化

有了前面的L2CAP,RFCOMM的初始化分析,再来分析Hid和Bnep的代码就轻松很多了。基本来说,这两个protol没有太多的新意,直接看代码就可以看出来了。[cpp] view plaincopystatic int __init hidp_init(void)  {      int ret;      BT_INFO("HIDP

2013-12-31 16:26:17 1805 1

转载 Kernel中rfcomm层的初始化

篇文章《kernel中bluetooth的初始化》一文中晓东和大家分享了HCI层,L2CAP层以及SCO层的初始化流程,今天晓东继续和大家一起来看rfcomm层的初始化流程。         在正式开始之前,我们先来看一下rfcomm层是什么,百度百科是这样介绍rfcomm的:“一个基于欧洲电信标准协会ETSI07.10规程的串行线性仿真协议。此协议提供RS232控制和状态信号,如基带上的

2013-12-31 16:24:45 3078 1

转载 kernel中bluetooth的初始化

我们大家都知道,Android其实是基于linux之上进行运行的。在Android系统的运行之初,首先是kernel层的一系列的初始化。今天晓东就先和大家来简单分析一下在开机之后,kernel中和bluetooth的初始化相关的内容有哪些。         我们仍然还是才kernel/net/bluetooth下面的代码开始查看,搜索一下initcall相关的内容也就只有在af_bluet

2013-12-31 16:13:12 3594 1

转载 Kernel中bluetooth相关的config选项

有了前几篇对bluetooth的初步了解,今天晓东就和大家正式开始bluetooth的代码阅读了。在开写这篇文章之前,晓东也很纠结,究竟该从哪里开始着手写相关的内容。最初的打算是准备从蓝牙的开关开始着手的,这是一条大家很好理解也很容易上手的路线。但后来好好想想,还是放弃了这样的想法,因为,我们的这次的系列文章准备稍微讲得深入一点,协议层是肯定要涉及的,而不是简单的浮在JNI之上去分析。所以,今天我

2013-12-31 16:10:31 5286

转载 Android4.0中Bluetooth的代码结构

也许在看了上一篇的《Android中bluetooth的架构》一文后,你已经有了强烈的想去动手看看源代码的冲动了吧?没错,看源码绝对是一个很好的理解方法,但是涉及到Bluetooth的源代码究竟在哪里呢?也许,有人很快就能够找到一些内容,但也许有同学还比较茫然,不知道究竟该去哪里阅读,没关系,这篇文章就由晓东来给您详细说一下在Android中Bluetooth的代码有哪些。        

2013-12-31 16:05:29 1859

转载 Android中bluetooth的架构

既然我们想要系统地进行分析一下Android的bluetooth,那么就有必要首先来从总体架构上看一下bluetooth在Android中是处于哪些层次,做到手中有枪,心里不慌。Bluetooth从总体来看,基本的架构图如下: 这张图是我拷贝的网上的一份介绍bluetooth的ppt上,他应该也是出于某一份大牛之手,可惜的是我并没有能够找到具体的出处,若有人看到可以告诉我一

2013-12-31 15:55:49 3803

原创 Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发

一、Android Bluetooth现状在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针。谷歌和Broadcom之间的合作,开发新的蓝牙协议栈,取代了基于堆栈的Bluez。因此市场上出现了老设备的兼容问题,很多蓝牙设备在android4.2手机上不能使用。N

2013-12-31 15:52:50 4155 1

原创 android中的/system/bin/input工具

input工具提供一种在终端输入命令来控制系统的方式# inputusage: input ...       input text        input keyevent        input tap        input swipe #input keyevent 4     //4 表示KEYCODE_BACK常用的几种事件:82 -->

2013-12-19 15:45:20 2535

转载 ARM Linux为什么要引进Device Tree

1. 原因     A lot of very similar C code to support each and every board.             Linux kernel老的Probing机制          关键是:   要提供一个board file,用于registers SOC的各个设备.   要提供一

2013-12-18 17:01:34 3482

原创 linux 用户空间与内核空间——高端内存详解

摘要:Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。用户空间的内存映射采用段页式,而内核空间有自己的规则;本文旨在探讨内核空间的地址映射。 Linux内核地址空间划分通常32位Linux内核虚

2013-12-04 18:04:27 52126 7

转载 运行地址和加载地址

运行地址和加载地址          在连接目标代码时,会提到运行地址和加载地址。这两者有什么区别呢?          加载时地址就是程序放置的地址,运行地址就是程序定位的绝对地址,也即在编译连接时定位的地址。如果程序是在flash里运行,则运行地址和加载地址是相同的。如果程序是在ram里运行,但程序是存储在flash里,则运行地址指向ram,而加载地址是指向flash。代码一般

2013-12-04 16:19:04 1837

转载 linux-3.2.36内核启动4-setup_arch中的内存初始化3(arm平台 bootmem_init源码分析)

void__init bootmem_init(void){        unsigned long min, max_low, max_high;         max_low = max_high = 0;         find_limits(&min, &max_low,&max_high);static void __init

2013-12-03 11:41:10 2118

转载 linux-3.2.36内核启动3-setup_arch中的内存初始化2(arm平台 分析建立页表)

又是一个国庆七天假,之前有很多打算可是到最后,只有linux愿意陪我。介绍pageing_init之前,我们了解几个定义pte_t 页表项pmd_t 页中间目录项pud_t 页上级目录pgd_t 页全局目录项我的arm平台#define PMD_SHIFT                21#define PGDI

2013-12-03 11:40:24 2739

转载 linux-3.2.36内核启动2-setup_arch中的内存初始化1(arm平台 分析高端内存和初始化memblock)

上一篇微博留下了这几个函数,现在我们来分析它们        sanity_check_meminfo();        arm_memblock_init(&meminfo, mdesc);        paging_init(mdesc);        request_standard_resources(mdesc); 在上一微博有展现根

2013-12-03 11:39:27 4669

转载 linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)

最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动。看的过程中总结了一点东西,希望可以帮助大家调试内核。当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人太多了,像这种内核启动的上古代码早就被人分析的彻彻底底。这注定我写的只能是烂微博了。为了此微博有存在的必要,我会显示内核启动打印的代码位置(用绿色表示)及出现错误打印的原因(用红色

2013-12-03 11:38:51 2760

UNIX环境高级编程

UNIX环境高级编程

2012-01-31

android内核移植文档整理

android内核移植文档整理,我移植时参考过的文档,论文,资料,等待资料.学习andoid内核移植的好文章

2011-12-26

Uboot启动和移植

Uboot启动和移植

2011-12-25

uboot分析和笔记

uboot分析和笔记 详细的分析 uboot分析和笔记 详细的分析

2011-12-25

Android面试题

Android面试题

2011-12-25

android底层相关模块介绍

android底层相关模块介绍供14章 包括android驱动所有模块,学习的好资料啊

2011-12-25

Android核心分析

Android核心分析 Zygote Service - maxleng的专栏 Service深入分析 IPC框架分析 Binder,Service,Service manager

2011-12-25

Android编译系统

Android_build_systemAndroid_build_systemAndroid_build_system

2011-12-25

android编译大全_完全指南

android编译大全_完全指南

2011-12-25

Android的编译系统

Android的编译系统

2011-12-25

FPGA学习经验

FPGA学习经验共享FPGA学习经验共享FPGA学习经验共享FPGA学习经验共享

2011-12-25

matlab书籍整理

matlab书籍整理

2011-12-25

超声波测距资料打包

超声波测距资料

2011-12-25

嵌入式系统设计开发流程

嵌入式系统设计开发流程嵌入式系统设计开发流程嵌入式系统设计开发流程嵌入式系统设计开发流程

2011-12-25

ucos 2内核结构

ucos 2内核结构

2011-12-25

嵌入式操作系统介绍

嵌入式操作系统介绍

2011-12-25

任务管理 时间管理 内存管理

任务管理 时间管理 内存管理

2011-12-25

uCOSII移植

uCOSII移植

2011-12-25

C语言实现FFT

C语言实现FFT

2011-12-25

C2000与单片机对比分析

C2000与单片机对比分析

2011-12-25

基于DSP的FFT算法实现

基于DSP的FFT算法实现

2011-12-25

TMS320C2000 DSP硬件结构

TMS320C2000 DSP硬件结构

2011-12-25

TMS320C2000 DSP指令系统

TMS320C2000 DSP指令系统

2011-12-25

CCS的技术概述

CCS的技术概述

2011-12-25

做DSP最应该懂得157个问题

做DSP最应该懂得157个问题

2011-12-25

基于TMS320C240湿度传感器测试系统设计

基于TMS320C240湿度传感器测试系统设计

2011-12-25

Jabber(XMPP)服务协议的概述中文版

Jabber(XMPP)服务协议的概述中文版

2011-12-25

AVR实现MP3,歌曲放在U盘.

AVR实现MP3,歌曲放在U盘,原理图,代码都有,还有说明哦

2011-12-25

XMPP协议简介

XMPP协议简介

2011-12-25

佛山网通EPON的FTTH工程方案设计

如今,更多用户关注多样化、个性化的通信服务,宽带服务的需求已经上升到了一个新的台阶。随着IPTV视频组播、点播业务的全面展开,对接入网提出了更高的带宽需求。 现有宽带接入方式,如xDSL,已越来越不能满足用户高带宽、多业务接入的需求。随着光接入技术的发展,光纤到户的综合成本比以前有大幅度下降。目前进行FTTH技术和业务的试验条件已经具备。 本文主要讨论了佛山网通EPON的FTTH工程设计方案,对工程涉及的试验业务、网络结构、小区布线、带宽设计、IP地址规划、VLAN划分、设备特性、ODN设置等进行了详细的描述,并对该工程采用EPON的FTTH技术进行了详细的分析。本次试验工程为佛山进行大规模的FTTH商用奠定了基础。

2011-12-25

03_Android的Linux内核与驱动程序

03_Android的Linux内核与驱动程序

2011-12-25

BootLoader_与Linux_内核的参数传递

BootLoader_与Linux_内核的参数传递

2011-12-25

linux 内核启动过程以及挂载android 根文件系统的过程

linux 内核启动过程以及挂载android 根文件系统的过程

2011-12-25

Eclipse_OpenOCD_OpenJTAGv3嵌入式开发教程

Eclipse_OpenOCD_OpenJTAGv3嵌入式开发教程Linux

2011-12-25

超宽带无线通信技术 ppt

超宽带无线通信技术 超宽带无线通信技术

2022-09-11

ARM---Cortex-A8处理器

ARM---Cortex-A8处理器, PPT版本, 非常好的参考资料。 欢迎下载 Cortex-A8处理器 技术特点; Cortex-A8内部 功能及特点; Cortex-A8内核工作模式; Cortex-A8存储系统。

2022-09-11

opencl SVM例程

opencl SVM例程

2016-08-16

linux设备启动char_dev2

linux设备启动char_dev2

2012-01-31

linux设备启动char_dev1

linux设备启动char_dev

2012-01-31

linux字符设备驱动

linux字符设备驱动

2012-01-31

空空如也

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

TA关注的人

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