- 博客(63)
- 资源 (11)
- 收藏
- 关注
转载 linux kernel 基础知识总结
1, 虚拟地址、物理地址、总线地址区别虚拟地址是由程序产生的由段选择符和段内偏移地址组成的地址。这两部分组成的地址并没有直接访问物理内存,而是要通过分段地址的变换处理后才会对应到相应的物理内存地址。逻辑地址指由程序产生的段内偏移地址。有时把逻辑地址当成虚拟地址,两者并没有明确的界限。线性地址是指虚拟地址到物理地址变换的中间层,是处理器可寻址的内存空间(称为线性地址空间)中的地址。程序...
2020-03-29 21:49:46 1206
转载 蓝牙基础知识学习
1.射频(RF):将基带模块的数据包通过无线电信号以一定的功率和跳频频率发送出去,实现蓝牙设备的无线连接。2. 基带层(BB)采用查询和寻呼方式,使跳频时钟及跳频频率同步,为数据分组提供对称连接SCO和非对称连接ASL,并完成数据包的定义,前向纠错,循环冗余校验,逻辑通道选择,信号噪化,鉴权,加密,编码和解码的功能。适合语音也适合数据传送。每一个语音通道支持64kb/s同步语音,异步通道支持最...
2020-02-13 11:28:59 470
转载 Android: wifi打开和关闭的流程解析
1,组件图提供了wifi打开/关闭时,一些相关模块的依赖关系。2,简介:wifi打开: 由jni依赖的libnetutils.so提供wifi驱动的加载。 由netd来完成softap相关的fwreload的操作。 由jni依赖的libnetutils.so 启动wpa_supplicant服务wifi关闭: 由jni依赖的l...
2018-03-31 19:28:04 801
转载 android wifiservice enable流程
这一章来分析一下从Settings打开wifi后,framework所有的流程以及状态转换,调用的主要函数就是WiFiMananger的setWifiEnabled(boolean enabled),这个函数在前面介绍的WifiService启动流程中也有提到,当SystemServer 创建了个WifiService后,就会调用它的checkAndStartWifi,在这个函数里面,也同样会调用...
2018-03-31 19:26:51 1732
转载 Linux 下wifi 驱动开发—— SDIO接口WiFi驱动浅析
SDIO-Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户主平台数据通过SDIO口到无线网络之间的转换。SDIO具有传输数据快,兼容SD、MMC接口等特点。 对于SDIO接口的wifi,首先,它是一个sdio的卡的设备,然后具备了wifi的功能,所以,注册的时候还是先以sdio的卡的设备去...
2018-03-30 13:35:12 1821
转载 Linux 下wifi 驱动开----USB接口WiFi驱动浅析
前面学习了SDIO接口的WiFi驱动,现在我们来学习一下USB接口的WiFi驱动,二者的区别在于接口不同。而USB接口的设备驱动,我们前面也有学习,比如USB摄像头驱动、USB鼠标驱动,同样都符合LinuxUSB驱动结构: USB设备驱动(字符设备、块设备、网络设备) | ...
2018-03-30 11:39:37 364
转载 Linux Wireless架构总结
1、无线网络驱动(ath9k_htc) ath9k_htc是一个基于USB接口的SoftMAC无线网络适配器。为了其驱动能正常工作,首先必须调用usb_register来注册驱动定义的usb_driver,以借助USB Core的力量来处理与USB协议相关的事件。其代码如下:[cpp] view plain copystatic struct usb_driver ath9k_hif_us...
2018-03-30 11:37:21 435
转载 MII、GMII、RMII、SGMII、XGMII 接口区别
MII即媒体独立接口,也叫介质无关接口。它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图1)。 数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需16个信号。 管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。
2017-12-27 17:34:39 10177
转载 BLE协议架构概述(1)
BLE 协议架构总体上分成3块,从下到上分别是:控制器(Controller),主机(Host) 和应用端(Apps);3者可以在同一芯片类实现,也可以分不同芯片内实现,控制器(Controller)是处理射频数据解析,接收和发送,主机(Host)是控制不同设备之间如何进行数据交换;应用端(Apps)实现具体应用。控制器ControllerController实现射频相关的模拟
2016-03-07 16:55:45 664
转载 BLE 包结构及传输速率
根据Bluetooth 4.0 BLE部分协议:BLE中物理层physical layer的传输速率是1Mbps,除了这个外,数据传输速率与包大小、CPU处理时间相关。包结构:1.总体结构:preamble(1 Byte)+ Access Address(4 Bytes)+ PDU + CRC(3 Bytes)preamble = 1010101
2016-03-07 16:53:19 1034
转载 OpenEmbedded 入门 (二):编译Openmoko的3个版本
Openmoko目前主要有OM2007.2、ASU和FSO三个版本。我在 “Android能用Linux打败Linux手机吗?” 的第3节对这3个版本做过简单介绍。最近我编译过这3个版本,本文是编译过程的简单记录。我在freerunner样机上测试构建的映像,所以构建时硬件平台都选择了om-gta02。1 准备环境1.1 安装需要的软件我的工作环境是WinXP+VMWa
2015-11-03 09:26:38 1589
转载 OpenEmbedded 入门 (一):OpenEmbedded 简介
1 概述OpenEmbedded(OE)是一个开源的嵌入式linux系统构建环境。 Openmoko和poky都使用了定制过的OpenEmbedded环境。 Openmoko是一个开放软硬件设计的手机平台。Poky的本意是一个定制过的OpenEmbedded环境。 Poky环境包含了一个叫作Sato的UI方案,我们有时也把这个方案叫作poky。其实我们可以在poky环境开发其它基于GTK+
2015-11-03 09:23:56 4685
转载 安卓apk生成
am start -ncom.android.settings/com.android.settings.Settings该命令用于启动单独的某个应用。Settings.apk的路径:out\target\product\mt5880\system\app\3rd然后把apk拷到板子的如下目录:system/app有时会碰到system没有权限wri
2015-02-14 11:41:31 533
转载 安卓Adb Shell 开发基本命令
1. http://developer.android.com/sdk/index.html2. 3. http://mobile.163.com/12/0628/16/853PDRJR001163EI_all.html该网址详细介绍了如何安装android4.1 SDK。 adb介绍SDK的To
2015-02-14 11:38:21 653
转载 SOP 封装
SOP也是一种很常见的封装形式,始于70年代末期。SOP封装的应用范围很广,而且以后逐渐派生出SOJ(J型引脚小外形封装)、TSOP(薄小外形封装)、VSOP(甚小外形封装)、SSOP(缩小型SOP)、TSSOP(薄的缩小型SOP)及SOT(小外形晶体管)、SOIC(小外形集成电路)等在集成电路中都起到了举足轻重的作用。像主板的频率发生器就是采用的SOP封装。 上面一段话已经指出了,SOI
2014-07-30 11:00:38 8577 1
转载 串口通信协议
串口通讯—通信协议所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计
2014-04-24 11:02:12 865
转载 spi协议及工作原理分析
一、概述. SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控制器(PICmicro) 上面的微处理控制单元 (MCU) 上叫作同步串行端口(Synchronous Serial Port) 的模块(Module)来实现的, 它允许 MCU
2014-04-24 10:57:47 492
转载 I2C总线协议详解
I2C总线定义 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘
2014-04-23 13:31:20 1783
转载 nand flash 扇区的管理以及初始化
(1)首先需要了解NAND FLASH的结构。如图: 以镁光MT29F4G08BxB Nand Flash为例,这款Flash(如上图)以4个扇区(sector)组成1个页(page),64个页(page)组成1个块(block),4096个块(block)构成整个Flash存储器;由于每个扇区的容量是512 字节(bytes),整个Flash容量为4224M B
2014-04-01 22:19:59 692
转载 ASN1 基础知识7
3.2 CER与DERCER与DER(Canonical and Distinguished Encoding Rules)3.2.1 更多限制规则的需求在X.400 和X.500中应用接力传递消息,会使用到X.509数字签名(Digital Signature),其过程如下图所示:Figure 3-25 接力传递消息发送方发送v的编码结果c1(v),同时发送其数字
2014-02-15 16:05:20 882
转载 ASN1 基础知识6
本章主要介绍BER和PER两种编码规则及其衍生规则。3.3 PERBER编码因其在大小上的开销过大而受人诟病,和真实编码数据相比,平均需要增加50%的额外数据。正式这个原因推动了PER(Packed Encoding Rules)的诞生。相同协议,PER编码与BER相比在大小上至少有40%到60%的改进。因而在VoIP、视频电话、多媒体以及3G等需要高速数据传输的领域有广泛应用。
2014-02-15 16:03:53 2414
转载 ASN 基础知识 5
3 编码规则和传输语法本章主要介绍BER和PER两种编码规则及其衍生规则。3.1 BER3.1.1 基本规则BER(Basic Encoding Rules)是ASN.1中最早定义的编码规则,在讨论详细编码规则时,我们是基于正确的抽象描述上。BER传输语法的格式一直是TLV三元组<Type, Length, Value>也可以认为是,见Figure 3-1。TLV每
2014-02-15 16:02:05 1186
转载 ASN1 基础知识4
2 基础知识& 注释:本章的内容主要翻译自《ASN.1 Communication between Heterogeneous Systems》。2.11 子类型约束2.11.1 单值约束(Single Value Constraint)最简单的的子类型约束就是单值约束,即将一个类型限制为一个值,以圆括号将该值列在类型声明之后即可,如:Two
2014-02-15 15:58:01 4300
转载 ASN1 基础知识3
2 基础知识& 注释:本章的内容主要翻译自《ASN.1 Communication between Heterogeneous Systems》。2.8 基本类型Table 2-4基本类型汇总表类型UNIVERSAL Tag取值BOOLEAN1TRUE,
2014-02-15 15:54:50 2497
转载 ANS1 基础知识 1
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." - Albert EinsteinASN.1应用领域已是颇广
2014-02-15 15:52:39 3785
转载 IOS 基础知识 2
2.1 相关背景知识2.1.1 OSI参考模型Figure 2-1OSI 七层参考模型虽然ASN.1和OSI密切相关,但实际上它也应用在很多非OSI模型的情况下。 II. 表示层 Presentation Layer两个系统在传输数据前需要协商共用的编码方式。表示层负责在两个应用系统间进行编码协商和实际信息编码。为了达到这个目的,表示层需使用以下概念:
2014-02-15 15:50:34 827
转载 linux 与 Windows 下面编码转换
linux shell 配置文件中默认的字符集编码为UTF-8 。UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟utf-8的概念应该不是一个层次上的。在LINUX上进行编码转换时,可以利用iconv命令实现,这是针对文件的,即将指定文件从一种编码转换为另一种编码。 查了下iconv命令用法如下:iconv [选项
2014-02-11 19:25:12 550
转载 从execl 中导入sqlite
Android客户端开发的时候使用了SQLite数据库,为了测试,需要将一些excel文件中的数据导入到数据库的表中,下面是几个步骤: 数据库表的定义: create table bookroom(id integer, roomname nvarchar(20), mapfilename nvarchar(20)); 1、将Excel之中存储的数据另存为c
2014-02-11 17:38:39 547
转载 su 认证失败问题
Ubuntu 安装后,root用户默认是被锁定了的,不允许登录,也不允许 "su" 到 root。有人说这是个不好的实践,特别是对于服务器来说。我觉得对于桌面用户来说,这样安全性更高一些,是应该的;但对于服务器可以设置成允许 "su" 到root,但不允许root用户直接登录”。而我为了开发时的方便,则在桌面和服务器上都采用这种方式。问题:su认证失败使用su命令登录到ro
2014-01-24 14:57:12 592
转载 log4c 如何编译到ARM板子上去使用
1: 编译到X86环境, 正常步骤如下./configure --prefix=/usr/local make make install2: 如果不想依赖expat解析器,我们可以加: --without-expat3:如果我们要指定软件运行的系统平台,交叉环境下,我们可以用--host选项来设置,如果运行在arm平台下就加--host=
2014-01-23 20:30:12 747
转载 Linux时间函数
简介本文旨在为了解Linux各种时间类型与时间函数提供技术文档。1、Linux下常用时间类型Linux下常用时间类型有四种:time_t、struct tm、struct timeval、struct timespec1.1 time_t时间类型time_t类型在time.h中定义:[cpp] view plaincopyprint?
2014-01-21 18:28:59 465
原创 浮点型数据的转换
union{float real;}valfloat ft;uchar *p = (uchar*)&ft;p[0] = data[3];p[1] = data[2];p[2] = data[1];p[3] = data[0];val.real = ft;
2013-12-10 20:15:30 912
转载 windows、linux文件转换
一、windows的文件到linux下的转换方法:1. 用sed命令替换sed -e 's/^M//g' original.txt > target.txt (注意^M 在Linux/Unix下是这样输入的:先按CTRL+v,接着按CTRL+SHIFT+m,呵呵~~ 其实俺主要就是为了记录一下这个输入方法)2. 在vi中替换:%s/^M//g3.sed命令替换sed -
2013-10-22 08:55:26 1006
转载 linux 调试
在开发和使用Linux 程序时,引擎有时会莫名其妙的core 掉,在网上查找、整理了一些资料,总结如下。1、什么是core dumpCore,即core memory,而dump 就是堆放的意思。core dump 又叫核心转储,当程序运行过程中发生异常,程序异常退出时,由操作系统把程序当前的内存状况存储在一个core 文件中,叫core dump。2、如何打开core dump支持有的操作系统并
2013-10-18 10:09:00 402
转载 Linux内核源代码分析——第5章 reboot 系 统 调 用 2012-02-07 10:12:04
29298:内核中其他地方可能都没有sys_reboot的实现方法先进。其原因可以理解为:根据调用的名字我们就可以知道,reboot系统调用可以用来重新启动机器。根据所提供的参数,它还能够挂起机器,关闭电源,允许或者禁止使用Ctrl+Alt+Del组合键来重启机器。如果你要使用这个函数编写代码,需要特别注意它上面的注释标题的警告:首先同步磁盘,否则磁盘缓冲区中的数据可能会丢失。
2013-10-18 09:49:01 1707
转载 动态共享库出错问题
原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可. 另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件. 所以安装共享库后要注意共享库路径设置问题, 如下:1) 如果共享库文件安装到了/lib或/usr/lib目录下,
2013-08-20 11:51:55 785
转载 apt-get 和 dpkg 命令大全
一、APT的使用(Ubuntu Linux软件包管理工具一)apt-cache search # ------(package 搜索包)apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)sudo apt-get install # ------(package 安装包)sudo apt-get install # -----(pa
2013-08-19 21:27:08 424
转载 tslib机制分析 2009-12-25 17:17:39
tslib 很早以前用了,深入了解了它的原理,但是当时忙,就没写成文档了,今天发现对它有点陌生了,觉得如果再不记录下来的话,估计以后就忘了。 估计大家都听说过tslib,其实从他的名字就可以看出它的,它是touchscreen的lib,其实这样还不够具体,其实它开始确实是为了touchscreen的鼠标驱动而发展起来的,且只是一个中间处理库,即将原始数据进行调整,比如触摸屏定位。只不过后来
2013-07-18 15:47:34 735
转载 linux 自动执行 crontab学习笔记
在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现。以某一频率执行任务linux缺省会启动crond进程,crond进程不需要用户启动、关闭。 crond进程负责读取调度任务并执行,用户只需要将相应的调度脚本写入cron的调度配置文件中。 cron的调度文件有以下几个: crontab cron.d cron.daily cron.hourly cron.
2013-07-12 10:36:59 380
转载 linux下内存释放问题
linux下内存释放问题细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.先来说说free命令[root@server ~]# free -m total used
2013-07-11 20:37:02 534
Wi-Fi Aware™: Discover the World Nearby
2017-12-27
蓝牙驱动及Bluez使用流程分析
2017-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人