Psaní ovladačů pro Linux

RDa

  • *****
  • 2 683
    • Zobrazit profil
    • E-mail
Psaní ovladačů pro Linux
« kdy: 17. 05. 2013, 19:56:32 »
Nemáte někdo zkušenosti s psaním jednoduchých ovladačů pro Linux?

Potřeboval bych napsat modul, který zpřístupní paměť z naší PCIe karty jako zařízení, ze kterého můžu data vykopírovat přes cat nebo dd.

« Poslední změna: 17. 05. 2013, 23:06:42 od Petr Krčmář »


gamer

Re:Psaní driverů pro Linux
« Odpověď #1 kdy: 17. 05. 2013, 22:04:23 »
Kdysi jsem něco takového dělal, není to nic složitého, driver musí nejdřív zavolat register_chrdev
https://www.kernel.org/doc/htmldocs/kernel-api/API---register-chrdev.html
tím zaregistruješ tvoje znakové zařízení, se kterým budeš z userspace komunikovat, potom request_mem_region (nemůžu k tomu najít dokomentaci, možná to nějak přejmenovali), tím se zpřístupní (rezervuje) pamět karty v kernelu a nakonec remap_pfn_range
https://www.kernel.org/doc/htmldocs/kernel-api/API-remap-pfn-range.html
čímž se zpřístupní pamět kernelu do userspace.

V user space se to potom tváří jako znakové zařízení, na kterém se dá zavolat mmap a tím si zpřístupníš pamět karty.

Jinak doporučuju
https://www.kernel.org/doc/htmldocs/device-drivers.html