OpenEdv-开源电子网

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

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

[复制链接]

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
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);

//暂时写到这里


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-11-8 23:08:51 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2014-9-26
在线时间
0 小时
发表于 2014-11-21 12:36:22 | 显示全部楼层
好简单。。。。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2015-7-20
在线时间
1 小时
发表于 2015-7-20 20:17:28 | 显示全部楼层
我是做安卓底层驱动的 才做了半年不到 小菜鸟一个
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 23:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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