Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Implementation of PCI drivers, kprobe, sysfs, devfs, sensor driver, miscdevices, synchronization

Notifications You must be signed in to change notification settings

HawxChen/Linux-Kernel-Driver-Programming

Repository files navigation

I implement these Linux Kernel/Driver programs independently.

  • 01_mprobe_and_generanl_driver:

    • A kernel module uses hashtable and synchronization
    • A mprobe module can debug the previous kernel module.
    • Both parts have testing programs and README.
  • 02_Concurrent_HC-SR04_miscdeivces:

    • Two HC-SR04 driver instances registered through miscdevice are equipped with two modes of one-shot and periodical sampling. This kernel module can operate two HC-SR04 sensors in the same time.
  • 03_Concurrent_HC-SR04_SYSFS_Platform_Drivers:

    • This part exports HC-SR04 module to the SYSFS interface as well as Linux Platform Driver interface within PCI mechnaisms.
  • 04_barrier_driver_module:

    • I implemented the Barrier through kernel driver module. This module should be used through open/read/write/close POSIX intferface.
  • 05_barrier_system_call:

    • I implemented the Barrier through three system calls.
    • barrier_init(int count, unsigned int* barrier_id)
    • barrier_wait(int barrier_id)
    • barrier_destroy(int barrier_id)
    • For efficient development and quick debugging, I also provide a driver module (04_barrier_driver_module) in same logic of this synchronzation.
    • For system call and driver module, I also support testing programs.