一片冰心在玉壶

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

博客园 首页 联系 订阅 管理

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 阅读(568) 评论(0) 推荐(0) 编辑

摘要: 给Ubuntu安装一个包,即可在右键里面添加一个“打开终端”的菜单。 sudo apt-get install nautilus-open-terminal 阅读全文
posted @ 2011-11-24 08:49 Sankye 阅读(318) 评论(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 阅读(296) 评论(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 阅读(726) 评论(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 阅读(399) 评论(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 阅读(527) 评论(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 阅读(3991) 评论(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 阅读(1186) 评论(0) 推荐(0) 编辑

2011年7月6日 #

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

摘要: 第一次在X86下写LINUX驱动,具体来说应该是IO驱动。X86的IO是独立编址的。所以用OUTB和INB直接操作IO地址就可以。这点跟ARM等其它CPU不一样。。数据采集采用DMA的传输方式。。2.4下可调的调式代码如下:#ifndef__KERNEL__#define__KERNEL__#endif#ifndefMODULE#defineMODULE#endif#include<linux/init.h>#include<linux/module.h>#include<linux/kernel.h>#include<linux/types.h> 阅读全文
posted @ 2011-07-06 08:54 Sankye 阅读(427) 评论(0) 推荐(0) 编辑