Home IT Linux Windows Database Network Programming Server Mobile  
  Home \ Programming \ Detailed driver compiled into the Linux kernel     - ARP Linux-related operations (Linux)

- Oracle user password problem (Database)

- Linux C source code (sockettype: socket descriptor determination function) (Programming)

- JavaScript function closures Quick Start (Programming)

- How to modify the Ubuntu terminal user name changed to red color (Linux)

- File encryption and decryption of Linux security mechanisms (Linux)

- Teach you the Ubuntu Server enabled SSH multifactor authentication (Server)

- Linux under HAProxy + Keepalived dual-availability program (Server)

- MySQL & NoSQL - Memcached widget (Database)

- Summary of Docker mounted directory (Server)

- Simple Calendar C language (Programming)

- File easier to compare tools under Linux (Linux)

- Troubleshooting Linux virtual machine device id and the letter of inconsistencies (Linux)

- How to use GRUB2 files directly from the hard disk to run ISO (Linux)

- Introduction and use of the Raspberry Pi (Linux)

- ORA-12154: TNS: could not resolve the connect identifier specified solve (Database)

- Ubuntu is expected to allow you to install the latest Nvidia Linux drivers easier (Linux)

- Oracle rebuild index script (Database)

- How to use awk command in Linux (Linux)

- Production environment Linux bonding method standby mode slave card switch (Server)

  Detailed driver compiled into the Linux kernel
  Add Date : 2018-11-21      
  1, Enter the directory linux-kernel-samsung-dev \ drivers \ char

2, the new target directory 01.led, will drive the associated files to this directory
  Note: Please ensure that drivers are able to replicate the normal operation of the drive

3, write Kconfig file in the directory where 01.led
menu "xxx"

config XXX_LED
        tristate "xxx_ggg210_led"
        default n
          The led water made by xxx which was used by platform!


4, write Makefile file in the directory where 01.led
obj - $ (CONFIG_XXX_LED) + = led_dev.o led_drv.o

5, modify 01.led parent directory char in the Makefile file
Increase: obj - $ (CONFIG_XXX_LED) + = 01.led /

6, to modify the parent directory 01.led char in the file Kconfig

Increase: source "drivers / char / 01.led / Kconfig"

7. When properly configured, execute make menuconfig command pop-up menu, and then follow the steps below to enter eleven
      -> Device Drivers
        -> Character devices
          -> Xxx
                < > Xxx_ggg210_led (NEW)

8, use the "space" key to select "*" sign:
                < *> Xxx_ggg210_led (NEW) indicates the module compiled into the kernel

9, execute the command: make -j 2 uImage
  ( "-j 2" represents open two threads to speed up the compilation speed)
10, the generated uImage files to burn to the development board

11, after the completion of the development board to start the kernel, use "ls / dev" command to see if there is a device node to confirm whether to add success

12, remove the drive module.
    01.led first remove the drivers file directory folder, and then delete before adding in the corresponding Makefile and Kconfig in the statement.

Device drivers stored in a subfolder of the kernel source tree root directory drivers /, and in its interior, device drivers to be further organized by category, type, and so on up.
a. character devices exist in the drivers / char / directory
b. stored in a block device drivers / block / directory
c. USB devices are stored in the drivers / usb / directory.


(1) document the rules of the organization here is not absolutely the same, such as: USB devices are character devices can also be stored in the drivers / usb / directory.

(2) in drivers / char / directory, while the presence of a large number of C source code files, and many other directories in the directory. All for only one or two source files for a device driver can be directly stored in the directory, but if the driver contains many source files and other supporting documents, you can create a new subdirectory.
- Ubuntu 14.04 installed VirtualBox 4.3 appears vboxdrv: Unknown symbol mcount (Linux)
- Django url () function Detailed (Programming)
- NAT and firewall under Linux (Linux)
- shell script: a key optimization CentOS system (Linux)
- Linux script commands - terminal recorder (Linux)
- Linux kernel to achieve soft RPS network to receive soft interrupt load balancing to distribute (Linux)
- Thinking in Java study notes - Access modifiers (Programming)
- Linux set the maximum number of open files nofile and nr_open, file-max Description (Linux)
- The Linux-based security settings Ipchains Firewall (Linux)
- Win8 mount disk partitions under Ubuntu (Linux)
- AngularJS application unit testing started (Programming)
- Ubuntu 15.10 15.04 14.10 14.04 Install Ubuntu Tweak (Linux)
- MySQL password on those things you should know (Database)
- SYN attack hacker attack and defense of the basic principles and prevention technology (Linux)
- Use $ BASH ENV variable to mention the right way under Linux (Linux)
- Ubuntu 14.10 PPA installed Android Studio (Linux)
- Keepalived + HAProxy high availability load balancing (Server)
- Linux process group, session daemon (Linux)
- Linux system network security tools sudo Introduction (Linux)
- RedHat6.4 installation tutorial --- Minimal Edition (Linux)
  CopyRight 2002-2016 newfreesoft.com, All Rights Reserved.