自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (3)
  • 收藏
  • 关注

原创 __init 奇怪的语法

意思是内核在调用这个函数之后便将这个函数注销。/* * hello-2.c - Demonstrating the module_init() and module_exit() macros. * This is preferred over using init_module() and cleanup_module(). */#include /* Ne

2016-07-12 23:14:24 277

原创 linux 下 adb 安装apk

方法二,使用adb命令 安装apk       到data/app:adb install xxx.apk       到system/app:adb push xxx.apk system/app     卸载apk     卸载data/app下的apk:  adb shell                               cd d

2016-07-09 19:45:15 8564

原创 烧写nexus one

ubutn 16.04 安装依赖参考网址http://blog.csdn.net/fuchaosz/article/details/51487585编译完成后 烧写代码 到nexus https://source.android.com/source/devices.html(参考网址)$ fastboot flash boot out/target/product/hik

2016-07-09 17:33:37 269

转载 linux 目录结构

http://yangrong.blog.51cto.com/6945369/1288072

2016-07-08 19:12:53 179

原创 设备与模块

块设备: blkdev,可寻址,寻址以块为单位,典型的块设备是硬板。字符设备:cdev,不可寻址,应用程序直接访问设备节点与之通信。网络设备:ethernet ,通过套接字API的特殊接口来访问。模块:内核在运行时插入或者删除一些二进制镜像。一个内核模块必备的要素:1,module_init();   模块在被内核加载的时候来调用。2,module_exit();

2016-07-08 18:29:54 293

原创 文件系统

1. Unix从一开始就把所有的外部设备都当成文件。2.Linux文件系统是Ext2。3.出去linux本身的系统ext2,为了使得linux支持不同的文件系统,linux隐去了不同的文件系统的实现细节,为用户提供一个虚拟的统一的文件系统,称之为虚拟文件系统。VFS。

2016-07-07 15:42:47 254

翻译 内核数据结构

一,链表的基本结构typedef struct list_head{ struct list_head *prev; struct list_head *next;};#include #include #include /* * 该示例参见linux-kernel中内核链表list的实现 * * 文件list.h * http://lxr.

2016-07-07 12:32:54 218

原创 配置jdk

0. 使用env 发现编译android 需要的版本书java-7-openjdk-amd64/bin:fuxuan@ubuntu:/usr/lib/jvm$ envANDROID_DEV_SCRIPTS=/home/fuxuan/WORKING_DIRECTORY/development/scripts:/home/fuxuan/WORKING_DIRECTORY/prebuilts/de

2016-07-07 10:54:44 324

原创 3.硬件抽象层模块HAL

硬件抽象层:向下屏蔽硬件驱动模块的实现细节,向上提供硬件服务。硬件抽象层的编写规范:1. 以模块的形式管理各个硬件的访问接口。2. 模块用结构体 hw_module_t 来描述。3. 硬件设备用结构体hw_device_t 来描述。4. 每个模块对应一个动态链接库文件。

2016-07-06 17:31:26 330

原创 2.调试回调函数

#include typedef struct{ //定义一个结构体 int age; int num;}GpsLocation;GpsLocation GpsLocation1;//1. 定义一个函数指针gps_location_callback,这个指针在后面的应用中要指向函数//2. 定义了一个指针指向GpsLocation结构体 //3. GpsLocat

2016-07-04 23:56:06 535

转载 1. 安卓源码gps代码

一,定义一个结构体431typedef struct {432 /** set to sizeof(GpsLocation) */433 size_t size;434 /** Contains GpsLocationFlags bits. */435 uint16_t flags;436 /** Represents lat

2016-07-04 23:51:50 378

原创 2.安卓源码下载

有时候我们辛苦取到Android的源代码,想知道它的确切版本号,比如有时候我们只粗略知道拿到的是2.3的源码,但并不明确他的小版本号,这就是有时候明明都是2.3的代码可比较起来还是有差异的原因,比方说一个是2.3.1,而一个是2.3.4;确认的方法很简单,有两种:1. 编译的时候在终端中一开始就会打印出来:PLATFORM_VERSION:2.3.12. 直接去

2016-07-04 17:23:22 234

原创 0. 回掉函数

1. 函数指针:void (*) ()     【左边的*是函数指针生命的关键】    首先函数指针是一个指针。存储的是一个函数的地址。   写段代码了解下函数指针。typedef void(*Fun)(int,int); //定义函数指针类型 void min(int a,int b); void max(int a,int b); void min(int a,i

2016-07-04 16:49:00 248

原创 2.2 堆栈溢出

一,数组越界,导致缓冲区溢出。(1)文本段:该区域保存了我们上面test.c的经编译链接之后的可执行程序文本段(2)数据段:该段保存了如我们test.c中的data1和data2等全局变量(当然局部或全局静态变量也会在此保存)(3)堆:当我们调用malloc分配内存时,其分配的内存就是从该段获取的其增长方向由下向上(4)栈:下面着重讲(5)argv:这些保存的就是mai

2016-07-03 15:34:18 291

原创 2.1 Linux进程介绍

进程:       1. 进程就是处于执行器的程序。通常是调用fork系统,系统通过复制现有进程来创建新的进程。        2.每个进程都有一个task_struct数据结构,称为进程描述符和一片用作系统空间堆栈的存储空间。     3. 内核通过标识进程pid来识别进程 ,也就是pid_t 它的类型是int。     4. 通过fork()创建一个进程。

2016-07-03 14:29:51 240

原创 2.0 linux 内核位置

1. 在  /usr/src/linux 下面。

2016-07-03 10:38:53 218

原创 1.linux kernel 学习

第一天,以linux kernel development 为主线,每天记录一点点。

2016-07-02 23:32:45 245

原创 9.全局描述符表与分页机制

在保护模式下,对段的访问依然使用段地址与偏移地址。但是为每个程序有一个自己的段描述符。段描述符是在操作系统加载用户程序时,操作系统根据用户程序结构而建立的,用户无法修改GDT。8个字节为一个段描述符,在段空间中所有的段描述符都是靠在一起的,构成了段描述符表。每个描述符中指定了32位的段起始地址以及20位的段边界。在未开启分页功能之前,段址就是32位的线性物理地址。DPL,段描述符的

2015-07-08 00:11:27 502

原创 1.Win32汇编程序开发

.386 .model flat,stdcall option casemap:none;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>; Include 文件定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2015-07-07 15:00:19 306

原创 8.16位中断程序

写完中断代码,16位汇编就告一段落了。终于算完了。。。。。。。win32汇编才迷人呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!明天再写,今天休息。

2015-07-04 00:09:24 359

原创 7.加载器代码与用户代码

直接贴代码吧,懒得分析结构头码与用户程序。加载器代码: app_lba_start equ 100 phy_base equ 0x10000SECTION mbr align=16 vstart=0x7c00 mov ax, 0 mov ss, ax mov sp, ax mov ax, 0x1000;

2015-07-04 00:03:58 312

翻译 6.加载器代码分析

1.初始化堆栈 app_lba_start equ 100SECTION mbr align=16 vstart=0x7c00 mov ax, 0 mov ss, ax mov sp, axtimes 510-($-$$) db 0 db 0x55, 0xaa设置下堆栈段与堆栈指针。 2. 运行用户代码。

2015-07-02 11:46:16 390

原创 3. 用户代码的结构分析

; write by zhujiu123; nasm编译器;========================================================SECTION header vstart=0 ;定义用户程序头部段 program_length dd program_end ;双字节来存储代码长度

2015-06-29 22:11:11 551

原创 2.用户程序代码分析

; write by zhujiu123; nasm编译器;========================================================SECTION header vstart=0 ;定义用户程序头部段 program_length dd program_end ;双字节来存储代码长度 ;用户程序入口点

2015-06-29 20:35:44 251

原创 1. 用户程序结构分析(实模式)-nasm编译器

自己写操作系统的应用程序。

2015-06-28 22:52:50 630

信号完整性研究

于博士写的信号完整性研究,对于信号以及PCB技术很有帮助。

2014-10-23

DNW.exe 嵌入式应用开发

DNW.exe 嵌入式应用开发 通过usb烧写程序。

2013-07-08

空空如也

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

TA关注的人

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