18 Şubat 2024 Pazar

Kernel Programming Intro

  • İlk olarak modulumüzü yazıyoruz   kernel_module.c   dosyasına

<pre><code>
 #include <linux/module.h>

#include <linux/init.h>

#include <linux/sched.h>

#include <linux/oom.h>

static int __init my_init(void)

{ pr_info("Welcome to the SlyEmbed kernel programming..\n");

return 0;

}

static void  __exit my_exit(void)

{ pr_info("Bye bye ....\n");

}module_init(my_init);

module_exit(my_exit);

MODULE_AUTHOR("SlyEmbedded Academy");

MODULE_LICENSE("GPL");

MODULE_DESCRIPTION("Samle kernel modular program");

</code></pre>



  • Ardına derleme dosyası Makefile dosyasını yazıyoruz 

obj-m += kernel_module.o
export KERNEL_ROOT=/home/slymnkbdyi/Documents/EMBEDDED_ACADEMY/linux/linux-orangepi-orange-pi-5.4
    modules:
      @$(MAKE) -C $(KERNEL_ROOT) M=$(shell pwd) modules
        clean:
        @$(MAKE) $(KERNEL_ROOT) m=$(shell pwd) clean

          • Derlememizi yapıyoruz   ve kernel_module.ko uzantılı modülümüz oluştu
          make   ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-


          • Cihazımıza kopyalayıp    ;   
                         insmod  kernel_module.ko        komutu ile derleyebiliriz 
                         rmmod  kernel_module.ko       komutu ile cihazdan modülü kaldırıabiliriz
                         lsmod     komutu ile yüklü modülleri görebiliriz       


          Share: