阅读:5307回复:25
找点Linux同行,不然脑子都生锈了.
干了4年Linux核心编程,才辞职一年,就什么都不记得了,这怎么行,大家有什么初级问题都问我吧,就当是考考我,不然脑子就锈啦.
我是新来的,以前在北京一个小软件公司中当程序员,做了3年的scsi驱动程序整合开发,累啊,就没干了,不过底子还在,内核结构,内核编译什么的也都很熟.总算在这里找到同行了.望指教哈. |
|
最新喜欢:lrh_0_... |
沙发#
发布于:2004-04-05 17:21
很幸运碰到大佬了,能不能讲讲习惯了WINDOWS的如何转入学习LINUX,就当你自己回忆一下自己的历程
|
|
板凳#
发布于:2004-04-09 06:54
我没什么好说的,我学习LINUX的时候只用过三天C,所以我现在和你碰到的问题正好相反,习惯了linux编程,如何转入windows,呵呵.
|
|
地板#
发布于:2004-04-09 10:06
太好了,我有一堆问题要问
|
|
地下室#
发布于:2004-04-09 10:15
楼主多上来一下,这里冷清啊。
先请教一下,关于在linux下开发硬盘、usb驱动有没有相关的资料? |
|
5楼#
发布于:2004-04-11 11:37
想成为LINUX内核程序员是有捷径的,那就是看源代码.刚开始的时候是有点困难,可以去买几本LINUX内核编程的书.与WINDOWS相比,LINUX的好处在于,LINUX是一种古老的UNIX结构,比较简单,不像WINDOWS那样,编程之前要看一大堆白皮书SPEC什么的,只要看看现成的源程序就行了.硬盘的驱动程序在/usr/src/linux/drivers/block/和/usr/src/linux/drivers/IDE/下能找到.刚开始的时候可以看看rd.c,也就是linux里用得很多的ramdrive源码,参考它,自已写个ramdrive出来,接下来的事就简单多了,看硬盘驱动也容易了.
|
|
6楼#
发布于:2004-04-12 09:50
兄弟是linux新手,正在作设备驱动程序,刚一开始就被难住了,大哥帮小弟看一下吧!!!!
原码如下: #define MODULE #define __NO_VERSION__ #include <linux/module.h> #include <linux/version.h> char kernel_version [] = UTS_RELEASE; #include <linux/types.h> #include <linux/fs.h> #include <linux/mm.h> #include <linux/errno.h> #include <asm/segment.h> unsigned int test_major = 0; static int read_test(struct inode *node, struct file *file, char *buf, int count) { int left; if (verify_area(VERIFY_WRITE,buf,count) == -EFAULT ) return -EFAULT; for(left = count ; left > 0 ; left--) { __put_user(1,buf,1); buf++; } return count; } static int write_test(struct inode *inode, struct file *file, const char *buf, int count) { return count; } static int open_test(struct inode *inode, struct file *file ) { MOD_INC_USE_COUNT; return 0; } static void release_test(struct inode *inode, struct file *file ) { MOD_DEC_USE_COUNT; } struct file_operations test_fops = { NULL, read_test, write_test, NULL, /* test_readdir */ NULL, NULL, /* test_ioctl */ NULL, /* test_mmap */ open_test, release_test, NULL, /* test_fsync */ NULL, /* test_fasync */ /* nothing more, fill with NULLs */ NULL, NULL, NULL, }; int init_module(void) { int result; result = register_chrdev(0, \"test\", &test_fops); if (result < 0) { printk(KERN_INFO \"test: can\'t get major number \"); return result; } if (test_major == 0) test_major = result; /* dynamic */ return 0; } void cleanup_module(void) { unregister_chrdev(test_major, \"test\"); } 编译命令如下: gcc -O2 -DMODULE -D__KERLEL__ -c test.c 结果出现很多源文件错误,如在linux/fs.h中找不到fils_operation数据结构...... 咋办???? |
|
7楼#
发布于:2004-04-12 18:28
是不是编译命令又点不准确?
用: gcc -O2 -DMODULE -D__KERLEL__ -c test.c -I /usr/src/linux/include 其中后面加上 -I 等参数表示所用的头文件的路径(默认的是/include)。 |
|
8楼#
发布于:2004-04-12 21:44
老大,能不能留个Email或QQ什么的,偶好请教你啊!偶今年毕业,在一家台湾网络硬件公司做Embedded Linux,很多东西都不懂,哎,想问那些老员工嘛。。人家也很忙,没时间搭理我。痛苦啊!!!。。。
偶QQ是:3589124 E-mail:kwest@163.net |
|
9楼#
发布于:2004-04-13 10:21
太感谢了
一个小问题把兄弟搞得头大 希望各位仁兄多加指点 |
|
10楼#
发布于:2004-04-13 16:01
希望楼主能留个EMAIL什么的,俺最近写PCI驱动也遇到些问题,希望能得到帮助
QQ:3199399 EMAIl:Forest_Leo@hotmail.com |
|
11楼#
发布于:2004-04-14 05:21
编译内核可不是你例子中的那么容易,看我的例子吧
gcc -D__KERNEL__ -I/usr/src/linux/drivers/scsi -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -Wno-unused -pipe -mpreferred-stack-boundary=2 -march=i386 -DMODULE -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -c test.c 除了-I须改成你自已的路径外,其它一律照抄. |
|
12楼#
发布于:2004-04-15 21:19
为了编写一个摄像头的驱动(采用OV7620和OV528芯片),我看了那本linux驱动程序第二版的前面十个章节,书上的东西还是能够基本看明白,可是却不知道总么动手编写,请问linux源代码中能够有通用摄像头的驱动源代码么或者什么地方有源代码下载么(想开阔自己的思路再编)?我也在北京迫切希望得到象大哥这样高手的指点,能够交流一下么?
Email:zhouai@mail.biti.edu.cn 先谢谢了! |
|
13楼#
发布于:2004-04-23 09:06
请问,zai在linux驱动程序中如何打开和读写文件,我曾用sys_open试图打开一个文件,但死机了,请大侠指教,谢谢!!!
|
|
14楼#
发布于:2004-04-23 22:03
驱动里读写文件很困难,一般都是通过ioctl或生成proc文件.
|
|
15楼#
发布于:2004-05-10 17:23
老大,想问个问题,我们有个工控主板,不想用硬盘跑Linux,如果通过USB用U盘跑系统,要怎么做啊
内核要怎么编译啊,CMOS要怎么设置呢? |
|
16楼#
发布于:2004-05-10 19:47
我们毕业设计要做网卡驱动,是基于内存的,程序基本上是参照
〈〈linux设备驱动程序〉〉这本书上写的,由于是一下子转到linux ,对驱动东西不是太熟悉,不知道网卡驱动到底是怎么调试的啊 |
|
17楼#
发布于:2004-05-10 21:58
网卡驱动基本上先实现找到硬件,然后再写收发包函数
|
|
18楼#
发布于:2004-05-11 09:15
多参照参照内核中的一些网卡驱动,仔细研究研究硬件,差不多就有了
|
|
|
19楼#
发布于:2004-08-14 21:16
编译时最好写个makefile文件,用make命令就解决了
|
|
上一页
下一页