自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 收藏
  • 关注

转载 linux中fork()函数详解(原创!!实例讲解)

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来

2014-09-30 15:38:45 712

转载 s3c2440串口驱动笔记【已修改】

终端设备驱动:终端设备分类:串行端口终端(/dev/ttySn), 伪端口(/dev/pty), 控制台终端(/dev/ttyn, /dev/console) 。终端设备驱动结构:包含tty核心,tty线路规程(以特殊的方式格式化从一个用户或硬件收到到数据,ppp或bluetooth),tty驱动。tty设备发送数据流程:tty核心从用户获取数据---->tty线程规程驱动----->

2012-08-07 16:34:31 1120

转载 嵌入式数据库sqlite在2440上的移植

一、移植环境主 机:Fedora 9编译器:arm-linux-gcc-3.4.1开发板:Mini2440数据库:sqlite-3.6.16.tar.gz二、移植步骤解压数据库源文件并进入解压后的目录,如下:tar -zxvf sqlite-3.6.16.tar.gzcd sqlite-3.6.16

2012-07-30 15:22:34 953

转载 sqlite3在mini2440上的移植

一、开发环境:Mini2440,linux_2.6.32.2内核,ubuntu9.10,arm-linux-gcc-4.3.2在http://www.sqlite.org/上下载sqlite源代码sqlite-3.6.22.tar.gz二、移植步骤1.解压数据库源文件并进入解压后的目录,如下:tar -zxvf sqlite-3.6.22.tar.gzcd sqlite

2012-07-30 12:32:42 630

转载 Linux 的多线程编程的高效开发经验

背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉 Linux 平台的多线程编程。

2012-02-21 18:58:18 436

转载 信号量与自旋锁 |Linux,信号量,自旋锁,睡眠锁,spinlock,semaphore 【转帖】

为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。Linux 使用的同步机制可以说从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux从单处理器到对称多处理器的过度;伴随着从非抢占内核到抢占内核的过度。锁机制越来越有

2012-02-21 18:55:15 553

转载 spinlock与linux内核调度的关系

关于自旋锁用法介绍的文章,已经有很多,但有些细节的地方点的还不够透。我这里就把我个人认为大家容易有疑问的地方拿出来讨论一下。一、自旋锁(spinlock)简介自旋锁在同一时刻只能被最多一个内核任务持有,所以一个时刻只有一个线程允许存在于临界区中。这点可以应用在多处理机器、或运行在单处理器上的抢占式内核中需要的锁定服务。二、信号量简介       这里也介绍下信号量的概念,因为它的用

2012-02-21 18:51:14 430

转载 Linux设备驱动编程之 内存与I/O操作

对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。  进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间,如下图:

2012-02-21 18:46:30 470

转载 container_of()宏

在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr:        the pointer to the

2012-02-21 18:41:36 373

转载 linux内核input子系统解析

Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。    因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。一、input输入子系统框架    下图是

2011-12-31 16:23:02 421

转载 Linux下spi驱动开发

一、概述         基于子系统去开发驱动程序已经是linux内核中普遍的做法了。前面写过基于I2C子系统的驱动开发。本文介绍另外一种常用总线SPI的开发方法。SPI子系统的开发和I2C有很多的相似性,大家可以对比学习。本主题分为两个部分叙述,第一部分介绍基于SPI子系统开发的理论框架;第二部分以华清远见教学平台FS_S5PC100上的M25P10芯片为例(内核版本2.6.29),编写一个

2011-12-31 16:09:55 823

转载 Linux下patch的制作和应用

http://blog.chinaunix.net/u/21948/index.html因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。学习资料的收集比较简单,方法一类似于这种初级问题网上资料非常丰富,google或者baidu搜索一下,然后选择有价值的资料,方法二是阅读man在线文档。完成收集工作,当然最终要在自己的Linux

2011-12-31 15:36:54 364

转载 怎样写 Linux LCD 驱动程序

怎样写 Linux LCD 驱动程序作者: 刘鹏日期: 2008-12-27本文分析了frame buffer 设备驱动的主要数据结构,在此基础上介绍了LCD驱动程序的开发。基本原理通过 framebuffer ,应用程序用 mmap 把显存映射到应用程序虚拟地址空间,将要显示的数据写入这个内存空间就可以在屏幕上显示出来;驱动程序分配

2011-12-31 15:27:29 530

转载 SPI总线协议及SPI时序图详解

SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。      SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序

2011-12-30 22:26:48 1673

转载 光电式绝对编码器

绝对编码器光电式绝对编码器的码盘如图12.3.1所示,它是在一块圆形玻璃上采用腐蚀工艺刻有透光和不透光的码形,其中黑的区域为不透光区,用“0”表示;白的区域为透光区,用“1”表示,如此,在任意角度都有对应的二进制编码。码盘分成四个码道,每一条码道对应一个光电器件,并沿码盘的径向排列。当码盘处于不同角度时,各光电器件根据受光与否输出相应的电平信号,由此产生绝对位置的二进制编码。  不难看

2011-12-22 21:28:42 4575

转载 MOS管的开关特性

一、静态特性    MOS管作为开关元件,同样是工作在截止或导通两种状态。由于MOS管是电压控制元件,所以主要由栅源电压uGS决定其工作状态。    图3.8(a)为由NMOS增强型管构成的开关电路。                                       图3.8 NMOS管构成的开关电路及其等效电路     工作特性如下:    ※

2011-12-14 15:55:41 2109

转载 场效应管电机驱动-MOS管H桥原理

所谓的H 桥电路就是控制电机正反转的。下图就是一种简单的H 桥电路,它由2 个P型场效应管Q1、Q2 与2 个N 型场效应管Q3、Q3 组成,所以它叫P-NMOS 管H 桥。    桥臂上的4 个场效应管相当于四个开关,P 型管在栅极为低电平时导通,高电平时关闭;N 型管在栅极为高电平时导通,低电平时关闭。场效应管是电压控制型元件,栅极通过的电流几乎为“零”。    正因为这个特点,在连接

2011-12-14 15:53:35 8149 1

转载 MOSFET驱动电路应用实例

HOMSEMI POWER MOSFET驱动电路应用实例1.主要参数及特性MOSFET是由电压控制型器件,输入栅极电压VG控制着漏极电流ID,即一定条件下,漏极电流ID取决于栅极电压VG。极限参数有:最大漏源电压VDS、最大栅源电压VGS、最大漏极电流ID,最大功耗PD。在使用中不能超过极限值,否则会损坏器件。主要电特性有:开启电压VGS(Th);栅极电压为零时的IDSS电流;在一定的

2011-12-14 15:51:44 2774

转载 MOSFET与MOSFET驱动电路原理及应用

下面是我对MOSFET及MOSFET驱动电路基础的一点总结,其中参考了一些资料,非全部原创。包括MOS管的介绍,特性,驱动以及应用电路。  在使用MOS管设计开关电源或者马达驱动电路的时候,大部分人都会考虑MOS的导通电阻,最大电压等,最大电流等,也有很多人仅仅考虑这些因素。这样的电路也许是可以工作的,但并不是优秀的,作为正式的产品设计也是不允许的。1、MOS管种类和结构

2011-12-14 15:49:34 1506

转载 上拉电阻的作用及选择

一、定义:上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!下拉同理! 上拉是对器件注入电流,下拉是输出电流 弱强只是上拉电阻的阻值不同,没有什么严格区分 对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。二、应用范围1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低

2011-12-14 09:39:14 893

转载 NPN和PNP作为开关管的设计技巧以及全系列三极管参数

1.1 NPN与PNP的区别NPN和PNP主要是电流方向和电压正负不同。NPN是用B—E的电流(IB)控制C—E的电流(IC),E极电位最低,且正常放大时通常C极电位最高,即VC>VB>VE。PNP是用E—B的电流(IB)控制E—C的电流(IC),E极电位最高,且正常放大时通常C极电位最低,即VC。1.2 NPN和PNP作为开关的使用三极管做开关时,工作在截至和饱和两个状态

2011-12-14 09:34:40 2151

转载 GPS数据格式解析源代码举例

GPS数据格式解析源代码举例 随着内置GPS的手机越来越多,GPS相关的应用也越来越广泛,GPS已经不仅仅只是得到一个经纬度的信息,可以通过GPS开发出更多的应用,比如位置图片,比如好友位置显示,比如跟踪等等,TimeSyncPPC就是可以使用GPS的时钟来进行时间同步的。        所有这些功能都需要知道GPS的数据格式并能够解析出自己需要的数据出来。下面就以Time

2011-12-10 22:03:40 827

转载 GPS数据解析 数据拆分 坐标转换 显示线路图源代码

view plainprint?GPS数据提取解析源码GPS source data extraction analysis, we can refer to learn from      GPS数据解析     数据拆分 \坐标转换 \显示线路图\源代码    逐条读取gps数据 然后进行拆分 解析,坐标转换,绘制线路。。。很好的示例多多交流学习

2011-12-10 22:01:11 1927

转载 TTL,CMOS,RS232电平区别

什么是TTL电平、CMOS电平、RS232电平?它们有什么区别呢?一般说来,CMOS电平比TTL电平有着更高的噪声容限。 (一)、TTL电平标准 输出 L: 2.4V。 输入 L: 2.0V TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5

2011-12-07 12:08:14 610

转载 s3c2440开发板使用gps模块

view plain/*GPS模块Gps模块引出四个管脚(1,2,3,5)分别为(Vcc,Tx,Rx,GND)只需要这四个管脚就可以了 四个管脚接至Uart的serial port 2(挨着温度模块) 模块接上天线(天线最好原装,使用桥梁Gps的天线发现不行) 备注:有可能出现无法读取到Gps数据,原因可能为管脚之间已经短路*/  #include

2011-12-07 12:05:32 997

转载 Linux-2.6.32.2内核在mini2440上的移植(一)---构建自主开发环境

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:16:04 2039 1

转载 .Linux-2.6.32.2内核在mini2440上的移植(二)---yaffs2文件系统移植

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:15:10 851

转载 Linux-2.6.32.2内核在mini2440上的移植(三)---DM9000网卡驱动移植

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:14:18 1540

转载 Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(1)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gn?i-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,u-b

2011-11-30 21:13:26 2080

转载 Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(2)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:12:01 2094

转载 Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(3)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:11:12 1690

转载 .Linux-2.6.32.2内核在mini2440上的移植(五)---激活RTC驱动

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:10:24 480

转载 Linux-2.6.32.2内核在mini2440上的移植(六)---添加LCD背光驱动

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:09:36 1577

转载 Linux-2.6.32.2内核在mini2440上的移植(七)---LCD驱动移植

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:08:11 2113

转载 Linux-2.6.32.2内核在mini2440上的移植(十八)---将UART2更成普通串口驱动

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:06:26 1337

转载 .Linux-2.6.32.2内核在mini2440上的移植(十七)---移植PWM控制蜂鸣器驱动

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:05:26 1603

转载 Linux-2.6.32.2内核在mini2440上的移植(十六)---基于中断的按键驱动移植

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:04:39 1714

转载 Linux-2.6.32.2内核在mini2440上的移植(十五)---移植LED驱动

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:03:54 865

转载 Linux-2.6.32.2内核在mini2440上的移植(十四)---移植看门狗驱动

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:02:57 1214

转载 Linux-2.6.32.2内核在mini2440上的移植(十三)---移植UDA1341音频驱动

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,

2011-11-30 21:02:11 791

空空如也

空空如也

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

TA关注的人

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