自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mrwangwang的专栏

关注微信公众号IEEE,IEEE、万方文献及国内外专利下载,更多技术文章阅读

  • 博客(21)
  • 资源 (15)
  • 收藏
  • 关注

转载 arm平台下spin lock的使用

spin lock在单核模式下没有被实现,所以有个疑惑,既然没有被实现,为什么arm平台下的驱动大量使用spin lock做同步?于是发了下面的帖子:http://linux.chinaunix.net/bbs/viewthread.php?tid=1166946&extra=有个网友的回复很好,snail_314的回复:“spin lock未实现并不意味着spin_lock_ir

2012-11-27 21:20:07 989

转载 从spin_lock到spin_lock_irqsave

Spinlock的目的是用来同步SMP中会被多个CPU同时存取的变量。在Linux中,普通的spinlock由于不带额外的语义,是用起来反而要非常小心。 在Linux kernel中执行的代码大体分normal和interrupt context两种。tasklet/softirq可以归为normal因为他们可以进入等待Spinlock的目的是用来同步SMP中会被多个CPU同时存取的变量。

2012-11-27 17:20:14 543

转载 ARM中断原理, 中断嵌套的误区,中断号的怎么来的 .

几天前一个学生问我ARM中断嵌套的问题,我才发现原在我心中理所当然的事对学生来说理解实属不易。     ARM有七种模式,我们这里只讨论SVC、IRQ和FIQ模式。     我们可以假设ARM核心有两根中断引脚(实际上是看不见的),一根叫 irq pin, 一根叫fiq pin.     在ARM的cpsr中,有一个I位和一个F位,分别用来禁止IRQ和FIQ的。     先不说中断

2012-11-26 16:09:50 1044

转载 Kernel硬件中断的初始化流程

Kernel硬件中断的初始化流程Porting kernel到一个全新的开发板时,通常hardware irq的初始化函数是要我们自己实现的。 那我们实现了自己硬件的中断初始化函数之后,内核是如何调用到它的呢?内核有自己的一套支持多平台的架构。下面我们分析内核中断初始化的过程以及如何调用到一个新平台的irq初始化函数。 这里我们以s3c2410平台为例,他的中断初始化函数定义在:

2012-11-26 14:16:32 858

转载 ARM Linux S3C2440 之中断分析

硬件篇:S3C2440 是arm920T架构,先温习一下s3c2440中的中断控制器原理和相关硬件构架。中断控制器(InterruptControler):S3c2440A的中断控制器有60个中断源,如DMA中断,UART中断,IIC中断等,60个中断源在寄存器中用相应的位来表示。当有多个中断要求到来时,经过仲裁过程后,中断控制器向CPU请求FIQ或者IRQ中断。仲裁过程根据硬件中的优

2012-11-26 13:58:26 1108

转载 Redboot 代码分析 .

注: 1. 分析RedBoot的代码结构;为以后移植、修改RedBoot做准备;            2. 尝试分析Redboot 启动初始化流程,增强对系统启动和相应初始化过程的了解; 根据下一篇《如何构建eCos嵌入式系统 》分析整理基于mx3*的启动过程;            3. 尝试深入了解Redboot 数据传输以及RedBoot 命令部分代码的实现,留待以后能否增加一些命

2012-11-23 12:18:31 685

转载 ecos(redboot)移植剖析

不同平台之间的移植(CPU相同,硬件平台不同) mypath是ecos的安装目录 mypath/ecos/package/ecos.db记录了现有的包(package)和目标板(target)描述.一个target包含若干的package,target的描述会出现在configtool的templete的选项里。Target里同时指定了包含的package。照猫画虎的添加上自己的package

2012-11-23 11:31:17 1056

转载 WAN、LAN、PAN

WAN(Wide Area Network)——广域网,公里级别WWAN——无线广域网,3G/GSM/CDMA/GPRS/EDGELAN(Local Area Network)——局域网,100米级别WLAN——无线局域网,802.11bPAN(Personal Area Network)——个人局域网,10米级别WPAN——无线个人局域网,Bluetooth、802.15

2012-11-21 13:49:38 5228

转载 linux 内核分析之list_head

本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。一、 链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序

2012-11-20 20:39:34 378

转载 Linux中的工作队列

工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一些变化,因此本文分成两个部分对2.6.20之前和之后的版本分别做介绍。I、

2012-11-17 18:03:04 374

转载 Linux内核-工作队列的使用

Linux 2.6内核使用了不少工作队列来处理任务,他在使用上和 tasklet最大的不同是工作队列的函数可以使用休眠,而tasklet的函数是不允许使用休眠的。    工作队列的使用又分两种情况,一种是利用系统共享的工作队列来添加自己的工作,这种情况处理函数不能消耗太多时间,这样会影响共享队列中其他任务的处理;另外一种是创建自己的工作队列并添加工作。    (一)利用系统共享的工作队列添

2012-11-17 17:09:18 523

转载 linux内核中断 ----- tasklet 分析 .

Tasklet机制是一种较为特殊的软中断。Tasklet一词的原意是“小片任务”的意思,这里是指一小段可执行的代码,且通常以函数的形式出现。软中断向量HI_SOFTIRQ和TASKLET_SOFTIRQ均是用tasklet机制来实现的。从某种程度上讲,tasklet机制是Linux内核对BH机制的一种扩展。在2.4内核引入了softirq机制后,原有的BH机制正是通过tasklet机制这个桥梁

2012-11-17 15:39:53 428

转载 带参数的中断程序实例

中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志数据到来了,然后让处理器

2012-11-17 15:07:03 1631

转载 Linux设备驱动编程之中断处理

与Linux设备驱动中中断处理相关的首先是申请与释放IRQ的API request_irq()和free_irq(),request_irq()的原型为:int request_irq(unsigned int irq,void (*handler)(int irq, void *dev_id, struct pt_regs *regs),unsigned long i

2012-11-17 14:34:34 376

转载 Linux内核中ioremap映射的透彻理解 .

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:  (1)I/O映射方式(I/O-mapped)  典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的

2012-11-15 16:47:18 461

转载 一个buf.一个read_buf

数据最终会通过tty-> receive_buf()将数据放入read_buf.在这段代码中,有几个很有意思的处理。在进入工作队列的时候,首先会置TTY_FLUSHING标志.如果有进程在读read_buf的时候,如果此标志被置位,就会设置TTY_FLUSHPENDING标志,并进行睡眠。在数据处理完成之后,判断是否有TTY_FLUSHPENDING标志。如果有,则将读进程唤醒.并清除TTY_

2012-11-13 16:30:09 1502

转载 内核定时器的使用

内核定时器的使用LINUX内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 和 kernel/timer.c 文件中。被调度的函数肯定是异步执行的,它类似于一种“软件中断”,而且是处于非进程的上下文中,所以调度函数必须遵守以下规则:1) 没有 current 指针、不允许访问用户空间。因为没有进程上下文,相关代码和被中断的进程没有任

2012-11-10 12:41:27 412

转载 Private VLAN

在Private VLAN的概念中,交换机端口有三种类型:Isolated port,Community port, Promisc-uous port;它们分别对应不同的VLAN类型:Isolated port属于Isolated PVLAN,Community port属于Community PVLAN,而代表一个Private VLAN整体的是Primary VLAN,前面两类VLAN需要和

2012-11-08 11:27:46 553

转载 section ("section-name")

Normally, the compiler places the objects it generates in sections like data and bss. Sometimes, however, you need additional sections, or you need certain particular variables to appear in special se

2012-11-07 10:34:03 1236

转载 有关ecos设备表入口DEVTAB_ENTRY分析

================================Author: taoyuetaoEmail: tao_yuetao@yahoo.com.cnBlog: http://www.eetop.cn/blog/?1114507-04-20================================编写eCos设备驱动时,比较重要的就是设备表入口DEVTAB

2012-11-07 10:21:11 1605 1

转载 Linux driver model ----- platform

作者 : YiLi Xie    yili.xie@gmail.com日期 : 2010-1-25欢迎转载,请注明出处  Platform Device and Drivers从我们可以了解Platform bus上面的驱动模型接口:platform_device,platform_driver。和PCI和USB这些大结构的总线不同,虚拟总线Platfo

2012-11-02 21:18:03 316

深入浅出玩转 FPGA_12576311.pdf

深入浅出玩转 FPGA_12576311.pdf

2011-10-07

linux中文包中文输入法安装.txt

linux中文包中文输入法安装.txt,喜欢中文输入法的可能有用!

2011-10-07

C51启动文件--STARTUp.A51--详细注释.docx

C51启动文件--STARTUp.A51--详细注释.docx

2011-10-07

51系列中data,idata,xdata,pdata的区别.doc

51系列中data,idata,xdata,pdata的区别.doc

2011-10-07

网卡结构详解:MAC、PHY、传输特性、机械特性、电气特性等

网卡结构详解:MAC、PHY、传输特性、机械特性、电气特性等

2011-10-07

51汇编指令大全

51汇编指令大全,详细介绍了8051常用的汇编指令,对初学汇编语言或工程应用时查找相关指令有很大帮助,希望对大家有用

2011-10-07

基于FPGA的视频采集系统的设计与实现

基于FPGA的视频采集系统的设计与实现 基于FPGA的视频采集系统的设计与实现

2011-04-03

基于FPGA的视频采集

视频图像采集是视频信号处理系统的前端部分,正在向高速、高分辨率、高集成化、高可靠性方向发展。图像采集系统在当今工业、军事、医学各个领域都有着极其广泛的应用,如使用在远程监控、安防、远程抄表、可视电话、工业控制、图像模式识别、医疗器械等各个领域都有着广泛的应用[1]。本文介绍了一种基于FPGA的图像采集系统,用户可以根据需要对FPGA 内部的逻辑模块和I/O模块重新配置,以实现系统的重构[1][2];而且采用这种设计方案 ,便于及时地发现设计中的错误,能够有效地缩短研发时间,提高工作效率。

2011-04-03

USB接口的数字摄像系统设计

讨论了基于usb接口的数字摄像系统的实现

2011-04-03

2009考研英语作文预测班辅导讲义-徐绽

2009考研英语作文预测班辅导讲义-徐绽

2010-11-18

清华阎石《数字电子技术基础》第五版教学课件

清华阎石《数字电子技术基础》第五版教学课件

2010-10-29

uc_osII中文教程

uc_0sII 中文教程,讲得很详细,觉得不错,希望大家喜欢。

2009-03-29

空空如也

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

TA关注的人

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