自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

转载 深度解密HTTP通信细节

本文作者:饶全成,中科院计算所硕士,滴滴出行后端研发工程师。上一篇文章中,我们学会了用wireshark和tcpdump来分析TCP的“三次握手,四次挥手”,非常好用。这哥俩就是传说中的 锤子,拿着 锤子,看什么都像 钉子!在这篇文章中,我对准了 HTTP这颗钉子砸下去,咳咳。为了对网络数据包的“流转”有更加深刻的理解,我在docker(远程)上部署一个服务,支持http方式调用。从客...

2019-06-04 18:34:17 291

转载 DRM in Android详解--转

DRM,英文全称为Digital Rights Management,译为数字版权管理。它是目前业界使用非常广泛的一种数字内容版权保护技术。随着知识产权保护受重视的程度日益提高,快速攻城略地得Android智能手机是如何利用DRM来有效保护数字版权的呢?本文将通过剖析Android中的DRM框架以及相关工作流程来向读者揭示DRM的神秘面纱。M,英文全称为Digital Rights Ma...

2019-06-04 18:32:37 661

转载 ubuntu-14.04-desktop-amd64 安装 Beyond Compare,ia32-libs

前几天 Ubuntu 14.04终于发布了,然后就开始了预谋已久的系统升级了。以前都是安装 32 位的Ubuntu,这次想开始全新的 64 位时代了,所以安装了 64 位的 Ubuntu14.04。不过安装完系统后,安装一些软件时发现库或者软件包依赖的问题。于是就各种搜索找解决办法,最终算是把问题都解决了,所以写篇文章总结一下在64 位系统下安装 32 位软件以及解决 deb 包依赖的一些方法

2016-03-15 18:21:30 767

转载 Git与Repo入门

Git与Repo入门版本控制  版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。。。一、原始版本控制  最原始的版本控制是纯手工的版本控制:修改文件,保存文件副本。有时候偷懒省事,保存副本时命名比较随意,时间长了就不知道哪个是新的,哪个是老的了,即使知道新旧,可能也不知道每个版本是什么内容,相对上一版作

2016-03-14 17:39:22 367

转载 基于platform总线的中断(按键)字符设备驱动设计

基于platform总线的中断(按键)字符设备驱动设计于platform总线的中断(按键)字符设备驱动设计2011-12-23 13:02:02 分类: LINUX我的环境:主机:Fedora 14,内核版本2.6.38.1开发板:ARM9 tq2440移植内核版本:linux-2.6.30.41、platform简介为了理解platform

2016-02-26 23:20:41 525

转载 android开发 dts、各种接口porting----不错

原文网址:http://www.xuebuyuan.com/1023185.html1. repo init -u git://review.sonyericsson.net/platform/manifest -b volatile-jb-mr1-yangtze2. https://wiki.sonyericsson.net/androiki/CN3-II/Bringup_Trail_F

2016-02-26 11:24:01 8091

转载 Kernel —— Hacks

initrdinitrd 本质上就是ramdisk,用来存储数据的。至于是什么数据,就是硬盘上的整个文件系统的阉割版,简而言之就是Busybox,王家卫的《一代宗师》给我的感觉,反胃!赵本山说一个门派,要有人做里子,有人做面子。面子要光彩夺目,容不的不干净的东西。里子就要去面子做下三烂的勾当。内核要自己纯净一些,不要杂七乱八的东西。initrd就是里子,就要替内核着想。系统启动时需要挂载文件系

2016-02-26 11:19:26 408

转载 Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解

在LINUX的时钟中断中涉及至二个全局变量一个是xtime,它是timeval数据结构变量,另一个则是jiffies,首先看timeval结构struct timeval{time_t tv_sec; /***second***/susecond_t tv_usec;/***microsecond***/}到底microsecond是毫秒还是微秒??1秒=1000毫秒(

2016-02-25 14:47:19 561

转载 GMT,UTC,DST,CST时间详解

全球24个时区的划分      相较于两地时间表,可以显示世界各时区时间和地名的世界时区表(World Time),就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究竟这24个时区是如何产生的?过去世界各地原本各自订定当地时间,但随着交通和电讯的发达,各地交流日益频繁,不同的地方时间,造成许多困扰,于是在西元1884年的国际会议上制定了全球性的标准时,明定以英国

2016-02-25 14:46:25 557

转载 生成和打上patch的方法

在团队开发的过程中,经常需要生成patch,或者打上别人提供的patch,那么一般情况是如何操作的呢。首先生成patch需要有两个工程,一个修改前的A工程,一个修改后的B工程。使用linux命令diff就可以生成patch了。格式如下:?1diff -Naur path/to/A_Project  path/to/B_Project > Pr

2016-02-24 19:43:18 432

转载 Linux之module_param()函数学习

一.module_param1.为什么引入  在用户态下编程可以通过main()来传递命令行参数,而编写一个内核模块则可通过module_param()来传递命令行参数. 2. module_param宏是Linux 2.6内核中新增的,该宏被定义在include/linux/moduleparam.h文件中,具体定义如下:   /* Helper functions: type

2016-02-24 17:09:34 305

转载 内核通知链原理及机制

内核通知链不是一个很复杂的东西,但是在内核中应用却很重要,当然也有很多人写过它的文章,当然这里写只供学习之用.     参考资料《深入理解linux网络内幕》,网络上一些文章.      通知链只在内核子系统之间使用,内核和用户空间的通知信息由其他机制来处理,比如ioctl.      内核源码参考: incllude/linux/notifier.h              

2016-02-23 17:09:11 597

转载 Linux内核基础--事件通知链(notifier chain) 简单一例

1.4. 简单一例:通过上面所述,notifier_chain机制只能在内核个子系统间使用,因此,这里使用3个模块:test_notifier_chain_0、test_notifier_chain_1、test_notifier_chain_2;当 test_notifier_chain_2通过module_init初始化模块时发出事件TESTCHAIN_2_INIT;然后 test_not

2016-02-23 17:03:54 770

转载 Linux内核基础--事件通知链(notifier chain)

Linux内核中各个子系统相互依赖,当其中某个子系统状态发生改变时,就必须使用一定的机制告知使用其服务的其他子系统,以便其他子系统采取相应的措施。为满足这样的需求,内核实现了事件通知链机制(notificationchain)。通知链只能用在各个子系统之间,而不能在内核和用户空间进行事件的通知。组成内核的核心系统代码均位于kernel目录下,通知链表位于kernel/notifier.c中,对

2016-02-23 17:02:04 397

转载 device结构和platform_device结构

今天折腾了一天的SPI设备的驱动加载,甚至动用了逻辑分析仪来查看spi总线的波形,主要包括两个SPI设备,at45db321d和mcp2515,一个是串行的dataflash,一个是can总线设备芯片。前者对于我们来说非常重要,我们可以借助该设备对uboot和kernel以及根文件系统进行更新。    预备知识:设备和驱动是如何匹配的?系统的热插拔是如何实现的?    首先一点,设备和驱动

2016-02-23 15:24:03 882

转载 Android Wifi的工作流程

Wifi 网卡状态1.   WIFI_STATE_DISABLED: WIFI网卡不可用2.   WIFI_STATE_DISABLING: WIFI正在关闭3.   WIFI_STATE_ENABLED:WIFI网卡可用4.   WIFI_STATE_ENABLING:WIFI网卡正在打开5.   WIFI_STATE_UNKNOWN:未知网卡状态

2016-02-21 17:21:16 1703

转载 Linux运行时IO设备电源管理框架---PM

1. 介绍对I/O设备的运行时电源管理(运行时PM)的支持,是在电源管理的核心(PM core)下借助于以下方式实现的: 电源管理工作队列pm_wq,总线类型(bus types)和设备驱动(devicedrivers)可以把自己的PM相关的工作项(workitems)置于其上。我们强烈建议,pm_wq用于对所有运行时PM相关的工作项进行排队,因为这使得他们能够与全系统的电

2016-02-19 10:01:56 978

转载 WEP协议加密解密过程详解

分类: 每天学习一点点图1 IEEEWEP加密、解密、帧格式WEP的加密与解密过程在网上有各种版本,我最后决定参考IEEE文献中的标准,如图1所示,并据此写出自己的理解。 无线网络通讯安全三目的:Confidentiality: 私密性 防范数据不受未授权的第三方拦截Integrity: 完整性 防范数据被篡改Authentication

2016-02-14 18:28:21 12199

转载 wpa_supplicnat之eloop_run分析

重要结构体!!!struct eloop_sock { int sock; void *eloop_data; void *user_data; eloop_sock_handler handler; //该handler是一个方法,后续socket有变化,就会调用相应的socket所在的结构体中的handler方法来处理 WPA_TRACE_REF

2016-02-14 17:54:01 1138

转载 wpa_supplicant上行接口浅析

wpa_supplicant提供的接口从通信层次上划分,上行接口:wpa_supplicant提供向上的控制接口 control interface,用于与其他模块(如UI)进行通信,其他模块可以通过control interface 来获取信息或下发命令。下行接口:wpa_supplicant通过socket通信机制实现下行接口,与内核进行通信,获取信息或下发命令。 本篇博文

2016-02-14 17:53:08 1265

转载 android——wifi系统架构

1. 系统架构        Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口。整个WiFi系统架构如下图所示:   一切尽在上图中,下面将对每部分进行详细分析。1.1 WifiService        由SystemServer启动的时候生成的Connecttivi

2016-02-14 17:30:20 273

转载 内存映射IO空间的读写函数writeb(), writew(), writel()

分类: 嵌入式readb(), readw(), readl()函数功能:从内存映射的 I/O 空间读取数据。readb  从 I/O 读取 8 位数据 ( 1 字节 );readw 从 I/O 读取 16 位数据 ( 2 字节 );readl 从 I/O 读取 32 位数据 ( 4 字节 )。源文件定义位置:arch/$(ARCH)/kernel/io.c

2016-02-14 17:04:43 6444

转载 [译]映射设备寄存器到内存

分类: 本文译自Dan Saks的专栏文章。内存映射I/O是能用标准C/C++做得相当好的一个东东。设备驱动通过设备寄存器来与外围设备通信。驱动通过向设备寄存器中写入命令或者数据,或者通过读取设备寄存器来读取设备状态或者数据。许多处理器使用内存映射I/O,就是把设备的寄存器映射到常规内存空间的固定地址。对于一个C/C++程序员来说,内存映射设备的寄存器看起来非常

2016-02-14 14:39:58 3213

转载 wifi基础知识

WIFI基本知识整理2012-08-25 09:42:31 分类: 网络与安全WIFI基本知识整理         这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习。因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种情况就直接英文来描述了。 主要内容:一、基本概述二、实践基

2016-02-14 14:38:25 274

转载 MFC中调试过程中查看输出信息(转载)

在调试MFC程序时,我们经常需要查看特定位置变量的输出值。或者在某特定条件执行时,给出一个输出标识。一般来说,有3种方法:1) 调用TRACE(LPCTSTR lpszFormat, ...)函数    在MFC中使用TRACE函数来打印输出结果却是非常方便,和在控制台程序中使用printf函数的使用方法和效果类似。不过有几点      需要注意:一,TRACE函数的输出是在Out

2015-03-18 01:37:38 767

转载 vlc开发学习

用C/C++开发基于VLC SDK的视频播放器在windows系统如果开发万能播放器,一般都是基本DirectShow来开发,开发也很简单,但缺点也很多,一个文件格式是否能够播放完全取决于你是否安装了正确的解析器和解码器,即使现在有了万能解器安装包也会出现很多问题,不过自从很多开源软件的出现,比如大名鼎鼎的ffmpeg,vlc等,一切都变得简单起来,基于ffmpeg

2015-03-09 23:35:39 528

原创 c++库学习计划

QT GUI 可移植.Platinum(neptune)  其中包括了对多个C++库和平台SDK(HTTP/TCP/UDP/XML, Thread/Message, String, List/Stack/Queue/Map/Array/Stream, File operaton, Log etc.)的二次封装.log4c 用后面2个库已经一段时间了.计划C++学习就用这三个

2015-01-28 21:58:15 349

原创 HTTP学习(网上总结)

HTTP协议学习

2015-01-28 21:46:50 412

原创 第一篇

生命如此绚烂却短暂,学习无涯却

2014-09-21 20:31:27 316

makefile总结

自我总结的makefile,对新手应该有很大的帮助,喜欢的朋友可以下载开看

2015-01-01

空空如也

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

TA关注的人

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