User Tools

Site Tools


linux-kernel-dev:capitole:capitol-13

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
linux-kernel-dev:capitole:capitol-13 [2016/09/01 07:55]
razvan created
linux-kernel-dev:capitole:capitol-13 [2016/09/02 09:34] (current)
razvan [Resurse utile]
Line 1: Line 1:
-====== ​12. Drivere video în Linux ======+====== ​13. Drivere video în Linux ======
  
 ===== Subiecte abordate ===== ===== Subiecte abordate =====
Line 10: Line 10:
  
   * [[http://​lwn.net/​Articles/​203924/​|LWN:​ The Video4Linux API: an introduction]]   * [[http://​lwn.net/​Articles/​203924/​|LWN:​ The Video4Linux API: an introduction]]
 +  * [[https://​linuxtv.org/​wiki/​index.php/​Developer_Section|LinuxTV Wiki: Developer Section]]
 +  * [[https://​linuxtv.org/​wiki/​index.php/​Anatomy_of_a_V4L_driver|Anatomy of a V4L Driver]]
 +  * [[https://​linuxtv.org/​downloads/​v4l-dvb-apis-new/​media/​media_uapi.html|Linux Media Infrastructure userspace API]]
 +  * [[https://​linuxtv.org/​downloads/​v4l-dvb-apis-new/​media/​media_kapi.html|Media subsystem kernel internal API]]
 +  * [[https://​linuxtv.org/​downloads/​v4l-dvb-apis-new/​media/​v4l-drivers/​index.html|Video4Linux (V4L) driver-specific documentation]]
 +  * [[https://​www.kernel.org/​doc/​Documentation/​media/​kapi/​|Linux Kernel Documentation:​ Media KAPI]]
 +  * [[https://​github.com/​umlaeute/​v4l2loopback/​|v4l2loopback - a kernel module to create V4L2 loopback devices]]
  
 +===== Arhivă de suport =====
 +
 +Arhiva de suport pentru exerciții se găsește [[http://​koala.cs.pub.ro/​training/​res/​linux-kernel-dev/​arc/​cap-13-tasks.zip|aici]]. Descărcați arhiva și apoi decomprimați-o folosind comanda<​code>​
 +unzip cap-13-tasks.zip
 +</​code>​
 ===== Demo-uri/​Discuții ===== ===== Demo-uri/​Discuții =====
  
-TODO+Anatomie a implementării driver-ului ''​videodev''​ (driverul intermediar sau server pentru infrastructura v4l2), parcurgerea funcțiilor și structurilor principale 
 + 
 +Anatomie a implementării driver-ului ''​vivi''​ (//virtual video driver//) 
 + 
 +Implementarea unui driver USB, parcurgerea funcțiilor și structurilor principale 
 + 
 +Anatomie a implementării driver-ului ''​uvcvideo''​ (//USB Video Class//) 
  
 ===== Exerciții ===== ===== Exerciții =====
  
-==== ioctl în dispozitiv de tip caracter ​====+==== Implementare driver video virtual ​==== 
 + 
 +Pornind de la modelul driver-ului [[http://​lxr.free-electrons.com/​source/​drivers/​media/​platform/​vivi.c?​v=3.13|vivi]],​ implementați un driver video virtual minimal care să răspundă la investigația folosind comanda ''​v4l2-ctl''​.
  
-TODO+<note tip> 
 +Pentru a investiga dispozitivul ''​video0''​ se poate folosi comanda<​code>​ 
 +v4l2-ctl --all 
 +</​code>​ 
 +Pentru a investiga dispozitivul ''​video1''​ se poate folosi comanda<​code>​ 
 +v4l2-ctl --all -d 1 
 +</​code>​ 
 +</​note>​
linux-kernel-dev/capitole/capitol-13.1472705757.txt.gz · Last modified: 2016/09/01 07:55 by razvan