- 博客(34)
- 资源 (32)
- 收藏
- 关注
原创 android驱动学习
android2.3 NV21 视频格式android 2.3.4 T34H HDMI 移植android2.2 、 android2.3 sd卡挂载androd2.3 音乐、录音、拍照时出问题android2.3进入安全模式s5pc110/s5pv210 bma150 重力感应android音频系统android keyguard锁屏程序不
2013-07-31 17:43:44 1125
原创 linux设备驱动归纳总结--S3C2440
linux设备驱动归纳总结(一):内核的相关基础概念linux设备驱动归纳总结(二):模块的相关基础概念linux设备驱动归纳总结(三):1字符型设备之设备申请linux设备驱动归纳总结(三):2open.close.read.writelinux设备驱动归纳总结(三):3面向对象思想和lseeklinux设备驱动归纳总结(三):4.ioctl的实现
2013-07-31 16:06:44 1228
原创 android 驱动
android2.3 NV21 视频格式android 2.3.4 T34H HDMI 移植android2.2 、 android2.3 sd卡挂载androd2.3 音乐、录音、拍照时出问题android2.3进入安全模式s5pc110/s5pv210 bma150 重力感应error: more than one device and
2013-07-31 17:39:33 882
原创 Linux程序设计入门
Linux下进程的创建进程的概念什么是程序,什么是进程呢?通俗的讲程序是一个包含可以执行代码的文件,是一个静态的文件.而进程是一个开始执行但是还没有结束的程序的实例.就是可执行文件的具体实现.一个程序可能有许多进程,而每一个进程又可以有许多子进程.依次循环下去,而产生子孙进程.当程序被系统调用到内存以后,系统会给程序分配一定的资源(内存,设备等等)然后进行一系列的复杂操作,使程
2013-07-31 11:41:39 1462
转载 linux下的C语言编程(总结篇)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在Linux下面关于C语言的内容其实挺多的。不同的人关注的地方也不一样。关注系统设计的人可能更关注整个linux系统的结构;设计驱动的人可能更关注linux驱动的配置和实现;而我在这里所关注的只是linux应用层方面的内容,属于最基础的内容,当然也是最重要的内容。实际上对应于
2013-07-31 10:35:09 747
转载 如何学习linux设备驱动
Alessandro的《linux设备驱动程序》,编写驱动时,发现并不能够成功的在你的linux平台上编译通过、或不能正常执行。你的朋友会告诉你,你用的内核和书里的不一致。那该怎么办呢? 我想从两个方面去解释这个问题,一方面是如何写好linux设备驱动,另一方面是如何应对不断升级的内核。 如何写好Linux设备驱动 Linux设备驱动是linux内核的一部分,是用来封装硬件细节,
2013-07-30 14:57:36 764
原创 linux设备驱动开发详解--第八章 Linux 设备驱动中的阻塞与非阻塞 I/O
本文档参考着linux设备驱动开发详解一起看8.1 阻塞与非阻塞 I/O阻塞操作是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操作;被挂起的进程进入休眠状态,被从调度器的运行队列移走,直到等待的条件被满足。非阻塞操作的进程在不能进行设备操作时并不挂起,它或者放弃,或者不停地查询,直至可以进行操作为止。 阻塞从字面上听起
2013-07-25 18:05:06 746
转载 platform_device与platform_driver
platform_device与platform_driver做Linux方面也有三个多月了,对代码中的有些结构一直不是很明白,比如platform_device与platform_driver一直分不清关系。在网上搜了下,做个总结。两者的工作顺序是先定义platform_device -> 注册 platform_device->,再定义 platform_driver-> 注册 p
2013-07-25 16:24:27 640
原创 mini2440--linux2.6.22学习记录
本地环境:linux mint13学习系统:linux2.6.22下载地址 linux-2.6.22.tar.bz2 08-Jul-2007 23:48 43M编译工具:arm-linux-gcc-4.4.3硬件环境:mini2440--S3C2440http://blog.csdn.net/hpwzd/article/details/7365781
2013-07-22 13:40:48 878
转载 Linux2.6所有内核下载地址
http://www.kernel.org/pub/linux/kernel/v2.6/Index of /pub/linux/kernel/v2.6Name Last modified Size Parent Directory - incr/
2013-07-22 11:02:23 1268
转载 LINUX内核经典面试题
1) Linux中主要有哪几种内核锁?2) Linux中的用户模式和内核模式是什么含意?3) 怎样申请大块内核内存?4) 用户进程间通信主要哪几种方式?5) 通过伙伴系统申请内核内存的函数有哪些?6) 通过slab分配器申请内核内存的函数有?7) Linux的内核空间和用户空间是如何划分的(以32位系统为例)?8) vmalloc()申请的内存有什么特点?
2013-07-18 15:37:32 780
转载 file_operations中各项解析
file_operations中各项解析linux设备驱动中file_operations结构体分析 struct module *owner第一个 file_operations 成员根本不是一个操作; 它是一个指向拥有这个结构的模块的指针. 这个成员用来在它的操作还在被使用时阻止模块被卸载. 几乎所有时间中, 它被简单初始化为 THIS_MODULE, 一个在 中定义的宏
2013-07-15 19:39:10 742
原创 linux内核学习---copy_to_user和copy_from_user
在内核的学习中会遇到很多挺有意思的函数,而且能沿着一个函数扯出来很多个相关的函数。copy_to_user和copy_from_user就是在进行驱动相关程序设计的时候,要经常遇到的两个函数。由于内核空间与用户空间的内存不能直接互访,因此借助函数copy_to_user()完成用户空间到内核空间的复制,函数copy_from_user()完成内核空间到用户空间的复制。下面我们来仔细的理一下这两个函
2013-07-15 11:23:28 797
原创 linux内核学习---fasync简介
fasync简介异步通知fasync应用于系统调用signal和sigaction函数,简单的说,signal函数就是让一个信号与与一个函数对应,每当接收到这个信号就会调用相应的函数。[1]那么什么是异步通知?异步通知类似于中断的机制,当设备可写时,设备驱动函数发送一个信号给内核,告知内核有数据可读,在条件不满足之前,并不会造成阻塞。而不像之前学的阻塞型IO和poll,它们是调用函数进去检
2013-07-15 11:13:50 1163
转载 kthread_create 简单使用
kthread_create:创建线程。struct task_struct *kthread_create(int (*threadfn)(void *data),void *data,const char *namefmt, ...);线程创建后,不会马上运行,而是需要将kthread_create() 返回的task_struct指针传给wake_up_process(),然后通
2013-07-14 20:27:50 8946
转载 内核数据结构之队列----kfifo
http://blog.csdn.net/fuyajun01/article/details/7413579点击打开链接在操作系统内核中,一个常见的编程模式就是生产者和消费者。实现这种模式的最容易的方式就是队列。生产者将数据插入队列,消费者将数据移出队列。消费者以数据进队的顺序消费数据。内核中通用队列的实现称为kfifo,其实现文件位于kernel/kfifo.c中。本部分讨论的API
2013-07-14 20:25:55 1212
转载 备忘:模块间通信
http://hi.baidu.com/runifarm/item/23e9904e90e388a260d7b977点击打开链接模块参数:module_param(),其中类型可以为byte,short,ushort,int,uint,long,ulong,bool,charp(没有浮点型)例子:static long a = 1;static int b = 1;mo
2013-07-12 18:00:02 872
原创 Android编译系统详解
Android编译系统详解(一):http://blog.csdn.net/mr_raptor/article/details/7539978 Android编译系统详解(二):http://blog.csdn.net/mr_raptor/article/details/7540066 Android编译系统详解(三):http://blog.csdn.net/mr_rapt
2013-07-12 09:45:42 656
转载 LINUX0.11内核阅读笔记
我是通过阅读赵炯老师编的厚厚的linux内核完全剖析看完LINUX0.11的代码,不得不发自内心的说Linus真的是个天才。虽然我觉得很多OS设计的思想他是从UNIX学来的,但是他自己很周全很漂亮很巧妙地实现了如此庞大一个系统的绝大多数代码。这里面有太多环节需要注意,很难得。。。读完之后觉得很有收获,虽然版本很低,但是已经对OS有一个很具体的认识了,比理论上的要来得深刻、真实。下面是我自己学习
2013-07-09 15:36:05 1042 1
转载 调整内核printk打印级别--减少启动时的打印信息
http://blog.chinaunix.net/uid-24227137-id-3408713.html有时调试内核模块,打印信息太多了,可以通过修改/proc/sys/kernel/printk文件内容来控制。默认设置是6 4 1 7 # cat /proc/sys/kernel/printk7 4 1 7该文件有四个数字值,
2013-07-09 15:09:48 838
转载 Wake Lock 经过android四层的过程
http://www.cnblogs.com/armlinux/archive/2011/07/15/2396815.html点击打开链接Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠
2013-07-05 09:55:06 753
转载 Linux Kernel and Android 休眠与唤醒(中文版) (转)
简介休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状 态来延长电池的续航时间.这篇文章就详细介绍一下Linux中休眠/唤醒是如何工作 的, 还有Android中如何把这部分和Linux的机制联系起来的.国际化English Version: link中文版: link作者: zhangjiejing Dat
2013-07-04 19:20:32 715
转载 使用printk调试kernel
http://hi.baidu.com/lei005/item/bf95c1161aaa4c0d8fbde41bprintk(KERN_ERR "\n\nfile: %s \t line = %d\t function: %s\n", __FILE__, __LINE__, __func__);printk("KERNEL:File: %s\t line = %d\t function
2013-07-04 14:55:07 1109
转载 Android休眠唤醒驱动流程分析(四)
关于wake_lock在上文中,已经介绍了wakelock机制,下面从代码的角度进行介绍。wakelock有2种类型,常用为WAKE_LOCK_SUSPEND,作用是防止系统进入睡眠。WAKE_LOCK_IDLE这种锁不会影响到系统进入休眠,但是如果这种锁被持有,那么系统将无法进入idle空闲模式。enum {WAKE_LOCK_SUSPEND, WAKE_LO
2013-07-04 14:41:40 854
转载 Android休眠唤醒驱动流程分析(三)
接上一节: static int suspend_enter(suspend_state_t state){int error = 0; device_pm_lock();#ifdef CONFIG_CPU_FREQcpufreq_get_cpufreq_name(0);strcpy(governor_name, cpufre
2013-07-04 14:40:54 955
转载 Android休眠唤醒驱动流程分析(二)
在suspend_freeze_processes()函数中调用了freeze_processes()函数,而freeze_processes()函数中又调用了try_to_freeze_tasks()来完成冻结任务。在冻结过程中,会判断当前进程是否有wake_lock,若有,则冻结失败,函数会放弃冻结。static int try_to_freeze_tasks(bool sig_onl
2013-07-04 14:40:31 1053
转载 Android休眠唤醒驱动流程分析(一)
http://blog.sina.com.cn/s/blog_a6559d920101auj8.html****************************************************作者:Sean日期:2012-11-29修改历史:****************************************************标准l
2013-07-04 14:40:02 1011
转载 Android休眠唤醒机制简介(二)
******************************************************************作者:sean日期:2012-11-29修改历史:******************************************************************接上一节,结合code来分析一下:http://blog.si
2013-07-04 14:39:11 858
转载 Android休眠唤醒机制简介(一)
*************************************************************************作者:sean日期:2012-11-29修改历史:***************************************************************************1、背景介绍: 睡眠/
2013-07-04 14:38:02 882
转载 Linux下如何使用USB转串口设备
usb转串口使用总结:首先看通用教程: 安装:sudoapt-getinstall minicom配置:1. 在终端中输入minicom以启动minicom;2.先按下Ctrl+ a, 放开,再按o,出现配置菜单.3.选择 Serialport setup, 此时所示图标在“Changewhich setting”中,键入“A”,此时光标移
2013-07-03 19:18:42 1994
原创 git使用笔记
1、添加文件git add .git commit -am "说明"git branch //查看分支git push //提交到服务器
2013-07-03 16:47:49 736
转载 source insight快捷键及使用技巧
source insight快捷键及使用技巧 退出程序 : Alt+F4重画屏幕 : Ctrl+Alt+Space完成语法 : Ctrl+E复制一行
2013-07-02 10:25:00 903 1
source insight 使用了5年的配置
2018-11-06
MTK平台手机刷机工具和驱动已测试可用win764
2016-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人