OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5292|回复: 3
打印 上一主题 下一主题

嵌入式Linux学习笔记(2) TQ2440 LED驱动实现

[复制链接]

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
738
金钱
738
注册时间
2013-11-1
在线时间
28 小时
跳转到指定楼层
楼主
发表于 2014-11-8 22:17:18 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
说明:由嵌入式Linux学习笔记(1)所述我使用的是nfs网络文件的挂载分享root_nfs ,我使用的是ssh共享windows和PC的Linux共享

编写驱动需要有驱动文件和测试驱动文件

1.驱动程序的编写
 在windows上面编写驱动程序,通过ssh共享工具上传到PC的linux的/opt/work/root_nfs/drv
 在PC的linux的/opt/work/root_nfs/drv/的文件 first_drv.c
在PC的linux上面编辑Makefile文件,修改   obj-m += first_drv.o 保存退出

2.在PC的linux的驱动目录文件下 make 生成 XXXX.ko

3.编写测试驱动文件  firstdrvtest.c 并上传到PC上的linux

4.编译测试文件   arm-linux-gcc -o firstdrvtest  firstdrvtest.c  生成  firstdrvtest可执行文件

5.将led的驱动文件编译文件.ko共享的挂载的开发板的/mnt/复制到开发板的根文件中  /
  加载驱动:
        a. insmod  first_drv.ko
执行可执行文件 ./firstdrvtest 
    # ./fristdrvtest             
Usage:
./fristdrvtest <dev> <on|off>
eg. 
./fristdrvtest /dev/leds on
./fristdrvtest /dev/leds off
./fristdrvtest /dev/led1 on
./fristdrvtest /dev/led1 off

既可以看到现象 

  1.自动创建设备节点文件
       
1.定义
        static struct class *firstdrv_class;
        static struct class_device  *firstdrv_class_dev;

自动生成节点     major = register_chrdev(0, "first_drv", &first_drv_fops);

//暂时写到这里


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-12-19 00:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表