
linux
文章平均质量分 70
老程android研究
这个作者很懒,什么都没留下…
展开
-
Ubuntu设置环境变量
Ubuntu下设置环境变量有四种方法,一种用于当前终端,一种用于当前用户,一种用于所有用户,一种是系统用户:一:用于当前终端:在当前终端中输入:export PATH=$PATH:不过上面的方法只适用于当前终端,一旦当前终端关闭或在另一个终端中,则无效。二:用于当前用户:在用户主目录下有一个 .bashrc 隐藏文件,可以在此文件中加入 PA转载 2013-12-13 10:50:17 · 1295 阅读 · 0 评论 -
Linux字符设备驱动初探
一、设备驱动之数据结构: 1、dev_t :设备编号,包含主设备号、次设备号。dev_t是一个32位的数,12位表示主设备号,20为表示次设备号(1)主设备号 = MAJOR(dev_t dev)(2)次设备号 = MINOR(dev_t dev)(3)设备编号 = MKDEV(int major,int minor) 2、file_operations:设备驱动向原创 2013-01-04 22:48:01 · 788 阅读 · 0 评论 -
android 内核编译--官网指南翻译
Building Kernels编译内核If you are only interested in the kernel, you may use this guide to download and build the appropriate kernel.如果你只对内核感兴趣,你可以用这个指南下载和编译适合的内核The following instructions assu翻译 2013-01-05 00:03:43 · 891 阅读 · 0 评论 -
ubuntu环境:下载、编译模拟器平台android内核源码
如果不愿使用android系统源代码预编译好的内核,就需要自己编译内核。一、通过git工具下载最新版的android linux kernel源代码 1、在android源代码根目录中,新建kernel目录 ~/Android$ cd mkdir kernel ~/Android$ cd kernel 2、下载适合模拟器平台的内核源代码 ~/原创 2013-01-05 10:23:09 · 1478 阅读 · 0 评论 -
为Android内核添加新驱动,并添加到menuconfig菜单【实践简记】
为Android内核添加新驱动,并提供menuconfig选项为Android的Linux内核2.6.25添加驱动。1. 在drives目录下添加hello目录,内含hello.c Kconfig Makefilehello.c内容:#include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_i转载 2013-01-06 15:47:22 · 591 阅读 · 0 评论 -
android内核字符驱动设备实战之----------设备驱动程序篇
android内核字符驱动设备实战之设备驱动程序篇一. 进入到kernel/goldfish/drivers目录,新建testdev目录: ~/Android$ cd kernel/goldfish/drivers ~/Android/kernel/goldfish/drivers$ mkdir testdev二. 在hello目录中增加testdev.h原创 2013-01-07 09:57:24 · 947 阅读 · 0 评论 -
android内核字符驱动设备实战之----------内置C语言测试程序篇
一、测试之前,确保上篇的驱动程序已经安装成功,且在模拟器的/dev目录下,有此设备的设备文件,即有/dev/testdev设备文件二、进入到Android源代码工程的external目录,创建test目录: ~/Android$ cd external ~/Android/external$ mkdir test三. 在hello目录中新建test.c文件:原创 2013-01-07 10:40:47 · 762 阅读 · 0 评论 -
android内核字符驱动设备实战之----------硬件抽象层模块编程篇
一、 预备知识及说明:1、硬件抽象层模块向上层提供接口,以便用户空间的程序通过该模块提供的接口访问内核空间的驱动程序。2、硬件抽象层模块是动态链接库文件(.so),它不属于内核层的,它是属于android系统Linux内核层的上层,因此它的源文件不能放在goldfish里。3、硬件抽象层模块的头文件源代码放在 /android/hardware/libhardware/include/原创 2013-01-08 10:18:33 · 919 阅读 · 0 评论 -
android内核字符驱动设备实战之----------运行时库层jni动态库编程(应该是应用框架层)
一、预备知识及说明: 1、硬件抽象层的设备驱动动态库模块是标准C语言编写的,所以应用层的java程序不能直接调用,所以需要添加符合java规范的jni C++程序动态库。 2、android系统的java程序要调用jni中的接口方法,必须有一个类要同其对应 3、jni动态库模块在应用框架层添加,对jni服务提供统一的jni动态库服务 4、应用框架层jni服务源代码放原创 2013-01-09 17:07:44 · 993 阅读 · 0 评论 -
android内核字符驱动设备实战之----------应用框架层aidl服务编程篇
总结:AIDL服务建立过程:1、定义AIDL接口。2、根据接口,通过编译器内部规则,自动编译生成内部静态抽象类ITestService.Stub,这个类继承了Binder类,并实现ITestService接口。3、创建一个继承这个ITestService.Stub类的具体类TestService4、通过系统服务(SystemServer)的服务管理器(ServiceManage原创 2013-01-10 18:40:51 · 965 阅读 · 0 评论 -
android内核字符驱动设备实战之----------应用层测试程序篇
一、通过eclipse开发工具开发具有用户界面的测试程序。工程名称TestDev主程序源代码MainActivity.java如下:package com.example.testdev;import android.os.Bundle;import android.os.RemoteException;import android.app.Activity;impor原创 2013-01-14 12:30:14 · 551 阅读 · 0 评论 -
ubantu常用命令
1、以root权限访问图形界面:nautilus2、停止终端正在运行的命令:ctrl+c3、查看终端命令历史:history4、文件编码转换:iconv -f gbk -t utf8 README.txt > readme.txt原创 2013-01-14 16:46:49 · 473 阅读 · 0 评论 -
android内核字符驱动设备实战之----------总结篇
一、我们编写的内核驱动模块testdev.o,通过内核编译后,被编译打包进kernel/goldfish/arch/arm/boot/zImage中。二、android系统编译输出目录out/target/product/generic说明内含三个主要目录:root:打包成 ramdisk.img镜像文件,安装到实际系统后,是系统的根目录rootdata:打包成userdata.i原创 2013-01-15 11:05:06 · 828 阅读 · 0 评论 -
Linux kernel 日志系统printk相关知识
一、printk提供的8种日志级别#define KERN_EMERG "" //system is unusable --紧急事件,系统崩溃之前的提示 #define KERN_ALERT "" //action must be taken immediately 报警:立刻采取动作的情况#define KERN_CRIT "" // crit原创 2013-01-24 10:01:36 · 925 阅读 · 0 评论 -
android模拟器运行镜像文件
模拟器运行需要四个文件:1、Linux kernel镜像文件 :默认是/prebuilt/android-arm/kernel目录下的kernel-qemu文件,这是android系统预编译好的,当然,我们也可以自己编译内核,生成linux内核镜像文件 zimage.这个文件所在目录:/kernel/goldfish/arch/arm/boot/zImage2、android镜像文件:原创 2013-01-04 09:52:51 · 2573 阅读 · 0 评论