Benutzer-Werkzeuge

Webseiten-Werkzeuge


raspberry_pi_kernelprogrammierung:helloworld

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
raspberry_pi_kernelprogrammierung:helloworld [2024/01/26 15:44] – [2. Hallo Welt Modul erstellen und übersetzen (compilieren)] torsten.roehlraspberry_pi_kernelprogrammierung:helloworld [2024/01/26 15:49] (aktuell) – [3. Testen des "Hallo Welt" Moduls] torsten.roehl
Zeile 178: Zeile 178:
  
  
-Um das Modul zu testen werden die Modul-Utilities benötigt. Darunter versteht man einen Satz von Hilfsprogrammen, um Kernelmodule zu laden, entladen u.s.w.+Um das Modul zu testen werden die Modul-Utilities benötigt. Darunter versteht man einen Satz von Hilfsprogrammen, um //Kernelmodule// zu laden, entladen u.s.w.
  
-Um das Modul zu laden/entladen, werden Rootrechte benötigt.  +Um das Modul zu laden/entladen, werden //Rootrechte// benötigt.  
  
-Folgende Programme (modutils) werden verwendet:+Folgende Programme (''modutils'') werden verwendet:
  
-  * modinfo: liefert Informationen über ein Modul  +  * ''modinfo'': liefert Informationen über ein Modul  
-  * insmod: fügt zur Laufzeit Module in den Linux-Kernel ein +  * ''insmod'': fügt zur Laufzeit Module in den Linux-Kernel ein 
-  * lsmod: zeigt alle geladenen Module an +  * ''lsmod'': zeigt alle geladenen Module an 
-  * rmmod: entfernt Laufzeitmodule aus dem Kernel+  * ''rmmod'': entfernt Laufzeitmodule aus dem Kernel 
 + 
 +=== Beispiel === 
 + Hier die Ausgabe des ''modinfo''-Programms: 
 + 
 +<code>pi@raspberrypi ~/kernel $ modinfo hello_world.ko 
 +filename:       /home/pi/kernel/hello_world.ko 
 +description:    Sample hello_world kernel module 
 +author:         Torsten Röhl <devel@physics4school.de> 
 +license:        GPL 
 +srcversion:     793A736C473976825C9475C 
 +depends:         
 +vermagic:       3.12.19+ preempt mod_unload modversions ARMv6 </code> 
 + 
 +Laden des Moduls: 
 +<code>pi@raspberrypi ~/kernel $ sudo insmod hello_world.ko</code> 
 +Überprüfen, ob das Modul korrekt geladen wurde: 
 + 
 +<code>spi@raspberrypi ~/kernel $ lsmod | grep hello_world 
 +hello_world              735  0 </code> 
 + 
 +Um die Ausgabe von lsmod nicht zu lang zu machen, können wir mit grep hello_world nach hello_world suchen. Die Ausgabe zeigt an, dass die Suche erfolgreich war, d.h. das Modul korrekt geladen wurde. 
 + 
 +Entladen des Moduls: 
 +<code>pi@raspberrypi ~/kernel $ sudo rmmod hello_world.ko</code> 
 + 
 +Lohnend ist auch ein Blick in die Datei ''/var/log/messages'': 
 + 
 +<code># cat /var/log/messages 
 +May 16 16:24:38  kernel: Hello World: init_helloworld 
 +May 16 16:26:16 kernel: GoodBye World: exit_helloworld</code>
  
 ===== Zusammenfassung ===== ===== Zusammenfassung =====
raspberry_pi_kernelprogrammierung/helloworld.1706283890.txt.gz · Zuletzt geändert: 2024/01/26 15:44 von torsten.roehl