Ivan@_Drive专栏
爱奇途
梦有多远,心就走多远;心有多大,舞台就有多大;
展开
-
Linux之设备驱动学习简过程<一>
为了记录学习驱动过程,自己简单的做了笔记。某年某月,当自己成为驱动高手的时候,我再回过头看看自己当时的想法。。。应该这种感觉是妙不可言的 So,come on!Everyday is nice! 关于基础1.tar 可以用来备份关键数据,而 dd 则可以用来备份整颗 partition 或 整颗 disk2.vim区块选择(Visual Block)的功能3.set 这个指令原创 2011-11-09 08:50:46 · 1625 阅读 · 2 评论 -
Linux之设备驱动学习简过程<二>
简单字符驱动和高级字符驱动实现知识概览。。。学习驱动真累,看了这么多资料,,,还是头绪飘渺,,,但是我还是相信学习的过程是曲折的,坚持就是胜利。So,come on! I like linux ,as like life!1.内核模块编译进内核:主要修改 Kconfig/Makefile2.设备号作用.主设备号:用来反映设备类型.次设备号:区分同类型的设备3.主次设备号实现原创 2011-11-10 09:59:33 · 1129 阅读 · 0 评论 -
linux驱动必备硬件知识--ARM笔记<一>
**了解ARM采用 RISC 架构的 ARM 微处理器一般具有如下特点:1 、体积小、低功耗、低成本、高性能;2 、支持 Thumb ( 16 位) /ARM ( 32 位)双指令集,能很好的兼容 8 位 /16 位器件;3 、大量使用寄存器,指令执行速度更快;4 、大多数数据操作都在寄存器中完成;5 、寻址方式灵活简单,执行效率高;6 、指令长度固定; **了原创 2011-11-18 10:38:14 · 1619 阅读 · 0 评论 -
Linux之设备驱动学习简过程<五>
一些东西一般要先学理论,再实践。但是感觉驱动这东西,要理论加实践才会更有感觉,可惜我现在还在实践边缘挣扎着。。。In short,I have to study hard,and morepractice.1.Sysfs*Sysfs把连接在系统上的设备和总线组织成分级的文件使其从用户空间可以访问到。(/proc)/sys/目录底下:Block/Bus(devices/d原创 2011-11-16 08:45:35 · 1086 阅读 · 0 评论 -
Linux之设备驱动学习简过程<三>(不断添加中)
为了学好字符设备驱动,一些相关结构不得不了解。。。于是,通过Source Insight打开内核。。。我浏览到了驱动重要的相关结构*用户跟驱动关系:用户空间的read、write等--->linux系统调用--->间接调用设备驱动程序中file_operations结构中的函数(看个例子理解下)1.struct file_operations学驱动必须了解的结构 struct f原创 2011-11-11 15:38:07 · 1291 阅读 · 0 评论 -
linux驱动编程实践之LED驱动
开发板:TQ2440内核:2.6.30.4-EmbedSky实现目标:控制led开关,并当前读取状态-------驱动实现 mini2440_leds.c-------#include #include #include #include #include #include #include #include #include #include原创 2011-11-16 12:48:19 · 1310 阅读 · 0 评论 -
Linux之设备驱动学习简过程<四>
不知道学东西是不是对所有的基础知识都要掌握一步步看了这么多驱动资料,现在要跟实际硬件挂钩了,自己心里对能不能学好驱动一点都没底了不知道你有没有掌握硬件知识,反正我就没掌握硬件知识但是想学底层,哥还是想拼下。。。慢慢啃了。。1.mmap系统调用映射:--void* mmap(void *addr,size_t len,int prot,int flags,int fd, of原创 2011-11-14 11:36:59 · 1063 阅读 · 0 评论 -
linux之设备驱动----简单hello world模块(2)
移植hello world 模块到TQ2440开发板1.准备内核,TQ2440开发板自带的linux-2.6.30.4_20100531.tar.bz2。2.放到自己新建的目录/opt/guoqian/下,tar -jxvf linux-2.6.30.4_20100531.tar.bz23.进入解压的内核目录底下,执行make distclean.4.利用TQ2440自带的配置,执原创 2011-11-07 17:07:06 · 1174 阅读 · 0 评论 -
linux之设备驱动----简单hello world模块(1)
直接利用宿主机的内核编译hello world 模块1.选择一个工作目录,我选择/opt/guoqian/hellomod;mkdir -p /opt/guoqian/hellomod 2.然后用vim编辑hello.c,代码如下:#include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_in原创 2011-10-17 15:54:06 · 1072 阅读 · 0 评论