自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 STUN协议详解

它允许位于NAT(或多重NAT后的客户端找出自己的公网地址,查出自己位于那种类型的NAT之后以及NAT为某一个本地端口所绑定的internet端口),这些信息被用来两个同时处于NAT路由器之后的主机之间建立UDP通信。X-port字段:是将NAT的映射端口以小端形式与magic cookie的高16位进行异或,再将结果转换成大段形式而得到的,X-Address也是类似。其包含了NAT客户端的反射地址。transaction ID,96位的事务ID标识符,用于随机请求和响应,标识同一个式服务的请求和响应。

2024-02-03 18:17:01 300

转载 NAT的四种类型以及类型探测

则N<=6可穿透。2 和 4 序列相加 = 6 则可穿透。3(端口受限)和4(对称)= 7 不可穿透。

2024-01-22 19:45:30 1083 1

转载 Linux Socket CAN驱动 <5.控制器的初始化过程>

于一般的CAN模块,进行初始化时,最关键的是以下两步:        1、  配置CAN的位时序;        2、  配置CAN的消息报文;                     下面,我们来详细分析上面提到的关键两步。        一、初始化步骤:        1、  第一步,进入初始化模式,在CAN控制寄存器中,将Init位置1;        2、 

2017-03-07 21:45:57 1637

转载 Linux Socket CAN驱动 <4.接收数据流程>

现在我们来分析一下CAN总线的接收数据流程,对于网络设备,数据接收大体上采用中断+NAPI机制进行数据的接收。同样,我们现在的CAN模块也是采用同样的方式进行数据的接收。由于我们只针对CAN总线接收数据这条主线进行分析。因些,会忽略一些针对CAN协议的设置及初始化等相关代码。         在初始化CAN设备时,我们需要给CAN设备分配NAPI功能。我们通过netif_napi_add()函

2017-03-07 21:44:58 972

转载 Linux Socket CAN驱动 <3. Socket CAN发送数据流程>

对于本文,我们将从用户层使用Socket CAN进行数据发送时,数据从用户空间到底层驱动的整个通信流程,用户层使用Socket CAN可参考上一篇文章《对Socket CAN的理解(2)——【Socket的原理及使用】》。    当我们在用户层通过socket进行CAN数据的发送时,需要进行以下操作:    (1) 创建一个套接字socket,采用AF_CAN协议;    (2)将创建

2017-03-07 21:44:22 633

转载 Linux Socket CAN驱动 <2. Socket的机制>

了能够对Socket CAN的深入理解,我们需要了解Socket的机制。         Socket的中文翻译为“插座”,在计算机世界里称为套接字。Socket最初是作为网络上不同主机之间进程的通信接口,后来应用越来越广,在同一主机上的不同进程之间通信也可以用Socket。简单来说,当网络上不同主机之间的两个进程(A、B)采用Socket进行通信时,那么它们之间需要建立一个通信端点,即创建S

2017-03-07 21:43:26 452

转载 Linux Socket CAN驱动-CAN总线原理

由于Socket CAN涉及到CAN总线协议、套接字、Linux网络设备驱动等。因此,为了能够全面地了解Socket CAN的原理。我们需要了解以下几个方面的知识点:(1)CAN总线协议;(2)Socket原理;(3)Linux网络设备驱动;当熟悉以下三个方面的知识点后,我们再去分析基于Linux的Socket CAN的驱动。这样的话理解起来更加容易、易懂。(4)Socket

2017-03-07 21:42:26 1440

转载 基于MCP2515的Linux CAN总线驱动程序设计(三)

1. 前言        上篇文章介绍了使用SPI子系统设计的基于MCP2515的Linux CAN总线驱动程序,这篇文章主要介绍MCP2515的字符设备驱动功能函数的实现。2. 硬件设计        MCP2515与S3C2416的硬件连接图如图3所示。如硬件原理图可知MCP2515芯片连接在S3C2416芯片的SPI0上,中断接在GPF1上;MCP2515输出连接SN65HVD2

2017-03-07 21:40:30 3033

转载 基于MCP2515的Linux CAN总线驱动程序设计(二)

1. 前言        CAN(Controller Area Network)总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性、及独特的设计和适宜的价格而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到了

2017-03-07 21:39:18 818

转载 基于MCP2515的Linux CAN总线驱动程序设计(一)

.前言        CAN(Controller Area Network)总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性、及独特的设计和适宜的价格而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到了众多半导

2017-03-07 21:37:34 709

转载 深入解析 ext2 文件系统

很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了。当然学习数据恢复,首先要学习文件系统。最近工作原因,好长时间没看学习Linux kernel 相关的东西,感觉面目可憎。扯远了,开始我们的ext2 文件系统的探索之旅。    那些介绍ext2特征的套话我就不说了,任何一

2016-08-15 22:16:30 369

转载 分析ext2文件系统磁盘分区结构

最近看了些kernel fs code, 从实际例子,简单分析一下ext2文件系统的结构,  希望对大家有帮助本文涉及到一些结构,主要是:超级块 struct ext2_super_block { }组描述    struct ext2_group_desc { }索引节点    struct ext2_inode { }目录结构    struct ext2_di

2016-08-15 22:14:56 699

转载 linux输入子系统

输入子系统由驱动层、输入子系统核心、事件处理层三部分组成。一个输入事件,如鼠标移动、键盘按下等通过Driver->Inputcore->Event handler->userspace的顺序到达用户控件的应用程序。    驱动层:将底层的硬件输入转化为统一事件形式,想输入核心(Input Core)汇报。 输入子系统核心:承上启下。为驱动层提供输入设备注册与操作接口

2016-08-03 10:54:35 214

转载 设计模式C++实现(16)——状态模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象

2016-07-01 12:10:26 191

转载 设计模式C++实现(15)——观察者模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 12:09:18 191

转载 设计模式C++实现(14)——职责链模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 12:07:22 195

转载 设计模式C++实现(13)——中介者模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 12:06:03 169

转载 设计模式C++实现(12)——备忘录模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 12:04:34 207

转载 设计模式C++实现(11)——装饰模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 12:03:21 168

转载 设计模式C++实现(10)——桥接模式

转自:http://blog.csdn.net/wuzhekai1985 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面

2016-07-01 12:01:45 162

转载 设计模式C++实现(9)——享元模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 12:00:20 171

转载 设计模式C++实现(8)——代理模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 10:56:55 201

转载 设计模式C++实现(7)——外观模式、组合模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 10:55:56 157

转载 设计模式C++实现(6)——建造者模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 10:53:22 165 1

转载 设计模式C++实现(5)——原型模式、模板方法模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 10:50:23 140

转载 设计模式C++实现(4)——单例模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 10:49:05 155

转载 设计模式C++实现(3)——适配器模式

转自:http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向

2016-07-01 10:47:31 155

转载 设计模式C++实现(2)——策略模式

转自:http://blog.csdn.net/wuzhekai1985 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面

2016-07-01 10:45:55 217

转载 设计模式C++实现(1)——工厂模式

转自: http://blog.csdn.net/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对

2016-07-01 10:26:34 158

原创 JNI文件的创建方法

通常,JNI文件会两种创建方法:1. 采用javah工具自动生成相应的JNI头文件,再实现相应的函数,如:使用Java编写HelloWorld 的Android应用程序:package com.lucyfyr;import android.app.Activity;import android.os.Bundle;import android.util.Log;

2016-03-16 10:50:37 950

转载 JNI 实战全面解析

简介项目决定移植一款C++开源项目到Android平台,开始对JNI深入研究。JNI是什么?JNI(Java Native Interface)意为JAVA本地调用,它允许Java代码和其他语言写的代码进行交互,简单的说,一种在Java虚拟机控制下执行代码的标准机制。NDK是什么?Android NDK(Native Development Kit )是

2016-03-16 10:26:57 236

转载 Binder详解

介绍Binder是什么?它可以叫作:IPC、RPC、线程迁移、远程对象访问,本文中理解它为远程对象访问更贴切些,简而言之就是一个进程能访问另一个进程中的对象,调用该对象的方法,就好像对象在自己的进程中一样,这种访问是同步的访问,当然Binder也能实现异步的通信。Binder基于C/S架构:Binder分为Java和C++两套实现,分别用于Java应用和Native

2016-03-15 15:00:40 1595

转载 Android深入浅出之Binder机制

一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l         ServiceManager,这是Android OS的整个服务的管理程序l

2016-03-15 11:37:56 205

转载 android recovery模式及ROM制作

转载时请注明出处和作者文章出处:http://www.cnblogs.com/xl19862005作者:Xandy1       总述为了方便客户日后的固件升级,本周研究了一下android的recovery模式。网上有不少这类的资料,但都比较繁杂,没有一个系统的介绍与认识,在这里将网上所找到的和自己通过查阅代码所掌握的东西整理出来,给大家一个参考!2   

2016-03-11 08:51:49 337

转载 一、update_binary的执行过程分析 上一篇幅中的子进程所执行的程序binary实际上就是update.zip包中的update-binary。我们在上文中也说过,Recover

目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制。一、update-script脚本语法简介:        我们顺着所生成的脚本来看其中主要涉及的语法。        1.assert(condition):如果condition参数的计算结果为False,则停止脚本执行,否则继

2016-03-10 15:34:09 1385

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(八)---升级程序update_binary的执行过程

一、update_binary的执行过程分析       上一篇幅中的子进程所执行的程序binary实际上就是update.zip包中的update-binary。我们在上文中也说过,Recovery服务在做这一部分工作的时候是先将包中update-binary拷贝到内存文件系统中的/tmp/update_binary,然后再执行的。update_binary程序的源码位于gingerbr

2016-03-10 15:32:29 434

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(七)---Recovery服务的核心install_package函数

一、       Recovery服务的核心install_package(升级update.zip特有)              和Recovery服务中的wipe_data、wipe_cache不同,install_package()是升级update.zip特有的一部分,也是最核心的部分。在这一步才真正开始对我们的update.zip包进行处理。下面就开始分析这一部分。

2016-03-10 15:26:17 587

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(六)---Recovery服务流程细节

Recovery服务毫无疑问是Recovery启动模式中最核心的部分。它完成Recovery模式所有的工作。Recovery程序对应的源码文件位于:/gingerbread0919/bootable/recovery/recovery.c。一、 Recovery的三类服务:         先看一下在这个源码文件中开始部分的一大段注释,这将对我们理解Recove

2016-03-10 15:18:53 315

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(五)---update.zip包怎样从上层进入Recovery服务

文章开头我们就提到update.zip包来源有两种,一个是OTA在线下载(一般下载到/CACHE分区),一个是手动拷贝到SD卡中。不论是哪种方式获得update.zip包,在进入Recovery模式前,都未对这个zip包做处理。只是在重启之前将zip包的路径告诉了Recovery服务(通过将--update_package=CACHE:some_filename.zip或--update_pack

2016-03-10 15:07:02 341

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(四)---Android系统Recovery模式的工作

在使用update.zip包升级时怎样从主系统(main system)重启进入Recovery模式,进入Recovery模式后怎样判断做何种操作,以及怎样获得主系统发送给Recovery服务的命令,这一系列问题的解决是通过整个软件平台的不同部分之间的密切通信配合来完成的。为此,我们必须要了解Recovery模式的工作原理,这样才能知道我们的update.zip包是怎样一步步进入Recovery中

2016-03-09 18:16:55 281

空空如也

空空如也

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

TA关注的人

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