Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Android系统移植之按键驱动篇

Android系统移植之按键驱动篇

平台:MX53_QSB开发板MX53_QSB开发板上一起有四个按键,分别为RESET,POWER,USER1,USER2。其中RESET为纯硬件复位按键,无须软件控制。POWER,USER1,USER2三个按键均需要程序控制。默认BSP包中将三个按钮全设置为上升和下降沿触发,当系统起来后,按下POWER键,进入睡眠状态,这时再按下POWER键唤醒时,系统系统被唤醒,但是一旦手松下,又触发了POWER键的中断,系统又睡下去了。在进入睡眠状态后,只有按USER...
Linux设备驱动学习-模块编程

Linux设备驱动学习-模块编程

1.linux设备驱动程序的作用简单的说,驱动程序告诉了我们可以提供了那些能力,但是没有告诉我们怎么使用这些能力。按照《linux设备驱动程序》上的说法,前一部分叫做”机制”,后面的叫作”策略”。linux设备驱动程序完成来自上层软件的抽象调用,让上层不用去关心底层到底怎么实现。比如说音频设备驱动,提供了一个接口 playsound().那么上层只要去调用这个接口,就可以发音,而不必关心到底怎么让音频设备发音。2.内核模块和用户空间的应用程序的区别内核模块...
如何使Linux在交叉编译工具安装配置并立即生效

如何使Linux在交叉编译工具安装配置并立即生效

假设你已经下载过了适合你所使用Linux系统的交叉编译工具,那么下面三项工作只要你一步步的按照提示操作即可:第一、解压你下载的ARM-LINUX-GCC交叉编译工具#tar xvzf arm-linux-gcc-4.3.2.tar.gz -C /(需要注意的是,在大写字母后面有一个空格)第二、利用vi编辑器打开/etc/profile文件,并在下面的位置中添加一句话:pathmunge /opt/FriendlyARM//opt/FriendlyARM/t...
Linux之TQ2440通过nfs挂载根文件系统

Linux之TQ2440通过nfs挂载根文件系统

准备:首先在你的Linux上确定nfs挂载没问题,然后设置好你要挂载nfs的目录,我的设置如下:/opt/EmbedSky/root_nfs *(rw,sync,no_root_squash)其次,你要把TQ2440制作的根文件系统root_qtopia_2.2.0_2.6.30.4_20100601.tar.bz2解压到root_nfs目录下(如果高手的话,自己制作根目录也行)。TQ2440制作的根文件系统要修改一个地方,修改文件系统/etc/init....
Linux内核中无名管道pipe和有名管道fifo的分析

Linux内核中无名管道pipe和有名管道fifo的分析

1、管道(pipe)管道是进程间通信的主要手段之一。一个管道实际上就是个只存在于内存中的文件,对这个文件的操作要通过两个已经打开文件进行,它们分别代表管道的两端。管道是一种特殊的文件,它不属于某一种文件系统,而是一种独立的文件系统,有其自己的数据结构。根据管道的适用范围将其分为:无名管道和命名管道。● 无名管道主要用于父进程与子进程之间,或者两个兄弟进程之间。在linux系统中可以通过系统调用建立起一个单向的通信管道,且这种关系只能由父进程来建立。因此,每...
Mg701 Android中背光系统架构

Mg701 Android中背光系统架构

最主要的莫过于是了解了Android中jni编程,游荡整个Android源码,可以看到很多直接操作底层驱动接口,封装成so库,供Java调用的例子哦。这次学习,也正是出于这样的想法,没想到这个设想高手们早就实现了哦,菜鸟现在也只能算是验证了。诶,菜鸟就是菜鸟,有虫子吃,就兴奋的不得了。驱动架构略,这里只讨论jni接口的实现。一、我的设想 其实设想很简单,找到背光驱动提供给上层的API接口,人家Android还不是一样需要一层一层的抽象(HAL、Framew...
POSIX的pthread_join

POSIX的pthread_join

joinjoin是三种同步线程的方式之一。另外两种分别是互斥锁(mutex)和条件变量(condition variable)。调用pthread_join()将阻塞自己,一直到要等待加入的线程运行结束。可以用pthread_join()获取线程的返回值。一个线程对应一个pthread_join()调用,对同一个线程进行多次pthread_join()调用是逻辑错误。join or detach线程分两种:一种可以join,另一种不可以。该属性在创建线程的...
POSIX线程的栈管理

POSIX线程的栈管理

POSIX标准没有为线程的栈规定默认的大小,所以该值是根据实现而变化的;栈的最大容量也是由实现去定义。一旦超过栈的容量限制,程序会崩溃,或者数据损坏。可靠而又保证移植性的作法,是显式地设置栈的大小,不使用默认值。有些实现要求线程的栈放在内存的特殊的地方,此时要使用pthread_attr_setstackaddr()函数。#include<stdlib.h> #include<pthread.h> //通过调节三个参数,了解当前计算...
POSIX线程的私有数据

POSIX线程的私有数据

多线程环境下,数据空间由所有线程共享。所以,一般意义上的全局变量也为所有的线程所共享。有时需要提供线程私有的全局变量:- 可以跨多个函数访问(全局);- 仅在某个线程有效(私有)。比如程序可能需要每个线程都维护一个链表,维护手段相同,链表内的数据却不同。这样的数据结构可由POSIX线程库维护,称为Thread Specific Data,简称TSD。#ifdefWIN32 #include<windows.h> #defineSLEEP(ms)...
在mini2440上移植使用FFmpeg录像

在mini2440上移植使用FFmpeg录像

最近想在板子上插个摄像头,录个像,搞了两三天,算是能用人家的ffmpeg程序在自己的板子上摄像,然后将文件.avi格式保存到PC机上了。过程有些曲折,但是也算乱撞了。推荐阅读:ARM-Linux开机自启动设置-mini2440开发板 http://www.linuxidc.com/Linux/2011-05/36109.htm(1)编译x264官网上下了个最新的x264,地址在这里。解压之后,参考【1】用了个./configure --disable-as...
<< 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 >>