随笔分类 -  Linux

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
Linux 应用编程、驱动编程、内核知识、读书笔记
摘要:更多文档:http://pan.baidu.com/s/1sjzzlDFlinux poll/select用法及在字符驱动中的简单实现 1.poll和select 使用非阻塞I/O 的应用程序常常使用poll, select, 和epoll 系统调用. poll, select 和epoll 本质上有相同的功能: 每个都允许一个进程来决定它是否可读或者可写一个或多个文件而不阻塞。 这些调用也可阻塞进程直到任何一个给定集合的文件描述符可用来读或写。因此, 它们常常用在必须使用多输入输出流的应用程序, 而不必粘连在它们任何一个上。相同的功能常常由多个函数提供, 因为2 个是由不同的团队在几乎相同时 阅读全文
posted @ 2014-04-02 09:57 摩斯电码 阅读(588) 评论(0) 推荐(0) 编辑
摘要:1、http://pan.baidu.com/s/1dDrGeKL2、http://wenku.baidu.com/link?url=qPa_jfkEZCbERnwMYWLwm9EZJ_ebMRJAWifPrQVPDEZuXTpu22epmNDQ1dkL3y0HDTgFPflEgWy4Q_XthkZG4NhSjF_akUS9yFa3RNQ0dD_ 阅读全文
posted @ 2014-03-30 16:55 摩斯电码 阅读(178) 评论(0) 推荐(0) 编辑
摘要:简介:为保持 Linux 内核的稳定与可持续发展,内核在发展过程中引进了可装载模块这一特性。内核可装载模块就是可在内核运行时加载到内核的一组代码。通常 , 我们会在两个版本不同的内核上装载同一模块失败,即使是在两个相邻的补丁级(Patch Level)版本上。这是因为内核在引入可装载模块的同时,对模块采取了版本信息校验。这是一个与模块代码无关,却与内核相连的机制。该校验机制保证了内 核装载的模块是用户认可的,且安全的。本文将从内核模块发布者的角度思考模块版本检查机制,并从开发者与授权 root 用户的角度去使用及理解该机制。http://pan.baidu.com/s/1ntFguLj 阅读全文
posted @ 2014-03-30 16:50 摩斯电码 阅读(211) 评论(0) 推荐(0) 编辑
摘要:转载:http://blog.163.com/libo_5/blog/static/156968520101016102051580/http://hi.baidu.com/wg_wang/item/f9375c2f00ca75c0ee10f1dbdebian内核编译1、到www.kernel.org/pub/liunux/kernel所需要编译的内核源代码2、安装必要的包,其中kernel-package是debian用以编译内核的工具;fakeroot是一个在系统中创建假root的工具;为dpkg在编译内核中所需udev是管理/dev和hotplug的守护进程;build-essentia 阅读全文
posted @ 2014-03-30 16:14 摩斯电码 阅读(888) 评论(0) 推荐(0) 编辑
摘要:转载:http://blog.lmtw.com/b/18215/archives/2010/71074.htmldepmod(depend module)功能说明:分析可载入模块的相依性。语 法: depmod [-b basedir] [-e] [-F System.map] [-n] [-v] [version] [-A] depmod [-e] [-FSystem.map] [-n] [-v] [version] [filename ...]补充说明:depmod可检测模块的相依性,供modprobe在安装模块时使用。参 数: -a或--all 分析所有可用的模块。 -b 如果你的模.. 阅读全文
posted @ 2014-03-30 16:09 摩斯电码 阅读(2053) 评论(0) 推荐(0) 编辑
摘要:参考:《鸟哥的Linux私房菜》第26章http://hi.baidu.com/wg_wang/item/f9375c2f00ca75c0ee10f1dbhttp://www.linuxdiyf.com/bbs/thread-193762-1-1.html环境:Wind7主机+Debian6虚拟机,虚拟机软件是VirtualBox第一步、下载Linux源码首先需要看一下当前Linux使用的版本pengdl@debian:~$ uname -r2.6.32-5-686可以看到,当前使用的Linux内核版本是:2.6.32.5为了说明问题,我们也从网上下载linux-2.6.32.5(当然也可以下 阅读全文
posted @ 2014-03-30 16:05 摩斯电码 阅读(1992) 评论(0) 推荐(0) 编辑
摘要:转载:http://blog.csdn.net/mayouyang/article/details/3997849在进行内核编译时,需要进行制作initrd.img.在Fedora下面一般是用mkinitrd,而在Ubuntu/Debian下是用mkintramfs.它们的用法稍微有些不一样,如下所示:mkinitrd /boot/initrd.img 2.6.26mkintramfs 2.6.26 -o /boot/initrd.img其中2.6.26为/lib/modules下的目录名称. 阅读全文
posted @ 2014-03-30 14:16 摩斯电码 阅读(1683) 评论(0) 推荐(0) 编辑
摘要:参考资料:《ARM体系结构与编程》《嵌入式Linux应用开发完全手册》Linux_Memory_Address_Mappinghttp://www.chinaunix.net/old_jh/4/1021226.html更多文档参见:http://pan.baidu.com/s/1mg3DbHQ本文针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入start_kernel()函数. 我们当前以linux-2.6.19内核版本作为范例来分析,本文中所有的代码,前面都会加上行号以便于和源码进行对照, 例: 在文件init/main.c中: ... 阅读全文
posted @ 2014-03-29 16:45 摩斯电码 阅读(8042) 评论(1) 推荐(3) 编辑
摘要:转载:http://7090376.blog.51cto.com/7080376/1264642GNU风格 ARM汇编语法指南(非常详细)汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作 ARM的协处理器等。这些初始化工作完成后就可以跳转到C代码main函数中执行。1、GNU汇编语言语句格式任何Linux汇编行都是如下结构:[:][} @commentlinstruction为指令ldirective为伪操作lpseudo-instruction为伪指令l:为标号, GNU汇编中,任何以冒号结尾的标识符都被认为是一个标号,而不一定非要在一行的开始。lcomment为语句的注 阅读全文
posted @ 2014-03-29 12:23 摩斯电码 阅读(916) 评论(0) 推荐(0) 编辑
摘要:转载:***************************************************************************************************************************作者:EasyWave 时间:2012.02.18类别:linux驱动开发 声明:转载,请保留链接************************************************... 阅读全文
posted @ 2014-03-28 19:44 摩斯电码 阅读(580) 评论(0) 推荐(0) 编辑
摘要:转载:http://blog.csdn.net/wavemcu/article/details/7270439***************************************************************************************************************************作者:EasyWave 时间:2012.02.18类别:linux驱动开发 声明:转载,请... 阅读全文
posted @ 2014-03-28 19:40 摩斯电码 阅读(706) 评论(0) 推荐(0) 编辑
摘要:http://pan.baidu.com/s/1sjCqohv 阅读全文
posted @ 2014-03-25 18:32 摩斯电码 阅读(429) 评论(0) 推荐(0) 编辑
摘要:转载:http://blog.chinaunix.net/uid-20754793-id-177774.html今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。bi... 阅读全文
posted @ 2014-03-21 11:21 摩斯电码 阅读(5130) 评论(0) 推荐(2) 编辑
摘要:用到的知识:select poll poll_wait 异步通知 自旋锁 等待队列 中断http://pan.baidu.com/s/1o6I1QCq 阅读全文
posted @ 2014-03-18 19:54 摩斯电码 阅读(234) 评论(0) 推荐(0) 编辑
摘要:内核链表使用--删除链表节点 分类: linux内核 2011-04-06 14:28 434人阅读 评论(0) 收藏 举报listmoduleceachdeletestruct内核链表使用--删除链表节点当我们使用遍历的方法来删除链表时:list_for_each(pos, &student_list){list_del(pos); }list_for_each(pos, head)这个宏定义是用来遍历链表的,通过其第一个参数pos来删除链表节点,但是,运行后就会出现以下错误:Unable to handle kernel paging request at virtual addr 阅读全文
posted @ 2014-03-06 10:02 摩斯电码 阅读(1130) 评论(0) 推荐(0) 编辑
摘要:转载:http://www.cnblogs.com/wang_yb/p/3532349.html总结linux内核开发的coding style, 便于以后写代码时参考.下面只是罗列一些规则, 具体说明可以参考: 内核源码(Documentation/CodingStyle)01 - 缩进缩进用 Tab, 并且Tab的宽度为8个字符swich 和 case对齐, 不用缩进switch (suffix) {case 'G':case 'g': mem * / % | & ^ = == != ? :下面的一元操作符后面 *不要* 留空格& * + - 阅读全文
posted @ 2014-03-01 23:11 摩斯电码 阅读(452) 评论(0) 推荐(1) 编辑
摘要:转载:http://www.cnblogs.com/wang_yb/p/3575039.htmlSparse是内核代码静态分析工具, 能够帮助我们找出代码中的隐患.主要内容:Sparse 介绍Sparse 使用方法Sparse 在编译内核中的使用补充1. Sparse 介绍Sparse 诞生于 2004 年, 是由linux之父开发的, 目的就是提供一个静态检查代码的工具, 从而减少linux内核的隐患.其实在Sparse之前, 已经有了一个不错的代码静态检查工具("SWAT"), 只不过这个工具不是免费软件, 使用上有一些限制.所以 linus 还是自己开发了一个静态检查 阅读全文
posted @ 2014-03-01 23:10 摩斯电码 阅读(379) 评论(0) 推荐(0) 编辑
摘要:转载:http://www.ibm.com/developerworks/cn/linux/l-btloader/index.html 1. 引言 在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loa... 阅读全文
posted @ 2014-03-01 22:06 摩斯电码 阅读(295) 评论(0) 推荐(0) 编辑
摘要:转载:http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/ 一、 链表数据结构简介 链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据... 阅读全文
posted @ 2014-03-01 21:59 摩斯电码 阅读(342) 评论(0) 推荐(0) 编辑
摘要:转载:http://www.cnblogs.com/jason-lu/articles/3195473.html 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC 和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用... 阅读全文
posted @ 2014-03-01 21:42 摩斯电码 阅读(15971) 评论(0) 推荐(0) 编辑

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