当前位置:  技术问答>linux和unix

加载ko的时候出现line 1: syntax error: unexpected word (expecting ")")

    来源: 互联网  发布时间:2017-05-30

    本文导语:  makefile是这样写的: KERN_DIR = ../linux-2.6.35.4 all: make -C $(KERN_DIR) M=`pwd` modules  clean: make -C $(KERN_DIR) M=`pwd` modules clean rm -rf modules.order obj-m += first_drv.o 代码如下: #include  #include  #include  #include  #include ...

makefile是这样写的:


KERN_DIR = ../linux-2.6.35.4

all:
make -C $(KERN_DIR) M=`pwd` modules 

clean:
make -C $(KERN_DIR) M=`pwd` modules clean
rm -rf modules.order

obj-m += first_drv.o



代码如下:
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 



static struct class *firstdrv_class;
static struct class_device *firstdrv_class_dev;

volatile unsigned long *gpdomd = NULL;
volatile unsigned long *gpdpuen = NULL;
volatile unsigned long *gpddout = NULL;
volatile unsigned long *gpdpin = NULL;


static int first_drv_open(struct inode *inode, struct file *file)
{
printk("first_drv_openn");
/* 配置GPF4,5,6为输出 */

return 0;
}

static ssize_t first_drv_write(struct file *file, const char __user *buf, size_t count, loff_t * ppos)
{
int val;

//printk("first_drv_writen");
return 0;
}

static struct file_operations first_drv_fops = {
    .owner  =   THIS_MODULE,/* 这是一个宏,推向编译模块时自动创建的__this_module变量 */
    .open   =   first_drv_open,
    .write = first_drv_write,
};


int major;
static int first_drv_init(void)
{
major = register_chrdev(0, "first_drv", &first_drv_fops); // 注册, 告诉内核

firstdrv_class = class_create(THIS_MODULE, "firstdrv");

firstdrv_class_dev = device_create(firstdrv_class, NULL, MKDEV(major, 0), NULL, "xyz"); /* /dev/xyz */

gpdomd  = (volatile unsigned long *)ioremap(0xb8001030, 16);
gpdpuen = gpdomd + 1;
gpddout = gpdomd + 2;
gpdpin  = gpdomd + 3;

return 0;
}

static void first_drv_exit(void)
{
unregister_chrdev(major, "first_drv"); // 卸载

device_unregister(firstdrv_class_dev);
class_destroy(firstdrv_class);
iounmap(gpdomd);
iounmap(gpdpuen);
iounmap(gpddout);
iounmap(gpdpin);
}

module_init(first_drv_init);
module_exit(first_drv_exit);

MODULE_LICENSE("GPL");

|
想用file命令看看ko文件格式是否正确。再检查代码。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • request_irq中断,驱动加载后出现init_module:Device or resource busy
  • 驱动加载后,/dev没有出现对应的节点
  • CI框架自动加载session出现报错的解决办法
  • jQuery数据延迟加载插件 DataLazyLoad iis7站长之家
  • dlopen加载so动态链接库出现段错误的问题
  • 《自己动手写操作系统》第三章第一个程序的问题。bochs加载后出现no bootable device.我在网上查了下,说是因为第一扇区最后2字节
  • 加载混杂字符设备驱动在/dev/下没有出现设备文件,请帮忙分析我程序!
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • 请教一下Linux的动态库加载方式(是启动加载还是运行加载?)
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 在线等待!请文中怎么使用WebLogc的类加载器加载一个类?
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • driver的静态加载和动态加载占用内存问题
  • 可执行程序加载动态库 和 动态库加载动态库 的动态库初始化的问题
  • vmware下加载了一个虚拟软驱镜像,如果设置第一启动项为软驱的话,软驱能正常加载运行。但如果我第一启动项不设为软驱,正常启动fedora12的话。
  • usbhid妨碍了系统自动加载我的usb驱动程序,求教解决 (主要是加载后设备的驱动被认作usbhid)
  • 问问lib加载的问题
  • linux生成(加载)动态库静态库和加载示例方法
  • 使用非root用户加载模块出错
  • linux网卡驱动加载异常
  • 要写一个Linux下的elf加载器需要哪些知识?
  • 加载混杂设备
  • js/css文件加载管理 uetjs
  • 如何加载硬盘?
  • 为何每次重启都要重新加载驱动模块?
  • JS文件加载优化 ControlJS
  • 无刷新动态加载数据与滚动条加载适合评论的jquery代码
  • jQuery数据延迟加载插件 DataLazyLoad


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3