arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 51 下一页

2011年1月19日

摘要: 3.4 管理I/O端口资源 我们都知道,采用I/O映射方式的X86处理器为外设实现了一个单独的地址空间,也即“I/O空间”(I/OSpace)或称为“I/O端口空间”,其大小是64KB(0x0000-0xffff)。linux在其所支持的所有平台上都实现了“I/O端口空间”这一概念。 由于I/O空间非常小,因此即使外设总线有一个单独的I/O端口空间,却也不是所有的外设都将其I/O端口(指寄存器)映射到“I/O端口空间”中。比如,大多数PCI卡都通过内存映射方式来将其I/O端口或外设内存映射到CPU的RAM物理地址空间中。而老式的ISA卡通常将其I/O端口映射到I/O端口空间中。 linu... 阅读全文
posted @ 2011-01-19 10:03 arm-linux 阅读(626) 评论(0) 推荐(0) 编辑

摘要: 博主按:下文原作者在linux2.4.0基础上分析的,我现在的内核是2.6.32。在有区别的地方我会用红色文字标出,作为对原文的一些补充吧。3.2 linux对I/O资源的管理 linux是以一种倒置的树形结构来管理每一类I/O资源(如:I/O端口、外设内存、DMA和IRQ)的。每一类I/O资源都对应有一颗倒置的资源树,树中的每一个节点都是一个resource结构,而树的根结点root则描述了该类资源的整个资源空间。 基于上述这个思想,linux在kernel/Resource.c文件中实现了对资源的申请、释放及查找等操作。 3.2.1 I/O资源的申请 假设某类资源有如下这样一颗资源... 阅读全文
posted @ 2011-01-19 10:01 arm-linux 阅读(384) 评论(0) 推荐(0) 编辑

摘要: 博主按:下文原作者在linux2.4.0基础上分析的,我现在的内核是2.6.32。在有区别的地方我会用红色文字标出,作为对原文的一些补充吧。3.2.4 寻找可用资源 函数find_resource()用于在一颗资源树中寻找未被使用的、且满足给定条件的(也即资源长度大小为size,且在[min,max]区间内)的资源。其函数源代码如下:/** Find empty slot in the resource tree given range andalignment.*/static int find_resource(struct resource *root, struct resource. 阅读全文
posted @ 2011-01-19 10:01 arm-linux 阅读(519) 评论(0) 推荐(0) 编辑

摘要: 博主按:下文原作者在linux2.4.0基础上分析的,我现在的内核是2.6.32。在有区别的地方我会用红色文字标出,作为对原文的一些补充吧。本文主要从内核实现的角度分析linux2.4.0内核IO子系统中对IO端口资源的管理的实现原理。本文是为那些想要深入分析Linux的IO子系统的读者和设备驱动程序开发人员而写的。 Copyright ?0? 2002 by 詹荣开 E-mail:zhanrk@sohu.com linux-2.4.0 Version 1.0.0,2002-10-1 关键词:设备管理、驱动程序、I/O端口、资源 申明:这份文档是按照自由软件开放源代码的精神发布的,... 阅读全文
posted @ 2011-01-19 10:00 arm-linux 阅读(480) 评论(0) 推荐(0) 编辑

2011年1月18日

摘要: i2c-s3c2410.c======================module_init(12c_adap_s2c_init)module_init申明函数static int __init i2c_adap_s3c_init(void){int ret;ret = platform_driver_register(&s3c2410_i2c_driver);if (ret == 0) { ret = platform_driver_register(&s3c2440_i2c_driver); if (ret) platform_driver_unregister(& 阅读全文
posted @ 2011-01-18 21:07 arm-linux 阅读(2450) 评论(0) 推荐(0) 编辑

摘要: 子曰:按套路出牌。的确,什么东西都有套路,泡妞有泡妞的套路,花前月下不如花钱日下。打麻将有打麻将的套路,少吃少碰少放炮,多摸多杠多发财。星际有星际的套路,linux也有linux的套路。刘涛姐姐的故事再一次告诉我们,年龄不是问题,身高不是距离,有cai就行。我们不妨看看 modprobe ehci-hcd 之后发生了什么事情。ehci-hcd是一个驱动程序,不知您记不记得我在sysfs中谈论过设备模型。有两个重要的链表挂在bus上,一个是设备device链表,一个是驱动driver链表。每当我们向一根bus注册一个驱动driver时,套路是这样的:driver_register(struct. 阅读全文
posted @ 2011-01-18 20:45 arm-linux 阅读(635) 评论(0) 推荐(0) 编辑

摘要: 继续往下学习第九章的内容。从这一章开始才接触到了一些实际的硬件设备,硬件是我的强项啊,呵呵。加油!一、I/O端口和I/O内存 在学习这部分之前,需要先明确一个概念:side effect。明确这个概念有助于理解内存操作和IO寄存器操作的不同。LDD3中将这个词翻译成了“边际效应”,对此我持保留意见,至少我当时学习的时候就被这个词搞得一头雾水(我本身是搞硬件的,自认为对寄存器还是很了解的,这里完全被这个词搞晕,我勒个去以为是什么高级的东东)。LDD2中将此翻译成“副作用”,这至少比“边际效应”更容易理解一些,但是“副作用”本身多指一件事物不好的方面的影响,不太符合国人的习惯。所以这里我想把它叫做 阅读全文
posted @ 2011-01-18 14:46 arm-linux 阅读(398) 评论(0) 推荐(0) 编辑

2011年1月17日

摘要: 最近总有一些网上的朋友问我关于选择什么EDA软件好的问题,就写在这里吧。不弹此调久矣,一家之言,仅供参考。说到绘制电路图和PCB图的软件,大家可能最先想到的是protel,这个在国内,尤其是国内的大学里面用的是最多的了,相关的参考资料也最丰富。可是我最先用的确不是这个,实际上到现在我也不怎么会用。刚进公司的时候用的是Zuken公司的CR-5000,好像韩国企业都用这个吧,至少我见到的都是用它。感觉是一款不错的软件。记得当时什么也不会,跟在一位前辈的屁股后面,他画,我看。看了大概一个月,会了,自己画。感觉这款软件的快捷键挺好用的,速度飞起来以后画图就像打星际似的,挺有意思(后来发现任何一款EDA 阅读全文
posted @ 2011-01-17 21:33 arm-linux 阅读(2192) 评论(0) 推荐(0) 编辑

摘要: 一、kmalloc函数内幕 kmalloc的使用已经比较熟悉了,它的函数原型是: 1: #include <linux/slab.h> 2: void *kmalloc(size_t size, int flags);其中size表示要分配的块的大小, flags是分配标志。下面分别详细说明这两个参数: * size参数 实际上内核能分配的最小内存大小不是任意的,而是一些预定义的、固定大小的字节数组。linux创建一系列的内存对象池,每个池中的内存块大小事固定一致的。所以实际上申请到的内存大小可能会比size多一些,最多的时候会是2*size... 阅读全文
posted @ 2011-01-17 15:35 arm-linux 阅读(1125) 评论(0) 推荐(0) 编辑

2011年1月16日

摘要: 儿时读《西游记》,觉得唐僧软弱无能、真假不分,对孙悟空屈居这样的人手下觉得不解。时过而立之年,在职场摸爬滚打十年之后,重温《西游记》方才明白,唐僧其实是位好领导,他的事业成功得益于它所具有的一位领导人必备的多种素质。 一、良好的道德品质是得到认同并被委以重任的前提唐僧,俗家姓陈,法号玄奘,是唐初的高僧。“一心不爱荣华,只喜修持寂灭,”“根源又好,德行又高”。唐太宗李世民认为他“有德行有禅心”,委任“左僧纲,右僧纲,天下大阐都僧纲”之职。 二、扎实的专业知识是顺利完成使命的理论基础唐僧西天取经经历了九九八十一难,历经十四年。 要完成这么艰巨的历史使命,没有扎实的专业知识是不可能的。唐僧... 阅读全文
posted @ 2011-01-16 20:47 arm-linux 阅读(793) 评论(0) 推荐(0) 编辑

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 51 下一页