- 博客(9)
- 资源 (12)
- 收藏
- 关注
原创 volatile的作用
<br />例:<br />#define A (* (volatile unsigned long *) 0x48000000 )<br /><br /> 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的。如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实际对设备的控制,因为C语言并没有提供真正的“端口”的概念。如果是内存映射,那就方便的多了。<br /> 举个例子,比如像寄存器A(地址假定为0x48000000)写入数据0x01,那么就可以
2011-04-26 14:25:00 604 1
原创 串口设备驱动层次结构
<br />串口设备驱动层次结构<br /> <br />终端设备层:向上提供统一的接口,使用户不必关心具体的终端类型。<br />行规程 :指数据交换的“规矩”,比如流量控制,对输入的数据进行变换处理等。<br />串口抽象层:将各个串口的共性概括出来,是低层串口驱动的核心部分,比如设置串口类型,串口波特率等。<br />串口芯片层:向串口抽象层提供串口芯片所用的资源,比如访问地址,串口中断号等。对于标准串口,主要移植内容在芯片层。
2011-04-21 11:55:00 715
原创 字符设备驱动程序
<br />字符设备驱动程序<br />1.linux操作系统将所要的设备都看成文件,以操作文件的方式访问设备。应用程序只能通过系统调用函数来调用硬件驱动程序,而不能直接操作硬件。<br />2.系统调用函数在glibc库函数中定义。对于字符设备驱动程序,与系统调用函数对应的函数集合定义在file_operations类型的数据结构中。该结构在linux内核的inlclude/linux/fs.h中定义。<br />3.从某个角度说,编写字符设备驱动程序,就是为具体硬件的file_operations结构编
2011-04-21 10:27:00 437
原创 linux设备驱动的大致流程
linux设备驱动的大致流程:1.查看原理图,数据手册,了解设备的操作方法2.在内核中找到相近的驱动程序,以他为模板进行开发,有时需从零开始3.实现驱动程序的初始化及退出,如向内核注册和注销这个这个驱动程序(module_init(),module_exit())4.设计所要实现的操作,如open,close,read,write等函数5.实现中断服务,并不是每个驱动程序所必须的6.编译该驱动程序到内核,或动态加载到内核(如insmod,modprobe)7.编写代码测试驱动程序
2011-04-21 10:26:00 688
原创 linux进程间通信方式
<br />linux进程间通信方式<br />一、管道<br />无名管道:只能建立具有亲缘关系的进程之间<br />1.用pipe创建的管道两端处于一个进程中,由于管道主要应用于不同进程间通信的,因此在实际应用中没有多大意义。实际上,通常先创建一个管道,然后通过fork函数创建一个子进程,该子进程继承父进程所创建的管道,这样才能通过pipe管道进行通信。<br /> <br />2.用popen建立基于文件流的管道。<br /><br />有名管道:突破亲缘关系进程,可以使两个不相关的进程实现彼此通信。
2011-04-13 11:43:00 1876 1
原创 JFFS
JFFS Journalling Flash File System(闪存设备日志型文件系统,JFFS)最初是由瑞典的 Axis Communication AB 开发,其目的是作为嵌入式系统免受宕(dang)机和断电危害的文件系统。然而用于NAND设备上JFFS已被JFFS2大量取代。jffs2 JFFS2是JFFS的后继者,由Red Hat重新改写而成。JFFS2的全名为Journalling Flash File System Version 2(闪存日志型文件系统第2版),其功能
2011-04-12 14:18:00 774
原创 YAFFS文件系统简介
YAFFS文件系统简介YAFFS(Yet Another Flash Filing System)是第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备;并且是在GPL(General Public License)协议下发布的,可在其网站免费获得源代码。 YAFFS 是基于日志的文件系统,提供磨损平衡和掉电恢复的健壮性。它还为大容量的Flash 芯片做了很好的调整,针对启动时间和RAM 的使用做了优化。它适用于大容量的存储设备,已经在Linux 和WinCE 商业产品中使用。
2011-04-12 14:13:00 515
原创 cramfs文件系统的特性
cramfs文件系统的特性1 .cramfs的特点CRAMFS文件系统是专门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,文件系统类型可以是EXT2或EXT3.在嵌入式的环境之下,内存和外存资源都需要节约使用。如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先要把外存(Flash)上的映像文件解压缩到内存中,构造起RAMDISK环境,才可以开始运行程序。但是它也有很致命的弱点。在正常情况下,同样的代码不仅在外存中占据了空间(以压缩后的形式存在),而且还在内存中占用
2011-04-12 13:44:00 704
原创 ubuntu环境下基本开发工具
apt-get install tftp xinetd vsftpd vim /etc/vsftpd.conf #write_enable --> write_enableapt-get install sambaapt-get install openssh-serverapt-get install nfs-kernel-server portmap
2011-04-12 13:09:00 619
嵌入式Linux应用程序开发详解.rar
2011-03-09
UNIX环境高级编程
2011-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人