Linux
chuanshaoke
这个作者很懒,什么都没留下…
展开
-
嵌入式Linux学习1——Linux相关命令介绍
嵌入式Linux学习1——Linux相关命令介绍 刚刚 开始研究 嵌入式Linux 感觉 比较难 接下来的日子里 我会与大家 一起分享我的学习成果 也作为我的学习笔记吧“学习贵在坚持,别畏难”首先是 Linux 的基础Linux 的特点:1.免费 开源2.可移植性,设备平台无关性3.强大的网络功能4.POSIX(可移植操作系统接口)标准5.多任务转载 2012-03-20 15:32:29 · 531 阅读 · 0 评论 -
Linux驱动编程 step-by-step (五)主要的文件操作方法实现
主要的文件操作方法实现文件操作函数有很多的操作接口,驱动编程需要实现这些接口,在用户编程时候系统调用时候会调用到这些操作[cpp] view plaincopyprint?struct file_operations { ... loff_t (*llseek) (struct file *, loff_t, int); ssize转载 2012-03-21 10:17:13 · 354 阅读 · 0 评论 -
Linux驱动编程 step-by-step (二) 简单字符设备驱动
简单字符设备驱动1、主次设备号主设备号标识设备连接的的驱动,此设备好由内核使用,标识在相应驱动下得对应的设备在linux中设备号是一个32位的dev_t类型typedef __u32 __kernel_dev_t;typedef __kernel_dev_t dev_t;crw------- 1 root root 10, 1 Apr 11转载 2012-03-21 10:12:03 · 418 阅读 · 0 评论 -
Linux驱动编程 step-by-step (三) 字符设备中 重要的数据结构
字符设备中 重要的数据结构大部分字符驱动设计三个重要的数据结构struct file_operationsstruct filestruct inode 一、文件操作 在之前的一篇文章中已经有介绍了如何去生情字符设备设备号,但是没有做任何的工作,也就只能写一个不能工作的字符设备;struct file_operations 结构域用来转载 2012-03-21 10:13:19 · 436 阅读 · 0 评论 -
linux 驱动编程
http://blog.csdn.net/lzgamg/article/details/749777 驱动 目 录驱动I/O端口from smth基本结构驱动程序具体实现PCIloopbackSis 900ISA总线DMA的实现驱动 Linux系统支持三种类型的硬件设备:字符设备、块设转载 2012-03-21 10:33:19 · 710 阅读 · 0 评论 -
Linux驱动编程 step-by-step (一)驱动程序的作用
http://blog.csdn.net/jshazk1989?viewmode=contents第三次看了LDD3了(虽然现在已经是kernel3.0但从这本书商还是能学到很多) 每次都有一些收获 现在终于能够些一些代码了驱动程序的作用:简单来说 驱动程序就是使计算机与设备通信的特殊的代码,在作单片机时候(无OS)我们自己定义接口及自定义的结构来操作相关硬件,而在有OS的转载 2012-03-21 10:11:02 · 422 阅读 · 0 评论 -
Linux驱动编程 step-by-step (十) Linux 内核链表
终于可以清闲下来打理一下我的blog了,台资企业真的事情很多很烦……前几篇文章对字符设备有个简单介绍,并以简单的一个字符设备驱动作结尾,其实linux上大部分驱动程序都是字符设备程序,Linux源码中也可以看到很多的字符设备驱动,所以供学习的代码还是很多的。这一节本想说一下如何测试设备驱动,但是因为最近看了看内核链标,所以称还记的比较清楚赶紧记录下来。有不到位的地方烦请指正。Lin转载 2012-03-21 10:31:09 · 288 阅读 · 0 评论 -
Linux驱动编程 step-by-step (九)字符设备模拟pipe的驱动程序
字符设备模拟pipe的驱动程序让我们用一个”pipe“的设备驱动去结束简单字符设备吧(这里所说的pipe并非标准的pipe只是模拟了一个从一端写入从另一端写入的设备)测试代码1 测试代码2设计思路用一个图来说明(可是画了很久哟)简单说来就是一个进程写入缓冲区,另一个进程可以读出,读出后原buffer中的数据被置为无效值,自定义一个结构[cpp]转载 2012-03-21 10:25:15 · 378 阅读 · 0 评论 -
Linux驱动编程 step-by-step (八) 阻塞型字符设备驱动
阻塞型字符设备驱动前面说到了 如何实现read write 等操作,但如果设备缓冲已满,现在想而用户此时又想写入设备,此请求就无法立即执行,那怎么办呢?第一种情况是:驱动程序想用户返回请求失败的信息。第二种情况是:使调用进程阻塞等待设备可以被操作。而用户更希望自己选择在请求无法满足时候如何操作,所以在用户空间有了O_NONBLOCK标志在打开设备的时候如果用户指定了此标志(转载 2012-03-21 10:24:02 · 314 阅读 · 0 评论 -
Linux驱动编程 step-by-step (七) 并发 竞态 (信号量与自旋锁)
并发 竞态 (信号量与自旋锁)代码传至并发竞态控制并发进程 导致竞态的一个例子前面所述的字符驱动都是没有考虑并发竟态的情况,想象一下一个进程去读一个字符设备,另一个进程在同一时间向这个设备写入(完全有这种情况)原来设备中存有 A B C D 要想设备写入1 2 3 4 每次读写一个字节t1t2t3t4t5t6t7t8转载 2012-03-21 10:22:56 · 373 阅读 · 0 评论 -
Linux驱动编程 step-by-step (六) 用户地址检测 简单模块调试 以及一些杂项
说点上节没有讲完的话题用户地址检测 简单模块调试 以及一些杂项检测用户空间地址的有效性上一节中提到在read write时候要检测用户空间传递的参数地址是否是有效地址,有的内核函数会自行检测,但是在调用轻量级的内核函数时候,就可能不去检测用户空间的地址是否有效,如果此时用户无传递一个无效地址,而内核函数去操作了它,这时棘手的问题出现了,轻则内核oops 关机重启就OK了,在特别严重转载 2012-03-21 10:19:46 · 322 阅读 · 0 评论 -
Linux驱动编程 step-by-step (四) 字符设备的注册与设备节点的自动创建
似乎每一章介绍的内容比较少,但学习是一个循序渐进的过程,不在于一天学多少,重要的一天能真正的学懂多少,所以我主张一步一步来,从多个渠道去学习知识,实现互补。本节测试代码传到此处了:char_step1 大家可以下载测试一下。字符设备的注册与设备节点的自动创建cdev 结构内核内部使用struct cdev来表示一个字符设备struct cdev { struc转载 2012-03-21 10:15:51 · 1005 阅读 · 0 评论 -
嵌入式Linux学习建议(上中下)
经常在网上看到不少人询问应如何学习嵌入式Linux。这确实是个非常困扰初学者的问题:一个新手面对着琳琅满目的开发板、各种各样的参考书和社会上五花八门的培训机构,照单全收吗?自己的精力和时间是绝对不够分配的。挑一个吧:自己又全无经验,而嵌入式Linux的学习又同时涉及硬件、软件等多方面的知识;万一选择不当,事倍功半还是好的;运气不好的话,搭上大量时间和精力辛辛苦苦学习半天最后还是一无所成,想想也是很转载 2012-03-20 15:40:13 · 808 阅读 · 0 评论 -
如何学习嵌入式
一、嵌入式系统的概念着重理解“嵌入”的概念主要从三个方面上来理解。& nbsp1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有 PC机有显卡,转载 2012-04-19 11:03:10 · 459 阅读 · 0 评论