zoukankan      html  css  js  c++  java
  • 第七章

    由于LED驱动只能在S3C开发板上安装,因此buildSh直接执行了build-s3c6410.sh脚本文件进行编译和安装,并不会出现用户选择在Ubimtu LinuxAndroid模拟器还是s3c开发板对应的Linux内核上编译,但如果同时连接了Android设备启动课Android模拟器,还是会让用户选择想那个设备中上传,请选择s3c开发板,否则即使上传成功,也会用于Linux内核版本问题的无法安装成功。

    创建一个设备文件的步骤:

    1使用cdev-init函数初始化cdev

    2指定设备号。

    Linux设备文件的设备号分为主设备号和次设备号。用一个int类型表示,其中前12位表示主设备号。后20位表示次设备号。设备号有如下两种指定方法:

    (1)  直接在代码中指定(硬编码)。

    (2) 动态分配。

    多个Linux设备文件可以拥有同一个主设备号。但是两个设备的主设备号和次设备号不能都是一样的。在使用alloc-chirdev-region函数自动分配设备号时,bascmiorcount参数不要设置的太大,否者次设备号就会溢出,并且设备号会进位,从而变成了下一个主设备号。

    3使用cdev-add函数将字符设备添加到内核中的字符设备数组中。

    4使用class-create宏创建struct class

    5使用decice-create函数创建设备文件。

    LED驱动可以使用如下两种方式控制LED

    (1)通过字符串控制LED

    (2)通过I/O命令控制LED

    指定模块参数时参数名,参数值与等号之间不能有空格。

  • 相关阅读:
    重构29-Remove Middle Man(去掉中间人)
    重构30-Return ASAP(尽快返回)
    重构26-Remove Double Negative(去掉双重否定)
    yaml语法学习3
    运行原理探究2
    SpringBoot简介 1
    SpringMVC项目所引用的一切依赖jar包和自定义设置
    2020/07/03 初始mybatis
    json数据格式字符串在java中的转移
    项目中遇到的一些异常
  • 原文地址:https://www.cnblogs.com/ddddd/p/5562737.html
Copyright © 2011-2022 走看看