s5p6818/fs4418系统移植实验十二 LED驱动移植

实验十二 LED驱动移植

【实验目的】

驱动程序的编译。

应用程序如何打开/操作设备

       说明:在实验中命令行提示符为“$”表示在主机上运行,“#”表示在目标板上运行。

【实验环境】

  1. Ubuntu 16.04 64位发行版
  2. FS6818平台

【实验步骤】

  1. 添加驱动文件

       将实验代码fs6818_led/ fs6818_led.c、fs6818_led.h拷贝到drivers/char/farsight下。

  1. 修改drivers/char/farsight/Kconfig,在menu "Character devices"下面添加如下内容:

config FS6818_LED

         tristate "This is FS6818_LED!"

  1. 修改drivers/char/farsight/Makefile,在文件最后添加如下代码

obj-$(CONFIG_FS6818_LED) += fs6818_led.o

  1. fs6818led_test.cfs6818_led.h拷贝到Linux任意目录下并交叉编译测试程序

$ arm-none-linux-gnueabi-gcc fs6818led_test.c –o fs6818_led_app 

sudo  cp fs6818_led_app /source/rootfs

  1. 编译LED驱动到内核中
  • 配置内核时按空格选择,配置完成后保存退出

$ make menuconfig

Device Drivers  --->

         Character devices  --->

                FS6818 extension device driver support  --->

                       <*> This is FS6818_LED!

  • 保存退出,重新编译后把uImage拷贝到Fastboot

$ make uImage

重新启动开发板,烧写内核uImage并运行。在终端下执行下面操作

  • 运行测试程序并观察现象

# ./ fs6818_led_app

 

  1. 编译LED驱动为模块
  • 配置内核时按空格选择,配置完成后保存退出

$ make menuconfig

Device Drivers  --->

         Character devices  --->

                FS6818 extension device driver support  --->

                       <M> This is FS6818_LED!

保存退出,重新编译后把uImage拷贝到Fastboot下,把驱动模块拷贝到/source/rootfs

$ make uImage modules

$ cp drivers/char/farsight/fs6818_led.ko /source/rootfs/

重新启动开发板,linux运行起来后在终端下操作

  • 加载LED驱动模块

#insmod  fs6818_led.ko

  • 运行测试程序并观察现象

# ./fs6818_led_app

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值