自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (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 290

原创 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 8955

原创 烧写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 280

转载 linux 目录结构

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

2016-07-08 19:12:53 197

原创 设备与模块

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

2016-07-08 18:29:54 309

原创 文件系统

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

2016-07-07 15:42:47 261

翻译 内核数据结构

一,链表的基本结构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 232

原创 配置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 338

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

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

2016-07-06 17:31:26 359

原创 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 552

转载 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 409

原创 2.安卓源码下载

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

2016-07-04 17:23:22 246

原创 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 262

原创 2.2 堆栈溢出

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

2016-07-03 15:34:18 308

原创 2.1 Linux进程介绍

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

2016-07-03 14:29:51 269

原创 2.0 linux 内核位置

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

2016-07-03 10:38:53 231

原创 1.linux kernel 学习

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

2016-07-02 23:32:45 258

DNW.exe 嵌入式应用开发

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

2013-07-08

空空如也

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

TA关注的人

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