一片冰心在玉壶

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

博客园 首页 联系 订阅 管理

2011年12月15日 #

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

2011年12月6日 #

摘要: #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 阅读(1044) 评论(1) 推荐(0)

2011年11月24日 #

摘要: 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 阅读(584) 评论(0) 推荐(0)

摘要: 给Ubuntu安装一个包,即可在右键里面添加一个“打开终端”的菜单。 sudo apt-get install nautilus-open-terminal 阅读全文
posted @ 2011-11-24 08:49 Sankye 阅读(326) 评论(0) 推荐(1)

2011年11月23日 #

摘要: 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 阅读(307) 评论(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 阅读(802) 评论(0) 推荐(1)

2011年11月3日 #

摘要: 1. 上一节我们已经学习了用poll轮询数据,来避免不必要的休眠,但是事实上,轮询的直接负面作用就是效率低下,这样一节我们学习如何使用异步通知IO来提高效率2. fcntl系统调用int fcntl(int fd, int cmd, long arg);fcntl的作用是改变一个已打开文件的属性,fd是要改变的文件的描述符,cmd是命令罗列如下:F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_SETLK, F_SETLKW, F_GETLK, F_GETOWN, F_SETOWN本节只关心F_SETOWN(设置异步IO所有权),F_GETFL(获取 阅读全文
posted @ 2011-11-03 16:06 Sankye 阅读(403) 评论(0) 推荐(0)

摘要: 1. async.c 主要展示异步通知机制在驱动程序中的实现view plaincopy to clipboardprint?#include<linux/module.h> #include<linux/init.h> #include<linux/fs.h>/*everything...*/ #include<linux/types.h>/*size_t*/ #include<linux/cdev.h> #include<linux/fcntl.h> #include<asm/uaccess.h>/*cop 阅读全文
posted @ 2011-11-03 16:05 Sankye 阅读(536) 评论(0) 推荐(0)

2011年9月23日 #

摘要: 1.源码安装步骤如下:1)wget http://www.sqlite.org/sqlite-3.5.6.tar.gz2)tar -xzvf sqlite-3.5.6.tar.gz3)cd sqlite-3.5.64)./configure --disable-tcl ##加上这个选项则不需要TCL,否则在2.4内核上编译通不过5)make 6)make install 得到的几个文件在:/usr/local/lib libsqlite3.alibsqlite3.lalibsqlite3.solibsqlite3.so.0libsqlite3.so.0.8.6pkgconfig/usr/loc 阅读全文
posted @ 2011-09-23 11:25 Sankye 阅读(4011) 评论(0) 推荐(0)

2011年8月31日 #

摘要: 1 在APP类InitInstance()里注释掉:m_pMainWnd->ShowWindow(SW_SHOW);2 CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里加AfxGetApp()->m_nCmdShow = SW_HIDE;3 隐藏任务栏图标:ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);//隐藏任务栏图标 阅读全文
posted @ 2011-08-31 11:15 Sankye 阅读(1232) 评论(0) 推荐(0)