内核开发
窗外云天
这个作者很懒,什么都没留下…
展开
-
编写基于linux的lcd驱动
看lcd驱动好几天了,一直找不到突破点,感觉无从下手。今天看了一篇介绍lcd驱动编写的文章,写的很详细,对理解frambuffer以及lcd驱动很有帮助。但是英文的,多多少少有点不习惯,翻译下来留着以后复习的时候再看就方便了。编写基于linux的lcd驱动翻译 2011-09-19 18:27:55 · 4892 阅读 · 2 评论 -
Linux启动流程简介
一. 内核镜像Izmage被bootloader装载到内存中。zImage的入口代码是自引导程序。包含一些初始化代码。第一条指令在head.S文件中。解压内核,然后调用call_kernel启动vmlinux(解压后在正确位置上的内核)二. vmlinux开始部分的代码对应的文件也叫head.S.这个是体系结构相关的代码,进行页表的初级初始化后打开MMU,跳转到start_kernel函数中去原创 2012-09-13 17:01:49 · 2105 阅读 · 0 评论 -
解读PTR_ERR,ERR_PTR,IS_ERR
最近要找工作了,就把内核以及驱动的知识复习了一下。看到了几个宏PTR_ERR,ERR_PTR,IS_ERR(其实是内联函数).还是不太明白,然后就google搜索了一下,搜出来的结果真是不让人满意,看完一些解释我更迷糊了。看来还得依靠内核源码,依靠对内核的理解自己弄明白了。大致看了一下这几个宏的定义还有在内核的用法,恍然大悟。原来这几个宏这么简单,原理也这么简单。下面就说一下这几个宏的由来与用处。原创 2012-09-11 15:53:21 · 14839 阅读 · 4 评论 -
基于mini2440的Linux内存布局分析
基于mini2440的Linux内存布局分析 在学习linux内存寻址的过程中,注意到在x86架构上,分段与分页机制共存。而在RSIC体系结构下一般只支持分页。《深入理解linux内核》是在x86架构上介绍的linux物理内存布局。在x86架构上,linux被安装在ram从物理地址的0x00100000也就是第二个1M的地方。内核态的线性地址:0xc0000000~0xfffff原创 2012-05-06 22:41:29 · 4152 阅读 · 1 评论 -
linux内核学习笔记:中断的下半部分
linux内核学习笔记:中断的下半部分 因为中断的处理过程中,同种类型的中断是被禁止的。并且中断处理应该越短越好,这样才能减少丢失的中断。所以linux将中断处理分为两部分。关键紧急的事情在中断上下文处理,不紧急或者花费时间较多的事情在所谓的下半部分中执行。中断的下半部分是一种内核机制,它运行的时候允许中断的产生,可以分为软中断与工作队列。软中断又包含:tasklet 与内核定时原创 2012-03-26 10:38:08 · 2389 阅读 · 0 评论 -
linux内核学习笔记:中断与异常
linux内核学习笔记:中断与异常 中断分为同步中断与异步中断。同步中断也叫异常是CPU执行特定的指令产生的事件,他打断CPU正常执行的指令而执行设定好的指令。异步中断也叫中断是由CPU外部中断信号产生的,每个CPU都有一个或多个中断引脚,当引脚上出现中断中断信号的时候,CPU就会停止执行当前的指令而去执行特定的代码。在linux中,中断处理至关重要,它影响着整个系统的性能。中断原创 2012-03-02 22:50:43 · 2447 阅读 · 0 评论 -
linux内核学习笔记:内存寻址
linux内核学习笔记:内存寻址 内存地址分为三种:逻辑地址,线性地址,物理地址。在分段的CPU结构中,程序中引用的地址都是逻辑地址,逻辑地址经过分段单元成为线性地址。然后经过分页单元成为物理地址,物理地址就是硬件电路寻址的实际地址。如果CPU体系结构不支持分段,那么逻辑地址等于物理地址。一般RSIC指令的CPU都不支持分段,如arm。复杂指令的CPU支持分段,如x86。原创 2012-02-20 16:41:13 · 3063 阅读 · 0 评论 -
linux内核学习笔记:进程
linux内核学习笔记:进程 进程是多道程序设计的操作系统的基本概念。进程是程序运行的实体。他是描述程序已经执行到了何种程度的数据结构的汇集,也是操作系统分配系统资源(cpu时间,内存,磁盘)的实例。一. 进程描述符 进程是比较抽象的概念,linux下描述进程的数据结构为进程描述符。进程描述符代表了一个进程所有的数据结构,文件,以及运行上下文。进程描述符是原创 2012-02-23 15:14:13 · 1597 阅读 · 0 评论 -
Linux内核学习笔记:内核同步
linux内核中运行的程序,时刻都要防止并发引起的竞态。这将会导致数据结构被破话,严重的时候会引起内核崩溃。所以内核同步技术对内核开发的驱动程序来说非常重要。不懂内核同步技术的人,是写不出安全健壮的内核驱动程序来的。在学习内核同步技术之前需要掌握一下几个概念。 1 并行,并发与竞态:在SMP运行的linux内核是真正的并行运行程序,多个CPU可以同时访问同一数据结构,而在单处理器原创 2011-12-31 11:42:04 · 2084 阅读 · 0 评论 -
Linux内核学习笔记:前言
Linux内核学习笔记:前言 虽然学了很多驱动方面的知识,也看过了《linux内核设计与实现》,对linux内核有了一个大体的了解。但总觉得有些概念还是很模糊,比如内存管理中的地址空间问题,还有自旋锁的问题。我想毕竟《linux内核设计与实现》只是对linux内核做了一个大概的介绍,具体的知识没有细讲,如果想了解大概那么书中的内容就足够了,如果想深入下去那么还得找其他的书来读。《原创 2011-12-28 15:20:24 · 1836 阅读 · 0 评论 -
linux 实时时钟(RTC)驱动
这个是linux内核文档关于rtc实时时钟部分的说明,此文档主要描述了rtc实时时钟的作用和编程接口,分别介绍了老的rtc接口和新的rtc类架构。并给出了一个测试rtc驱动的程序。 linux 实时时钟(RTC)驱动翻译 2011-09-25 19:06:46 · 25340 阅读 · 4 评论 -
帧缓冲设备(framebuffer)
帧缓冲设备(framebuffer.txt译文)维护: Geert Uytterhoeven 最后校正: May 10, 2001翻译:good02xaut@hotmail.com0. 介绍帧缓冲设备提供了显卡的抽象描述。他同时代表了显卡上的显存,应用翻译 2011-09-18 16:36:34 · 3858 阅读 · 0 评论