自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入精灵

潜心研究嵌入式技术

  • 博客(20)
  • 资源 (11)
  • 收藏
  • 关注

转载 device_driver结构体

<br />一、定义:<br />struct device_driver结构体被定义在/include/linux/device.h,原型是:124struct device_driver {125 const char * name;126 struct bus_type * bus;127128 struct kobjectkobj;129 struct klistklist_devices;130

2010-09-20 10:37:00 3887

转载 Linux 下如何 做patch 和打patch

<br />1. 制作patch<br />diff -crN Component_org Component > 01_Component_xxx.patch<br />2. 打patch<br />patch -pl < ./01_Component_xxx.patch<br />3. 使用quilt 管理patch<br /># tar xvjf prj-0.1-patches.tar.bz2 Component/<br /># quilt push -a  <== 打series所有补丁<br />

2010-09-16 19:44:00 2358

转载 Android 加速度传感器 (G-Sensor) 收

<br />Android 加速度传感器的类型是  Sensor.TYPE_ACCELEROMETER <br />  <br />通过 android.hardware.SensorEvent 返回加速度传感器值。 <br />  <br />加速度传感器返回值的单位是加速度的单位 m/s^2(米每二次方秒),有三个方向的值分别是 <br />  <br />values[0]: x-axis 方向加速度  <br />values[1]: y-axis 方向加速度  <br />values[2]: z

2010-09-16 19:26:00 5329

转载 浅析dev目录下设备文件mknod节点gid,uid和mode的如何方便设置

<br />浅析dev目录下设备文件mknod节点gid,uid和mode的如何方便设置<br /><br />init<br />=>handle_device_fd 收到uevent信息<br />=>handle_device_event<br />=><br />staticvoid handle_device_event(struct uevent *uevent)<br />{<br />    ...<br />    /* are we block or char? where should

2010-09-16 10:35:00 2064

转载 Android init初始化程序分析

<br />/system/core/init初始化程序<br /> <br />1.执行sigaction函数,对SIGCHILD信号进行处理。实际上暂时屏蔽<br />2.设置umask来清空后面创建文件的mask<br />3. 创建文件系统mount point & mount 内存文件系统<br />4. open_devnull_stdio 0 1 2 is the fd. They are all the file descriptor of /dev/__null__<br />5.open

2010-09-15 12:38:00 1902

转载 Android之 BatteryService

电池的信息,电压,温度,充电状态等等,都是由BatteryService来提供的。BatteryService是跑在system_process当中,在系统初始化的时候启动,如下     在BatteryService.java中:          Log.i(TAG, "Starting Battery Service.");          BatteryService battery = new BatteryService(context);          ServiceManager.ad

2010-09-15 11:29:00 2461

转载 Linux驱动程序开发 - 设备驱动模型初探

<br />从这一章开始,我们将详细的介绍Linux的设备驱动模型。Linux设备驱动模型是一个相当复杂的系统,对于初学者来说真有些无从入手。而且更加困难的是,随着新的Linux Kernel的release,Linux的设备驱动模型总会有或大或小的变化,我们将尽量展现 Linux Kernel 的这种变化。<br /><br />早期的Linux内核(版本2.4之前)并没有实现一个统一的设备模型,设备节点的创建一般是mknod命令手动创建或利用devfs文件系统创建。早期的Linux发行版一般会采用手动创

2010-09-15 11:01:00 1597 1

转载 嵌入式C语言中的volatile关键字

<br />/*********以下是转载《16道嵌入式C语言面试题中的一题》***********/<br />关键字volatile有什么含意 并给出三个不同的例子。 <br />一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去 <br />假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读 <br />取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: <br />1). 并行设备的硬件寄存器(如:状

2010-09-14 10:26:00 1073

转载 linux内核register_chrdev_region()系列函数

<br />    内核提供了三个函数来注册一组字符设备编号,这三个函数分别是 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()。其中,register_chrdev_region()是为提前知道<br />设备的主次设备号的设备分配设备编号。alloc_chrdev_region() 是动态分配主次设备号。register_chrdev()。是老版本的设备号注册方式,他只分配主设备号。从设备号在mknod的时候指定。<br

2010-09-12 17:46:00 1032 1

转载 Android 的用户层 uevent处理机制

<br />摘录几篇android研发日志<br />1 http://blog.csdn.net/linweig/archive/2010/06/01/5640697.aspx<br />Firmware 加载原理分析----分析的比较透彻,我在wifimodule调试时遇到的问题几乎跟这个一样,不过我采取了另外一个方法,直接用kernel的read和write了,没有使用request_firmware,有空小结下。<br />前言       <br />              前段时间移植 wi

2010-09-10 11:49:00 3146

转载 Linux 用户态与内核态的交互——netlink 篇

<br />[size=4]Linux 用户态与内核态的交互 <br />——netlink 篇[/size] <br /><br />作者:Kendo <br />2006-9-3 <br /><br />这是一篇学习笔记,主要是对《Linux 系统内核空间与用户空间通信的实现与分析》中的源码imp2的分析。其中的源码,可以到以下URL下载: <br />http://www-128.ibm.com/developerworks/cn/linux/l-netlink/imp2.tar.gz <br /><

2010-09-10 10:30:00 903

转载 Linux 2.6 字符设备驱动程序

<br />○、说明 <br />笔记适用于Linux的2.6.10以后的内核。<br />笔记以Linux Device Driver3提供的scull程序(scull目录中的main.c和scull.h)为记录主线,并以该驱动程序中的各种系统调用和函数调用流程为记录顺序。比如,module_init( )和module_exit( )为相对应的一对系统调用,一般书籍中都会放在一起讨论,但是本笔记却不会这样,而是在需要调用的时候才会涉及,因此module_init( )会放在笔记开始时,也就是刚加载mod

2010-09-10 09:36:00 719

转载 tolower

<br />原型:extern int tolower(int c);<br />  <br />  用法:#include <ctype.h><br />  <br />  功能:将字符c转换为小写英文字母<br />  <br />  说明:如果c为大写英文字母,则返回对应的小写字母;否则返回原来的值。<br />  <br />  举例:<br /><br />      // tolower.c<br />      <br />      #include <syslib.h><br />    

2010-09-09 16:44:00 626

转载 isspace

<br />原型:extern int isspace(int c);<br />  <br />  用法:#include <ctype.h><br />  <br />  功能:判断字符c是否为空白符<br />  <br />  说明:当c为空白符时,返回非零值,否则返回零。<br />     空白符指空格、水平制表、垂直制表、换页、回车和换行符。<br />  <br />  举例:<br /><br />      // isspace.c<br />      <br />      #inc

2010-09-09 16:42:00 1046

转载 strstr

原型:extern char *strstr(char *haystack, char *needle); 用法:#include 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。 说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。 举例:

2010-09-09 16:41:00 830

转载 linux内核基本数据类型总结

<br />对linux内核的数据类型做一下总结。<br />下面部分内容参考了:http://book.csdn.net/bookfiles/12/100126.shtml<br />当Linux内核在体系结构差异较大的平台之间移植时,会产生与数据类型相关的问题。在编译内核时使用 -Wall -Wstrict-prototypes选项,可以避免很多错误的发生。<br />内核使用的基本数据类型主要有:<br />ØØ int          标准C语言整数类型;<br />ØØ u32         

2010-09-08 16:30:00 889

转载 linux内核基本数据类型总结

<br />对linux内核的数据类型做一下总结。<br />下面部分内容参考了:http://book.csdn.net/bookfiles/12/100126.shtml<br />当Linux内核在体系结构差异较大的平台之间移植时,会产生与数据类型相关的问题。在编译内核时使用 -Wall -Wstrict-prototypes选项,可以避免很多错误的发生。<br />内核使用的基本数据类型主要有:<br />ØØ int          标准C语言整数类型;<br />ØØ u32         

2010-09-08 16:25:00 749

转载 android JNI 学习笔记

Android JNI 使用的数据结构JNINativeMethod详解Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:typedef struct {const char* name;const char* signature;void* fnPtr;} JNINativeMethod;第一个变量na

2010-09-01 17:28:00 4647

转载 malloc,calloc,realloc等内存分配函数区别

<br />三个函数的声明分别是:<br />void* realloc(void* ptr, unsigned newsize);<br />void* malloc(unsigned size);<br />void* calloc(size_t nelem, size_t elsize);<br />都在stdlib.h函数库内<br />它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL<br />malloc用于申请一段新的地址,参数size为需要内存空间的长度,如:<br />cha

2010-09-01 10:58:00 748

原创 android系统关机流程

    在android层通过系统调用reboot(arg)调用内核中的sys_reboot,具体流程如下:    reboot——>sys_reboot()——>kernel_power_off()——>machine_power_off()——>pm_power_off();pm_power_off 是一个函数指针,他指向和具体硬件平台相关的关机操作函数。    和sys_reboot相关的系统调用在source/kernel/sys.c中实现,然后在source/asm-arm/unistd.h中添加

2010-09-01 10:44:00 4153

android开发教程&笔记

详细的android开发入门教程和笔记,是新手入门开发android的好资料

2010-04-20

android移植教程

详细的android移植教程,让你快速搭建嵌入式android开发系统

2010-04-17

android移植到2440

详细讲解android移植到S3C2440的方法和步骤,让你快速熟悉android系统的开发和移植

2010-04-11

建立Android开发环境

让你快速搭建android开发环境 引导你进入android开发的大门

2010-04-11

Android在6410上的移植

详细讲解android系统在S3C6410上的移植过程,帮你快速学习android开发

2010-04-10

Android应用框架原理和程序设计36技

android开发的优秀教材,详细讲解Android设计的技巧和方法

2010-04-10

嵌入式linux开发标准教程

华清远见经典linux开发教程 详细讲解嵌入式linux开发全过程

2010-02-28

linux2.6在s3c2410上全线移植

详细论述linux2.6.14内核在s3c2410上的移植过程,包括uboot,内核和根文件系统的详细移植步骤,是学习linux内核移植的好教材

2010-01-22

空空如也

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

TA关注的人

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