• În Linux, porturile alocate apar în:
    1. /proc/ioports
    2. /proc/interrupts
    3. /proc/iomem
    4. /proc/stat
    • [1]
    • (1)
  • O întrerupere partajată:
    1. se înregistrează prin specificarea flag-ului irqf_shared} pentru request_irq}
    2. este tratată prin execuţia tuturor rutinelor înregistrate
    3. trebuie să verifice registrul de stare în rutina de tratare a întreruperii pentru a determina daca întreruperea a fost generată de dispozitivul pe care îl gestionează
    • [1]
    • (1)
  • În Linux, putem afla numărul de întreruperi generate din :
    1. /proc/ioports
    2. /proc/interrupts
    3. /proc/iomem
    4. /proc/stat
    • [2]
    • (1)
  • Pentru activarea întreruperii care apare la primirea de date pe portul serial trebuie setat:
    1. bitul 0 (Enable Received Data Available Interrupt) în registrul IER
    2. bitul 0 (Interrupt Pending) din registrul IIR
    3. bitul 0 (Enable FIFO's) din registrul FCR
    4. bitul 3 (Aux Output 2) în registrul MCR
    • [1]
    • (1)
  • În rutina de tratarea a întreruperii:
    1. trebuie dezactivate întreruperile la intrarea în funcţie
    2. se verifică registrul de stare pentru a determina dacă întreruperea a fost generată de dispozitivul pe care îl gestionează
    3. se întoarce irq_none}/false} dacă întreruperea nu a fost generată de dispozitivul pe care îl gestionează şi irq_handled}/true} în caz contrar
    4. se resetează bitul interrupt-pending pe dispozitivul fizic
    • [1]
    • (1)
  • Parametrul synchronizeirql} al funcţiei ioconnectinterrupt}:
    1. specifică valoarea IRQ-ului la care va rula rutina de tratare a înteruperii
    2. este folosit pentru sincronizare între rutina de tratare a întreruperii şi contex proces
    3. trebuie să fie valoarea maximă dintre toate întreruperile servite de o rutină de tratare a întreruperii
    4. trebuie să aibă aceeaşi valoare cu parametrul irql} al aceleiaşi funcţii
    • [1]
    • (1)
so2/laboratoare/quiz/quiz_lab06.txt · Last modified: 2013/02/10 02:10 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0