自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

转载 Win7安装Ubuntu11.10双系统

Win7安装Ubuntu11.10双系统之前都是用虚拟机装”友帮拓”的,也尝试着在win7里面装双系统。因为笔记本CPU是I5,4G内存,所以上64位的。下面是安装步骤。一、下载Ubuntu11.10系统镜像文件,放在C盘。下载地址:http://releases.ubuntu.com/oneiric/ubuntu-11.10-desktop-amd64.iso

2012-12-02 00:10:25 504

原创 linux内核笔记之一

1, 说出linux的进程内核堆栈是如何通过SP堆栈指针来找到当前进程的描述符的,并给出这段代码解答:先给出内核代码内核结构体里已经有pid所以,我们只要调用就可以了。根据函数名就是地址的特性,根据函数的指针传值

2012-11-20 22:12:36 457

转载 Android Layout 布局

一个Android视图有很多控件,那么怎么来控制它们的位置排列呢?我们需要容器来存放这些控件并控制它们的位置排列,就像HTML中div,table一样,Android布局也起到同样的作用。  Android布局主要有以下几种:LinearLayout,RelativeLayout,TableLayout,AbsoluteLayout.最后一种AbsoluteLayout是通过指定控件的x/

2012-11-13 17:38:11 402

转载 嵌入式 linux 驱动 ADC驱动

很懒,很久没去总结学习的东西,今天就总结下linux下的AD驱动吧,AD驱动理解的难点和注意的地方其实就只有两点。一、虚拟地址的应用,就是物理地址转换为虚拟地址,ADC驱动程序中的寄存器就是都用      到了虚拟地址了。其中最主要的转换的语句是base_addr=ioremap(S3C2410_PA_ADC,0x20);/ioremap()功能: 将一个IO地址空间映射到内核的虚拟地

2012-11-06 00:10:19 1894

转载 wifi模块:marvell-8686

一、 移植环境:        【移植环境】        1、 主机:Ubuntu 10.10发行版        2、 目标机:FS_S5PC100平台        3、 交叉编译工具:arm-none-linux-gnueabi-4.5.1        4、wifi模块:marvell-8686        5、Linux文件系统:roo

2012-11-06 00:04:39 2037

转载 端口复用服务器模型

// I/O复用服务器模型//select编程 /*************************************** 版本:**** 编写**** 修改***********************************/ 程序流程         #include /* According to earlier standards */

2012-11-06 00:02:02 410

转载 内核模块

10.2.1数据结构1.模块符号如前所述,Linux内核是一个整体结构,而模块是插入到内核中的插件。尽管内核不是一个可安装模块,但为了方便起见,Linux把内核也看作一个模块。那么模块与模块之间如何进行交互呢,一种常用的方法就是共享变量和函数。但并不是模块中的每个变量和函数都能被共享,内核只把各个模块中主要的变量和函数放在一个特定的区段,这些变量和函数就统称为符号。到低哪些符号可以被共享?

2012-11-05 23:54:25 425

转载 Linux下V4L2编程小结--吴老师

Linux下V4L2编程小结--吴老师时间:2010-04-25 14:00来源:武汉华嵌 作者:技术部 点击: 6618次一.设置采集方式,格式 常用命令标志 打开视频设备后,可以设置该视频设备的属性,例如裁剪、缩放等。这一步是可选的。在 Linux 编程中,一般使用 ioctl 函数来对设备的 I/O 通道进   作者:武汉华嵌-嵌入式培训中心  吴老师

2012-11-05 23:50:29 475

转载 LM75温度芯片I2C驱动

#include #include #include #include #include #include #include #include #define I2C_RETRIES 0x0701#define I2C_TIMEOUT 0x0702#define I2C_RDWR 0x0707 /*********定义struct i2c_rdwr_io

2012-11-05 23:48:27 1653 1

转载 线程锁和自旋锁的比较

最近从事多线程相关的编程,对于多线程的性能比较关心,所以去网上找了一些资料。看到了并行实验室的冠诚前辈的博文 学习到了很多,下面是我的学习笔记。光荣属于前辈。    线程锁调用API如下:      pthread_mutex_lock(&mutex);      pthread_mutex_unlock(&mutex);   自旋锁调用

2012-11-04 23:25:46 389

转载 typedef struct与struct的区别

第一篇:typedef struct与struct的区别1. 基本解释typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。至于typedef有什

2012-11-04 22:55:56 281

转载 STL源码剖析---红黑树原理详解

一、红黑树概述     红黑树和我们以前学过的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。不过自从红黑树出来后,AVL树就被放到了博物馆里,据说是红黑树有更好的效率,更高的统计性能。这一点在我们了解了红黑树的实现原理后,就会有更加深切的体会。     红黑树和AVL树的区别在于它使用颜色来标识结点的高度,它所追求的是局部平衡而不是AVL

2012-11-04 22:44:43 434

转载 Samsung s3c6410/s3c2416 的SPI接口调试

参考资料:6410手册/2416手册Kernel部分驱动代码作 者:agan联系邮箱 beswipe@yahoo.com.cnracer.blog.chinaunix.net转载须注明出处!    SPI接口简述  SPI是 Serial Peripheral Interface(串型外部接口)的缩写。SPI接口有4根PIN脚,分别是:

2012-11-04 12:46:01 949

转载 实例解析linux内核I2C体系结构

实例解析linux内核I2C体系结构一、概述 谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。 第一种方法的好处(对应第二种方法的劣势)有:       ●    思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。

2012-11-04 12:34:04 419

转载 菜鸟玩云计算之六:Ubuntu Server 12.10 上安装 nodejs, zeromq

Ubuntu Server 12.10 上安装 python, nodejs, zeromqnodejs是一个基于google v8+javascript的服务端编程框架。对于搞云计算,用nj来做系统管理Web站点是非常合适的。理由是:a.足够简单。b.足够快。c.足够小巧。d.前后端一致性。下面是安装步骤:1 首先确保系统安装了python, gc

2012-11-04 11:50:29 804

转载 SPI协议及SDIO协议

(1)串行外设接口(SPI:Serial Peripheral interface)是一种串行同步通讯协议(同时读入和写出),由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成。CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。       主要影响SPI通讯的两个参数是时钟极

2012-11-03 22:32:35 5033

转载 Android源码目标结构

Android 2.1|-- Makefile|-- bionic                        (bionic C库)|-- bootable                (启动引导相关代码)|-- build                        (存放系统编译规则及generic等基础开发包配置)|-- cts

2012-11-03 22:00:46 402

转载 epoll_create, epoll_ctl和epoll_wait & select

名词解释:man epoll之后,得到如下结果:NAME        epoll - I/O event notification facilitySYNOPSIS        #include DEscrīptION        epoll is a variant of poll(2) that can be used either as Edge o

2012-11-03 21:05:14 545

转载 Linux系统调用列表

一、进程控制:fork创建一个新进程clone按指定条件创建子进程execve运行可执行文件exit中止进程_exit立即中止当前进程getdtablesize进程所能打开的最大文件数ge

2012-11-03 20:33:39 279

转载 Android4.0.3 显示系统深入理解

1. 简介              网上已经有很多兄弟对Android的显示系统做了深入解剖,很是佩服。可最近小弟在研究Android4.0时发现出入比较大,也许是Android4.0的修改比较多吧!因为小弟没有看Android4.0以前的代码。       面对这么复杂一个Android显示系统,如何入手呢? 根据以前的经验,不管它有多么复杂,其功能不就是以下三步曲吗?

2012-11-03 20:22:17 655

转载 悲剧的山寨采用的新芯片资料汇总(更新Rk3066)

芯片名称基友公司上市前宣传主频量产机最高主频最高主频GPU备注Rk3066原道酷比魔方1.4GHz*21.6GHz*21.6GHz*2Mali 400MP4@ 266MHz(旧固件)Mali 400MP4@ 399MHz(最新固件)特点:高频寨厂虚标主频创始人这次显得很淡定,从Rk2818时代把开始把624MHz虚标为

2012-11-03 20:11:23 2978

转载 Linux驱动设备模型之Platform

[概述]一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、IIC、SPI等的设备而言,这自然不是问题,但是在嵌入式系统中,SoC系统中集成的独立的外设控制器,挂接在SoC内存空间的外设(IIC,RTC,SPI,LCD,看门狗)等却不依附于此类总线。基于这一背景,Linux发明了一种虚拟的总线,称为platform总线,相应的设备称为platformde

2012-11-02 16:43:24 385

转载 Ubuntu下配置tftp服务和NFS服务

配置tftp方法一:(推荐方法)Ubuntu10.04 测试通过1.安装TFTP软件sudo apt-get install tftp-hpa tftpd-hpatftp-hpa是客户端,tftpd-hpa是服务器端2.建立tftpboot目录,作为服务器的目录sudo mkdir ~/tftpboot释放权限:(服务器目录,需要设置权限为777,chomd 777)

2012-11-02 12:56:49 458

转载 S5PC100的PWM定时器中断实现示例

1实验平台的介绍实验芯片是S5PC100处理器,开发平台是FSC100开发平台。2实验实现的功能使用PWM定时器的中断来产生一个占空比可调的PWM波形。3开发板原理图有图可知,PWM定时器输出TOUT1来控制一个无缘的蜂鸣器。可以用定时器的中断方式来实现一个PWM占空比可调的方波。4实验代码分析void main()

2012-11-01 16:49:19 1304

转载 S3C6410的PWM驱动实例

我们使用PWM来控制蜂鸣器,主要是两种功能,一是使能蜂鸣器,并设置其频率;二是禁止蜂鸣器。这些操作均可通过ioctl来完成。所以在pwm的设备驱动中,主要也就是ioctl这个函数。   首先,我们要定义两个命令,用在ioctl函数中的switch语句中,至于怎么来定义这两个命令呢?其实简单的做法,我们可以将其定义为两个不同的常量,能用在switch语句中即可,但是这样会造成一定的问题。例如,其

2012-11-01 16:18:15 503

转载 ARM异常中断处理概述

1.中断的概念什么是中断,我们从一个生活中的例子引入。你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。在处理器中,所谓中断,是一个过程,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中断(中止)当前程序的执行,而转去为事件服务,待服务完毕,再返

2012-11-01 11:28:28 1033

转载 ARM的SWI异常中断处理程序设计

2012-10-07 08:57:23     我来说两句 收藏  我要投稿   本节主要介绍编写SWI处理程序时需要注意的几个问题,包括判断SWI中断号,使用汇编语言编写SWI异常处理函数,使用C语言编写SWI异常处理函数,在特权模式下使用SWI异常中断处理,从应用程序中调用SWI。1.判断SWI中断号当发生SWI异常,进入异常处理程序时,异常处理程序必须提取SWI中断号,从

2012-11-01 11:25:22 1457

转载 中断分支

2012-10-07 09:03:38     我来说两句 收藏  我要投稿   7.7  FIQ和IRQ中断7.7.1  中断分支1.软件控制中断分支ARM内核只有两个外部中断输入信号nFIQ和nIRQ。但对于一个系统来说,中断源可能多达几十个。为此,在系统集成时,一般都会有一个异常控制器来处理异常信号,如图7-5所示。 这时候用户程序可能存在多个IRQ/FI

2012-11-01 11:24:12 594

转载 s5pc100中断按键驱动

下面介绍一个中断实例,该例子实现了S5PC100按键控制。当按下KEY1和KEY2时,会从终端上打印出相应的按键信息。其中KEY1对应的是EINT1中断源,KEY2对应的是EINT2中断源。1.电路原理电路原理图如图7-10所示。 2.编程流程编程流程如图7-11所示。 3.程序编写(1)相关寄存器定义如下。#define     VIC0ADDRE

2012-11-01 11:20:19 1141

转载 s3c6410中断按键驱动

相关头文件的定义1.IRQ_EINT(x) 中断号 是在kernel/arch/arm/mach-s3c64xx/include/mach/irqs.h 当中定义的。2.IRQF_TRIGGER_FALLING 下降沿触发是在kernel/include/linux/interrupt.h 当中定义的。3.DECLARE_WAIT_QUEUE_HEAD(name)  生成一

2012-11-01 11:14:59 595

转载 gdb+gdbserver的方式进行ARM程序调试

Sailor_forever  Sailing_9806@163.com转载请注明http://blog.csdn.net/sailor_8318/archive/2008/04/16/2295583.aspx 【摘要】:本文首先介绍了gdb+gdbserver相关的概念,然后介绍了其下载、编译、安装等过程;接着介绍了利用gdb+gdbserver调试应用程序的流程及实例等;最后分

2012-11-01 11:10:22 561

转载 linux中断之中断注册

专业的linux驱动开发离不开中断处理,在处理中断,首先要注册中断,在linux下通过request_irq来注册中断的,不同内核版本,注册中断所需要的参数也不同,本文以linux-2.6.34为例,对比老版本进行说明。    request_irq()函数在include/linux/interrupt.h中定义,原型为:    static inline int __must_chec

2012-11-01 08:47:40 658

转载 Linux字符设备驱动实例

闲话少说,理论不讲,直接拷贝源码即可运行。首先是device文件:mycdev.c[cpp] view plaincopy#include   #include   #include   #include   #include   #include     MODULE_AUTHOR("Boatman Yang");  MODULE_LICENSE("GPL");

2012-10-31 23:26:42 360

转载 单链表操作大全(图解逆序)

如果说你经常在linux中,或者在kernel下面做事的话,一定会碰到链表的操作。如果你没有真正了解单链表,还是把基础打好吧。如下程序综合了链表的常用方面,请你下自己写出每个函数,debug并运行,直到运行正确;然后对照参考程序,比较程序的差异,有时候,可能你测试不全面,会有这样那样的错误,多思考,这样,你才记忆深刻。[cpp] view plaincopy

2012-10-31 23:18:52 744

转载 Linux C 经典题目总结

【第一部分 C基本概念】【几个关键字】1)、auto关键字: 声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。不明白?无视他好了,编译器默认的缺省情况下,所有的变量都是auto的。2)、extern关键字: 我们都知道,一个变量或函数,可以在a.c文件中定义,而在b.c文件中使用,这个时候,b.c就需要使用ext

2012-10-31 23:14:58 2028

转载 Linux IPC总结(全)

IPC进程间通信(Inter-Process Communication)就是指多个进程之间相互通信,交换信息的方法。Linux IPC基本上都是从Unix平台上继承而来的。主要包括最初的Unix IPC,System V IPC以及基于Socket的IPC。另外,Linux也支持POSIX IPC。System V,BSD,POSIX    System V是Unix操作系统最早的商业发

2012-10-31 23:11:23 360

转载 CS8900A网卡设备驱动程序分析基于ARM平台(上)

网络驱动程序主要完成系统的初始化、数据包的发送和接收。在以前的内核版本中,网络设备的初始化主要由net_device数据结构中的init函数指针所指向的初始化函数来完成。在现在较新的2.6内核中,网络设备的初始化主要由device_driver数据结构中的probe函数指针所指向的函数来完成。数据包的发送和接收是实现Linux网络驱动程序中两个最关键的过程,对这两个过程处理的好坏将直接影响到驱动程

2012-10-31 23:09:56 525

转载 Linux中断基本介绍

中断是设备驱动中非常重要的一个概念,所以这里首先讲述中断概念,然后讲述中断请求过程、中断处理程序以及中断相关的内核函数。 1中断基本概念         中断一词的字面意思是中间发生阻隔、停顿或故障而断开,但在计算机术语中的定义是是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件引起CPU暂时停止正在运行的程序,转到为该内部/外部事件或预先安排的事件服务的程序中去,服务完

2012-10-31 22:58:59 526

转载 s3c6410 LED驱动

这两天写了个LED驱动程序,网上也看了好多的帖子。开始思路很清晰了,就是先看电路图,发现LED灯是接在GPM端口上的,然后看S3C6410数据手册,先向GPMCON口写命令字,让GPM0-5设置为输出,再向GPMDAT口写数据字,在GPM0-5引脚拉低或拉高电平,从而控制LED的亮灭。1、电路图很显然LED灯是接在GPM口引脚下面的2、数据手册3、L

2012-10-31 15:00:39 651

转载 s5pc100 LED驱动

接上文,本文记录 led工程中 driver/目录下的3个文件 s5pc100_led.h s5pc100_leddriver.c Makefiles5pc100_led.h 这个文件和上文一样,不列举了,主要是s5pc100_leddriver.c,先列出完整的函数内容:[html] view plaincopy#include linux/init.h>

2012-10-31 14:44:47 569

s5pc100 LED

s5pc100驱动之LED的驱动,分二部分一部分驱动,一部分程序。

2012-11-02

我的VIM配置

我自己配置的基本有的都有了。效果不错,里面插件还是全的,总之开发,嵌入式来说还是合用的,不足之处见亮。

2012-11-02

空空如也

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

TA关注的人

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