自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (6)
  • 收藏
  • 关注

转载 linux底层驱动模型之一:Kobject

linux底层驱动模型之一:Kobject分类: Linux内核2010-03-30 14:59 3634人阅读 评论(0) 收藏 举报linuxstruct数据结构hierarchysemaphorelist1)Kobject      Kobject 是Linux 2.6引入的新的设备管理机制,在内核中由struct kobject表示。通过这个数据结构使所

2014-05-30 10:02:09 646

转载 linux下bus,device,driver三者关系

linux下bus,device,driver三者关系                              1.bus:  总线作为主机和外设的连接通道,有些总线是比较规范的,形成了很多协议。如PCI,USB,1394,IIC等。任何设备都可以选择合适的总线连接到主机。当然主机也可能就是CPU本身。内存也是通过BUS连接到主机的,可内存使用的总线不是外设总线,因此和内存使

2014-05-30 09:49:48 1326

转载 总线设备驱动

设备模型之二 总线设备驱动                                     2012-04-19一、概要分析     Linux设备模型中三个很重要的概念就是总线、设备和驱动,即bus,device和driver。它们分别对应的数据结构分别为struct bus_type,struct device和struct device_driver。    总线

2014-05-29 15:22:56 677

转载 区分/dev/tty、/dev/console、/dev/pts、/dev/ttyn

通常我们在linux下看到的控制台(console)是由几个设备完成的。分别是/dev/ttyN(其中tty0就是/dev/console,tty1,tty2就是不同的虚拟终端(virtual console)).通常使用热键alt+Fn来在这些虚拟终端之间进行切换。所有的这些tty设备都是由linux/drivers/char/console.c和vt.c对应。    /dev/pts是远程

2014-05-24 11:20:26 1359

转载 input子系统分析

             input子系统分析 2013-06-06 14:36:16分类: LINUX一、input子系统概述在linux下,按键、触摸屏、鼠标等都可以利用input接口函数来实现设备驱动。1,linux输入子系统主要分三层: 驱动,输入CORE, 事件处理层。驱动根据CORE提供的接口,向上报告发生的按键动作。然后CO

2014-05-23 08:34:52 664

转载 结构体内的#define宏定义

结构体内的#define宏定义2010-12-18 23:29 1398人阅读 评论(2)收藏举报编译器gcc语言c关于宏的作用域1.     宏没有可见域。        如果说有,那就是从本文件(包括被包含的文件)中,该宏定义处开始,至文件的尾部或取消宏(#undef)为止。2.     考虑一种特殊情况:        一个宏定义,如果

2014-05-22 22:14:26 1703

转载 嵌入式人才的发展方向!

嵌入式人才的发展方向!2013-03-08 10:56:44 分类: IT职场嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的 硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到 的手机、PDA、电子字典、可视电

2014-05-22 20:33:43 452

转载 用户空间和内核空间

今天突然看到一个问题:你自己是怎么样理解内核空间和用户空间的?乍一看到这问题,说实话,自己头脑有点空白的感觉。很奇怪的感觉,因为在我脑海里潜意识我对这个问题应该还是很清楚的,内核驱动,用户程序,系统调用什么的,信手拈来,就是画模块图都是一上来就画一条粗横线,上面是userspace,下面是kernelspace。但是自己仔细一想想,却发现自己真还说不清楚什么是内核空间和用户空间,自己其实只知道

2014-05-22 08:31:32 624

转载 从寄存器看I386和x64位中函数调用中参数传递

从寄存器看I386和x64位中函数调用中参数传递x86_64基本使用寄存器存储函数参数,寄存器不够才入栈;而i386将所有参数保存在栈上,通过gcc的扩展功能__attribute__((regparm()))即可实现部分参数的寄存器传递。 代码123456789101112131415

2014-05-21 21:58:28 2029

转载 dentry

dentry与inode、dentry_cache2009-02-06 12:01:24 分类: LINUXdentry  一、dentry的定义   dentry的中文名称是目录项,是Linux文件系统中某个索引节点(inode)的链接。这个索引节点可以是文件,也可以是目录。  二、dentry的结构:以下是dentry的结构体  struct d

2014-05-19 23:26:22 802

转载 wait_queue_t,wait_queue_head_t的认识

wait_queue_head_t属于设备,设备可以维护几个wait_queue_head_t以等待不同类型的事件,wait_queue_t跟进程相关,wait_event把wait_queue_t的进程加入到设备的wait_queue_head_t,中来等待事件的发生,事件发生后wake_up_interruptible会唤醒设备中wait_queue_head——t中的所有wait_queue

2014-05-19 00:17:43 872

转载 Linux串口编程(中断方式和select方式

Linux串口编程(中断方式和select方式)2010-07-11 15:47:56 分类: 嵌入式        Linux下的串口编程,在嵌入式开发中占据着重要的地位,因为很多的嵌入式设备都是通过串口交换数据的。在没有操作系统的我们可以使用UART的中断来出来数据的接受和发送,而在Linux操作系统下,我们也可以使用软中断的方式来处理数据的接受和发送,这里主要使用

2014-05-17 17:11:37 2199 1

转载 rep movsb

rep movsb先说搬移字串。搬移字串指令有两种,分别是 MOVSB 和 MOVSW,先说 MOVSB。MOVSB 的英文是 move string byte,意思是搬移一个字节,它是把 DS:SI 所指地址的一个字节搬移到 ES:DI 所指的地址上,搬移后原来的内容不变,但是原来 ES:DI 所指的内容会被覆盖而且在搬移之后 SI 和 DI 会自动地址向下一个要搬移的地址。一般而言,通常程序设

2014-05-08 09:14:16 7071

转载 Text模式和PDU模式的区别

Text模式和PDU模式的区别分类: AT命令和SIM300模块 2011-05-03 20:17 2591人阅读 评论(1)收藏举报手机c3602010发送短消息常用Text和PDU(Protocol   Data   Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持

2014-05-07 10:40:05 701

转载 linux中 likely与unlikely

linux中 likely与unlikely分类: Liux Kernel Function 2012-03-22 19:578398人阅读 评论(5)收藏举报linuxbranch编译器compilergccfunction看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍

2014-05-05 09:31:44 459

转载 asmlinkage

什么是 "asmlinkage"?相信大家在看linux的source code的时候,都会注意到asmlinkage这个宏,它是用来做什么的呢?The asmlinkage tag is one other thing that we should observe about this simple function. This is a #define for

2014-05-04 13:49:22 494

转载 函数调用与栈

理解调用栈最重要的两点是:栈的结构,EBP寄存器的作用。首先要认识到这样两个事实:1、一个函数调用动作可分解为:零到多个PUSH指令(用于参数入栈),一个CALL指令。CALL指令内部其实还暗含了一个将返回地址(即CALL指令下一条指令的地址)压栈的动作。2、几乎所有本地编译器都会在每个函数体之前插入类似如下指令:PUSH EBP; MOV EBP ESP;即,在程式执行到一个函数

2014-05-03 10:36:30 630

转载 kfifo

巧夺天工的kfifo分类: C/C++/linux 2010-07-25 12:03 7371人阅读 评论(7)收藏举报buffer数据结构structrestlinux扩展Linux kernel里面从来就不缺少简洁,优雅和高效的代码,只是我们缺少发现和品味的眼光。在Linux kernel里面,简洁并不表示代码使用神出鬼没的超然技巧,相反,它使用的不

2014-05-03 00:06:23 857

最新版本linux libc库实现源码

最新版本linux libc库实现源码.里面有各种函数的实现源码,很适合学习

2014-12-06

mini2440上做的web服务器

mini2440上自己开发的web服务器的软件,可以很方便的移植到其他开发板,里面有很详细的代码,

2014-12-06

软件滤波方法实现

多种方法实现软件滤波,主要用在嵌入式上,用于stm32,单片机上利用软件方法进行滤波,已经通过测试

2014-08-03

matlab的拟合方法

matlab拟合方法和matlab的设计方法,如何进行抽象的拟合的方法和设计技巧

2014-08-03

led驱动程序

led驱动开发,用于各类开发板使用的。

2014-02-21

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

TA关注的人

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