一片冰心在玉壶

那时我们有梦,关于文学,关于爱情,关于穿越世界的旅行, 如今我们深夜饮酒,杯子碰到一起,都是梦破碎的声音. 交往都是初逢,爱情都在心里,往事都在梦中, 希望都带着注释,信仰都带着呻吟. 总有善意的光逃避现世的繁琐而寻找片刻的安宁, 也许,就是你凝视这里的眼睛

博客园 首页 联系 订阅 管理

文章分类 -  LINUX驱动

内核
摘要:折腾好久,今天受一个帖子启发,终于在MINIGUI中感受都触摸的踪迹啦!这个帖子不错,http://bbs.csdn.net/topics/340202810,强烈推荐!我们的触摸屏控制器是USB的,台湾EETI产品,用他们提供的驱动,一直没搞出来,今天用网上这个帖子的方法,看到触摸了!我用的是linux-2.6.30\drivers\input\touchscreen的代码,一看里面的ID与我的USBID号一样的,才发现LINUX本身提供的USB触摸屏控制器驱动是支持EETI产品的。代码一点没动,直接把该模块加进去就OK,然后运行MINIGUI,触摸有反应,下一步就是校正了! 阅读全文
posted @ 2012-11-21 13:03 Sankye 阅读(715) 评论(0) 推荐(0)

摘要:===简单回答 ===MiniGUI里面支持屏幕校正,用户只需调用一个接口:SetMouseCalibrationParameters( const POINT * src_pts, const POINT * dst_pts ),注意:在线程版,本接口在应用程序端调用, 而进程版在服务器程序端调用。 ===详细回答===校正原理:当MiniGUI的输入设备为触摸屏设备时,从设备中读出的坐标值和实际点击的坐标 遵循 y=ax+b 关系式 (a、b 为系数, x为从设备中读出的坐标数据,y为实际的屏幕坐标)所以得到那两个系数就可以正确的校正鼠标, Minigui里用一个函数接口就可以完成这些步骤 阅读全文
posted @ 2012-11-21 12:57 Sankye 阅读(600) 评论(0) 推荐(0)

摘要:STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录/dev /etc /lib /usr /var /proc /tmp /home /root /mnt /bin /sbin /sys #mkdir /home/rootfs#cd /home/rootfs #mkdir dev etc lib usr var proc tmp home root mnt sys STEP 2: 使用busybox构建/bin /sbin linuxrc 进入busybox-1.16.1目录,执行 #make defconfig #make menuconfig Busybox Se... 阅读全文
posted @ 2011-12-30 14:29 Sankye 阅读(5329) 评论(0) 推荐(0)

摘要:建议将本文全部看完之后再开始编译内核,不要一开始就着这步骤来,因为在里面会有一些需要修改的地方,而且编译内核时用的时间比较长,所以如果出错 之后再改再编译会浪费比较多的时间,在配置时注意FileSystem项的配置。还有在编译的时候会有很多的警告,基本上都是某变量定义了,但是未使用。 这些变量是linux内核为以后的扩展留下来的,不用在意。编译内核的步骤:1.在kernel.org的网站上下载源码http://www.kernel.org/pub/linux/kernel/v2.62.将下载的源码放在/usr/src目录下,解压。我下载的是2.6.32.27.tar.bz2的源码。3.进入2. 阅读全文
posted @ 2011-12-28 11:30 Sankye 阅读(3570) 评论(0) 推荐(0)

摘要:最近刚上的项目,一光学仪器。用的终端是海洋光学的USB2000+光谱仪。他提供的只有PC上的驱动及开发包。WINCE下的还要收费。400刀!美国的JB公司太JB黑了!我打电话向他们要了个DATASHEET。一看才发现它可通过串口,I2C ,SPI接口来通讯。试了下串口,很多指令不对。没办法只得找他们。给我发一份串口操作的WORD文档。。。试了后感觉有点慢,1S才可以读一次数据,而且操作繁琐!看他说明里有USB协议。雨似乎,就想在LINUX下实现它。 由于本人对LINUX下的USB没搞过,以前也只搞个CE下的USB鼠标,感觉无从下手。看了看内核的代码,谷哥了下。发现drivers/usb/us. 阅读全文
posted @ 2011-12-16 17:14 Sankye 阅读(2397) 评论(0) 推荐(0)

摘要:随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用,成为困扰我们的一大问题。本文由CSDN 特别约稿,作者为北京中科红旗软件技术有限公司 嵌入式工程师 梁国军 随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用,成为困扰我们的一大问题。什么是USB?USB是英文Universal Serial Bus的缩写,意为通用串行总线。USB最初是为了替代许多不同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各种不同的 阅读全文
posted @ 2011-12-15 20:35 Sankye 阅读(4702) 评论(0) 推荐(0)

摘要:USB设备的Bulk模式驱动程序设计来源: ChinaUnix博客 日期: 2008.04.12 23:51 (共有条评论) 我要评论引言 通用串行总线(USB)是一种串行接口,具有自动配置能力和良好的兼容性,从而简化了计算机与外设的连接,被计算机外设硬件制造商广泛采纳。USB总线标准由1.1版升级到2.0版后,传输率由12Mbps增加到了480Mbps,更适宜于高速数据传输。USB设备支持打印机、扫描仪、数码相机等外设时,由于这些外设与主机间传输的数据量大,要求驱动程序采用Bulk模式进行高速数据传输。 USB设备驱动的整体结构 USB设备驱动的整体结构包括如下五个主要部分:USB... 阅读全文
posted @ 2011-12-15 19:47 Sankye 阅读(2736) 评论(0) 推荐(0)

摘要:初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其他的驱动程序写法。 事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用driver更贴切一些,应该称为驱动器比较好吧)的结构体,结构体里面应该包含了驱动程序所需要的所有资源。用术语来说,就是这个驱动器对象所拥有的属性及成员。由于Linux的内核用c来编写,所以我们也按照这种结构化的思想来分析.. 阅读全文
posted @ 2011-12-15 15:35 Sankye 阅读(605) 评论(0) 推荐(0)

摘要:#include<stdio.h>#include<stdlib.h>#include<error.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<string.h>#include<sys/mount.h>#include<unistd.h>#include<pthread.h>//setMsg#defineTRUE1#defineFALSE0/*下面是我根据网上一篇文章的思路整理的来 阅读全文
posted @ 2011-12-06 16:37 Sankye 阅读(1071) 评论(1) 推荐(0)

摘要:1、linux_logo下载http://sourceforge.net/projects/lpp-themes/files/或我的提供的下载 linux_logo2、linux_logo安装:解压开lpp-0.4.2.tar.gz,在../contrib/boot_logo/下运行make,生成boot_logo3、制作linux启动logo: 用photoshop制作logo图片。a. 修改图片像素为320*240(根据需要显示的logo大小决定)b. 在菜单上选择图象->模式->索引颜色c. 保存为logoy.pcx图片4、拷贝图片到开发环境将pcx格式的图片拷贝到redha 阅读全文
posted @ 2011-11-24 10:01 Sankye 阅读(595) 评论(0) 推荐(0)

摘要:A 。选中Executable file formats/Emulations ---> Kernel support for ELFbinaries -----加载运行rootfs 中的程序.B 。选中Device Drivers --> ATA/ATAPI/MFM/RLL support --> EnhancedIDE/MFM/RLL disk/cdrom/tape/floppy support-->Include IDE/ATA-2 DISK support 该项必选否则VFS 错误:kernel panic.unkown block ....-->lega 阅读全文
posted @ 2011-11-23 13:38 Sankye 阅读(319) 评论(0) 推荐(0)

摘要:添加vag=0x0317后如下所示:title Red Hat Enterprise Linux WS-up (2.6.9-5.EL framebuffer)root (hd0,6)kernel /boot/vmlinuz-2.6.9-5.EL ro root=LABEL=/ rhgb quietvga=0x0317initrd /boot/initrd-2.6.9-5.EL.img保存退出;重启。重启后要按E键选择Red Hat Enterprise Linux WS-up (2.6.9-5.EL framebuffer),按B键进入就可以看到小企鹅了。方法二:直接在启动过程中修改,此时修改 阅读全文
posted @ 2011-11-23 13:36 Sankye 阅读(893) 评论(0) 推荐(1)

摘要:定时器的使用非常方便,只需要执行一些初始化的操作,设置一个超时时间,指定超时发生时执行的函数,然后激活定时器就可以了。它的处理和工作队列还是有点类似的。其实,在Linux内核开发中,很多的操作都是类似的。还有一点需要注意的,内核定时器并不是周期运行,它在超时后自动销毁。因此,如果要实现周期轮询,就需要在定时器执行函数返回前再次激活定时器。下面看看一个实现轮询操作的小例子: struct timer_list polling_timer; init_timer(&polling_timer);polling_timer.data = (unsigned long)something;po 阅读全文
posted @ 2011-07-06 09:09 Sankye 阅读(3681) 评论(0) 推荐(0)