自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (5)
  • 收藏
  • 关注

原创 怎样写 Linux LCD 驱动程序

本文分析了frame buffer 设备驱动的主要数据结构,在此基础上介绍了LCD驱动程序的开发。基本原理通过 framebuffer ,应用程序用 mmap 把显存映射到应用程序虚拟地址空间,将要显示的数据写入这个内存空间就可以在屏幕上显示出来; 驱动程序分配系统内存作为显存;实现 file_operations 结构中的接口,为应用程序服务;实现 fb_ops 结构中的接口,控制和操作 LDC 控制器; 驱动程序将显存的起始地址和长度传给 LCD 控制器的寄存器 (一般由 fb_set_var 完成)

2011-04-25 16:12:00 321

原创 串口程序设计——struct termios结构体

http://linux.die.net/man/3/termiostermios 函数族提供了一个常规的终端接口,用于控制非同步通信端口。 这个结构包含了至少下列成员: <br />tcflag_t c_iflag;      /* 输入模式 */<br />tcflag_t c_oflag;      /* 输出模式 */<br />tcflag_t c_cflag;      /* 控制模式 */<br />tcflag_t c_lflag;      /* 本地模式 */<br />cc_t c_c

2011-04-20 15:14:00 372

原创 linux 管道创建进程

popen编辑本段Linux C  进程I/O函数,与pclose函数一起使用。表头文件  #include <stdio.h>函数定义  FILE * popen ( const char * command , const char * type );   int pclose ( FILE * stream );函数说明  popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程。这个进程必须由 pclose()

2011-03-07 20:37:00 860

原创 Linux下和编译器相关的命令

<br />gcc、g++:代码编译命令,具体使用方法结合Makefile<br /> <br />ar命令:编译文件打包命令(压缩)<br /> <br />gprof命令:打印出程序运行中各个函数消耗的时间,可以帮助程序员找出众多函数中耗时最多的函数。产生程序运行时候的函数调用关系,包括调用次数,可以帮助程序员分析程序的运行流程<br /> <br />objdump命令:阅读二进制文件带有的附加信息<br /> <br />nm命令:列出目标文件的符号清单<br /> <br />ld命令:追加链接库

2011-03-07 20:06:00 465

原创 POLL函数描述

Poll函数简介<br />Unix/Linux2007-11-21 23:20:51阅读300评论0  字号:大中小 订阅<br />poll()函数:这个函数是某些Unix系统提供的用于执行与select()函数同等功能的函数,下面是这个函数的声明:<br />#include <poll.h><br />int poll(struct pollfd fds[], nfds_t nfds, int timeout);<br />参数说明:<br />fds:是一个struct pollfd结构类型的数组

2011-03-07 17:12:00 527

原创 鱼还是熊掌:浅谈多进程多线程的选择

<br />关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个好。我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因此都是相对的,不是说一个

2010-12-17 11:53:00 230

原创 基于Linux的复杂网络模块构建

<br />    经过3个星期的磨练,今天我的网络层模块基本构建完成了,现在在4台虚拟的测试中,脑袋都麻了<br /> <br />网络模块主要实现一个对等网络通信的构建,其中有UDP传输底层,数据缓冲层、数据路由层、协议层和应用层 5层构架<br /> <br />UDP传输底层主要完成底层物理链路的构建和底层可靠连接的链路协议,主要指Seq和ACK两部分<br /> <br />数据缓冲层只要是对大量数据涌入网络模块后对所有数据按照优先级进行排序,并且对路由层进行底层维护<br /> <br />数据

2010-12-02 10:35:00 378

转载 Linux 2.6 内核下字符设备驱动编写(转)

<br /> <br />什么是字符设备?我也搞不清楚,哈哈,快要毕业了,速成的结果。目前我弄明白的是:字符设备是以字节为单位来读写的,与字符设备相对应的,块设备是以块为单位来读写的。例如我在总线上扩展的FPGA,它的控制字映射到总线上,每次读写一个字(16位)。<br />在Linux下和无操作系统情况下,对总线上地址的访问是不同的,Linux提供的内存虚拟内存机制使用户程序无法直接接触到物理内存——这就需要驱动程序这个桥梁。我们先从用户的角度出发,看看怎么使用设备。做人要厚道,下面这段文字来自友善之臂的

2010-10-25 16:16:00 471

原创 Linux 2.4模块编译实例

<br />//file:hello_module.c<br />#define MODULE<br />#include <br /><br />int init_module(void)<br />{<br />     printk("Hello, world/n");<br />    return 0;<br />}<br /><br />void cleanup_module(void)<br />{<br />     printk("Goodbye cruel world/n");<br /

2010-10-25 16:03:00 344

原创 linux 模块编译

Linux 2.4和2.6内核模块编译的差别(2006-02-25 22:31:40)转载 从2.4到2.6,外部可装载内核模块的编译、连接过程以及Makefile的书写都发生了改变<br />2.4内核中,模块的编译只需内核源码头文件;需要在包含linux/modules.h之前定义MODULE;编译、连接后生成的内核模块后缀为.o。<br />2.6内核中,模块的编译需要配置过的内核源码;编译、连接后生成的内核模块后缀为.ko;编译过程首先会到内核源码目录下,读取顶层的Makefile文件,然后再返回模

2010-10-25 16:02:00 580

原创 关于Linux下动态链接库的构建

大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library)。这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部分,而是根据执行程序需要按需装入,同时其执行代码可在多个执行程序间共享,节省了空间,提高了效率,具备很高的灵活性,得到越来越多程序员和用户的青睐。那么,在LINUX系统中有无这样的函数库呢?  答案是

2010-04-20 21:40:00 310

原创 我的技术生涯

今天被一堆麻烦的事情围绕,做项目也好几年了,今天开始来写我的博客,记下技术上遇到的点点滴滴吧

2010-04-20 21:33:00 238

QT环境搭建和QT教程

手把手教我们搭建QT开发环境 手把手教我们使用QT

2011-03-07

C语言代码规范(代码风格)

C语言代码规范(代码风格) 非常好的培训材料,望大家喜欢

2011-03-07

最新软件设计师教程详解

软件设计师教程软件设计师教程软件设计师教程软件设计师教程软件设计师教程

2009-05-15

VC Socket客户端和服务器工具 源码

基于VC Socket的客户端和服务端网络聊天工具,附带源码

2008-08-27

TCP/IP协议C语言源码

TCP/IP单线程操作系统源码 加上网卡驱动就可以用了

2008-08-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除