linux-device-driver

Jak interpretować adresy w jądrze oops

Mam jądro oops w sterowniku Linuksa, który napisałem. Chcę ustalić, która linia jest odpowiedzialna za oops. Mam następujące ... c+0x7d0/0xa59 SS:ESP 0068:e2a81ee0 [10991.882072] CR2: 0000000000000000 [10991.889660] ---[ end trace 26fe339b54b2ea3e ]---

przykład proc create () dla modułu jądra

Może mi ktoś podać proc_create() przykład? Wcześniej używali create_proc_entry() w jądrze, ale teraz używają proc_create().

Różnica między kompilatorami arm-eabi arm-gnueabi i gnueabi-hf

Jaka jest różnica między kompilatorami ARM-EABI, gnueabi i gnueabi-hf. Trudno mi wybrać Kompilatory. Czy istnieje natywny kompilator dla arm?

Przydzielanie w jądrze Linuksa ponad 4 MB przypiętej pamięci ciągłej

W przypadku interakcji z budowanym urządzeniem PCI, chcielibyśmy stworzyć duże sąsiadujące ze sobą kawałki pamięci, do któryc ... AX_ORDER. MAX_ORDER jest stałą czasową kompilacji i obawiam się również, że edycja mogła mieć wpływ na inne miejsce. Dzięki.

Co właściwie robi request mem region () i kiedy jest potrzebny?

Uczę się pisania wbudowanego sterownika Linuksa i postanowiłem odpalić kilka GPIOs, aby upewnić się, że rozumiem książkę (ld ... kować się z adresem sprzętowym tylko ioremap()? Więc kiedy musimy użyć request_mem_region()? Dzięki za wszelkie odpowiedzi!

Funkcje statyczne w sterowniku urządzenia Linux

Dlaczego każda funkcja w większości sterowników urządzeń jest statyczna? Ponieważ funkcje statyczne nie są widoczne poza zakresem pliku. W jaki sposób te funkcje sterownika są wywoływane przez aplikacje przestrzeni użytkownika?

Różnica między wirtualnym adresem jądra a logicznym adresem Jądra?

Nie jestem w stanie dokładnie odróżnić adresu logicznego jądra od adresu Wirtualnego. W Linux device driver book pisze, że ws ... o. Ale logicznie mądry, kiedy mówimy, że jest logiczny, a kiedy mówimy, że wirtualny i w jakiej sytuacji używamy tych dwóch ?

Jaka jest różnica między modułem INIT i subsys initcall podczas inicjalizacji sterownika?

Jaka jest różnica pomiędzy module_init i subsys_initcall podczas inicjalizacji sterownika?

"FATAL: Module not found error" using modprobe

Mam problem z modprobe poleceniem... Skompilowałem moduł hello world i załadowałem go insmod, działa dobrze i kiedy to zrobię ... modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

Jak przechwycić wiadomości z urządzenia USB w systemie Linux?

Mam popularny tablet rysunkowy, który podłączam do komputera za pomocą USB. Po podłączeniu tablet wykrywa ruchy dłoni i odpow ... formą systemu operacyjnego Linux są bardzo mile widziane!). Uwaga: to pytanie jest podobne, ale przeznaczone dla Windows.

Odizoluj moduł jądra do określonego rdzenia za pomocą Cpuset

Z przestrzeni użytkownika możemy użyć cpuset , aby w rzeczywistości wyizolować konkretny rdzeń w naszym systemie i wykonać ... ia wątków do określonych rdzeni, ale to nie gwarantuje mi, że rdzenie będą izolowane przez inne procesy na nich działające.)

Zrozumienie loff t * offp dla operacji na plikach

Projektuję sterownik urządzenia, który po prostu czyta i zapisuje do bufora znaków. Moje pytanie dotyczy jednak dwóch funkcji ... wnik, który zapisuje informacje. Mam nadzieję, że wyjaśniłem moją mgłę i wyjaśnię wszystko, co wydaje mi się niejednoznaczne.

Jaki jest pożytek z iomem w Linuksie podczas pisania sterowników urządzeń?

Widziałem, że __iomem jest używany do przechowywania zwracanego typu ioremap(), ale użyłem do tego u32 w architekturze ARM i działa dobrze. Więc co za różnica __iomem tutaj robi? I w jakich okolicznościach powinienem go dokładnie użyć?

Trudny czas w zrozumieniu tabeli urządzeń modułu (usb, tabela id) użycie

Trudno mi zrozumieć dokładne użycie MODULE_DEVICE_TABLE(usb, id_table) AFAIK wygeneruje pliki map, które będą później używa ... i tak nie jest załadowany?" Mam na myśli, że już go załadowałem, kiedy to zrobiłem insmod module-name. czy coś przeoczyłem?

Linux Kernel interrupt handler mutex protection?

Czy muszę chronić mojego opiekuna przerwań, który jest wywoływany wiele razy dla tego samego przerwania? Biorąc pod uwagę po ... I mam włączone szybkie przerwania (SA_INTERRUPT)! Więc nie ma potrzeby mutex / zamki / semafory/spiny/czeka/śpi/etc / etc!

Rozwój sterowników Linuksa: różnica między sterownikami PCI i PCIe?

Programuję sterownik PCI dla Linuksa 2.6.36. Oto Mój kod. Moje pytanie brzmi, Czy muszę zrobić jakieś modyfikacje, jeśli chc ... unregister_chrdev(MAJOR_NR,DRIVER_NAME); } module_init(pci_drv_init); module_exit(pci_drv_exit); MODULE_LICENSE("GPL");