code.zip

  • 浏览量:1184
  • 下载量:137
  • 资料大小:3.81 KB
  • 日期:2018-08-23
  • 上传者:ffaae8efa9a97b2
  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

    本帖最后由 ffaae8efa9a97b2d 于 2018-8-23 18:36 编辑

    功能实现:修改用户led对应的驱动,用户能够以设备节点方式访问并控制led灯。步骤1:修改内核源码目录下drivers/leds/leds-gpio.c文件:图片左边的代码即为修改后的代码,右边的为原始代码如图1-1、图1-2、图1-3、图1-4、图1-5,之后会生成“/dev/iotest”设备节点;
    步骤2:在内核源码根目录执行make arch=arm cross_compile=arm-linux-gnueabihf- menuconfig,将led-gpio驱动编译成内核模块方式加载,如图2-1;
    步骤3:在内核源码根目录执行make arch=arm cross_compile=arm-linux-gnueabihf- modules -j32 重新编译模块;
    步骤4:将搭建系统的sd卡接入虚拟机识别到后执行make arch=arm cross_compile=arm-linux-gnueabihf- modules_install install_mod_path=/media/rootfs安装内核模块;
    步骤5:在内核源码根目录执行make arch=arm cross_compile=arm-linux-gnueabihf- zimage -j32重新编译zimage,将zimage更新到/media/rootfs/boot目录;
    步骤6:编写应用层测试代码test.c:
    #include
    #include
    #include
    #include

    int main(int argc,char *argv);
    ioctl(fd, num1, num2);

    close(fd);
    return 0;
    }

    步骤7:将test.c交叉编译成test并上传到开发板系统任意路径,之后在此路径执行chmod 777 test;
    在此路径执行./test 1 0、./test 1 1、./test 1 2、./test 1 3、./test 1 4、./test 1 5、./test 1 6、./test 1 7来分别控制三盏userled1~3
评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换