Shimejing

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页

2014年2月14日

摘要: 什么是死锁死锁的概念(一)死锁是两个或两个以上的进程中的每一个都在等待其中的其它进程释放资源而被封锁,它们都无法向前推进,陷入永久等待状态,这种现象称为死锁。(二)特点1、占有一定的资源,等待对方释放资源。2、获得对方资源前不释放自己占有的资源。(三)比较死锁:一组进程都不能执行(向前推进)。死循环:进程一直执行,永远不结束。死机:系统中的所有进程都不能执行(向前推进)。二、死锁的起因1、资源有限系统提供的资源数少于并发进程所需要的资源数。2、资源竞争进程的并发性造成对资源的竞争使用。注:一般我们不可能为所要求资源的进程无限制地提供资源。三、关于死锁的进一步说明(一)死锁是进程之间的一种特殊关 阅读全文
posted @ 2014-02-14 01:17 Shimejing 阅读(2177) 评论(0) 推荐(0) 编辑

2014年2月10日

摘要: ------------------------------------------ 本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一:前言在键盘驱动代码分析的笔记中,接触到了input子系统.键盘驱动,键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统 是所有I/O设备驱动的中间层,为上层提供了一个统一的界面。例如,在终端系统中,我们不需要去管有多少个键盘,多少个鼠标。它只要从input子系统中 去取对应的事件(按键,鼠标移位等)就可以了。今 阅读全文
posted @ 2014-02-10 22:34 Shimejing 阅读(204) 评论(0) 推荐(0) 编辑

摘要: mini2440驱动分析系列之---------------------------------------Mini2440触摸屏程序分析By JeefJiang July,8th,2009这是mini2440驱动分析系列的第三篇文章,本文分为三个部分,第一部分讲叙硬件知识,包括触摸屏的原理以及SCC2440 SOC上的触摸屏是如何工作的。第二部分分析输入设备子系统的框架,并进行相应的代码分析。第三部分利用上述的原理来分析mini2440的触摸屏驱动。第四部分介绍了测试和校准。1.需要准备的硬件知识1.1电阻式触摸屏工作原理原理触摸屏附着在显示器的表面,与显示器相配合使用,如果能测量出触摸点在 阅读全文
posted @ 2014-02-10 22:32 Shimejing 阅读(417) 评论(0) 推荐(0) 编辑

2014年2月9日

摘要: kmap函数: 把某块高端内存映射到页表,然后返回给用户一个填好vitual字段的page结构 建立永久地址映射,不是简单的返回virtual字段的pageioremap: 驱动程序无法直接访问io物理地址,所以ioremap是为了使将其映射到虚拟内存,然后直接像访问内存那样访问io 当开启了CONFIG_HIGHMEM时,能操作大于896M的RAM 所以当物理内存大于896M且内核开启了CONFIG_HIGHMEM,ioremap传入的phys_addr参数可以为高端的ram地址kmalloc则是slab机制来分配内核对象kzalloczeroes the memory before ret 阅读全文
posted @ 2014-02-09 16:45 Shimejing 阅读(1096) 评论(0) 推荐(0) 编辑

2014年2月7日

摘要: 定义2作用▪ 建立让操作系统运行的基本环境▪ 完善操作系统运行的环境3开发流程1定义板级支持包(BSP)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成 阅读全文
posted @ 2014-02-07 22:20 Shimejing 阅读(374) 评论(0) 推荐(0) 编辑

摘要: 了解完kernel启动以前的汇编之后我们来看看正式的c语言启动代码,也就是我们的start_kernel函数了。start_kernel相当大,里面每一个调用到的函数都足够我们伤脑筋了,我这里只是浅尝辄止的描述一下函数的功能,从而对kernel启动的过程有一个比较直观的了解。很多函数真正理解需要对linux相关体系有很深的了解,暂时没有时间深入,留待以后了。 说实话启动的代码看到现在唯一的感觉就是kernel的全局变量实在太多了,要了解一个过程跟踪一个变量的值的变化相当痛苦啊,不过耐心看下来,收获还是比较丰富的,对很多概念都有了一个比较直观的理解。闲话就不多说了,直接来上代码~~ sm... 阅读全文
posted @ 2014-02-07 19:22 Shimejing 阅读(433) 评论(0) 推荐(0) 编辑

摘要: 虽然这里的Arm Linux kernel前面加上了Android,但实际上还是和普遍Arm linux kernel启动的过程一样的,这里只是结合一下Android的Makefile,讲一下bootimage生成的一个过程。这篇文档主要描述bootimage的构造,以及kernel真正执行前的解压过程。 在了解这些之前我们首先需要了解几个名词,这些名词定义在/Documentation/arm/Porting里面,这里首先提到其中的几个,其余几个会在后面kernel的执行过程中讲述: 1)ZTEXTADDR boot.img运行时候zImage的起始地址,即kernel解压代码的地址。这.. 阅读全文
posted @ 2014-02-07 19:19 Shimejing 阅读(425) 评论(0) 推荐(0) 编辑

2014年1月11日

摘要: 我们日常经常用到的电脑外设日益增多,如键盘、鼠标、耳机或音箱、U盘或移动硬盘、无线移动上网卡、显示器、笔记本电池、打印机、摄像头、数码相机、手机,还有无线路由器、宽带猫等,哪些可以热插拔,哪些必须关机后冷插拔呢? 什么是热拔插?简单地说就是在不关闭电源的情况下对某些部件进行插入(连接)或拔出(断开)的操作。现在电脑上绝大部分插头和插座,包括串口、并口等,都是不允许热拔插的,因为插入或拔出时会在瞬间产生一个较大的电流,导致烧毁某个配件... 那么都有那些插头是可以热拔插的呢?让我们先来看看自己的爱机上都有那些插头吧。机箱外部常见的有电源插座、键盘、鼠标、串口、并口、声卡上的各种插座(包括LIN. 阅读全文
posted @ 2014-01-11 01:24 Shimejing 阅读(4333) 评论(0) 推荐(0) 编辑

2014年1月10日

摘要: 一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、背景知识1. LCD工作的硬件需求: 要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的 形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。通 过LCD控制器就可以产生LCD驱动器所需要的控制信号来控制STN/TFT屏了。2. S3 阅读全文
posted @ 2014-01-10 00:00 Shimejing 阅读(744) 评论(0) 推荐(0) 编辑

2014年1月6日

摘要: 国外知名网站stackoverflow上有一个问题调查: 哪本书是对程序员最有影响、每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书《Code Complete》被顶了1306次。如果你是个程序员,你一定有兴趣看看这些书里你都看过几本,如果你一本没看过的话,我也不好说什么,也许你是个天才,但我相信大多数人都知道,你在学校里根本学不到什么真正的工作中需要的知识,我们毕业后能帮助我们在公司中胜任工作的老师就是这些优秀的书籍,一本好书可以改变一个人的一生。下面是这个调查中排名靠前的书的一个简单的清单:第1名:1. 阅读全文
posted @ 2014-01-06 02:35 Shimejing 阅读(187) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页