[pso] [Tema2][Linux]Problema enunt si implementare

Bogdan Nitu nitubogdan_cc at yahoo.com
Thu Apr 8 18:12:21 EEST 2010


Daca buffer-ul celui care trimite are 14 octeti de scris (atata are la mine FIFO) 
si la  fiecare intrerupere THREI scriu un octet, de cele mai multe ori mi se 
genereaza cele 14 consecutiv THREI si abia apoi cele 14 RDAI, rareori mi se mai intampla sa am 14 THREI cu un RDAI intercalat.


>Sigur rulezi cat de rapid se poate intreruperea?

Am putine instructiuni in handler, incerc sa simplific si mai mult si o sa vad
daca situatia se schimba in bine.  

Problema mai am si la LSR. Bitul 0 Data available este ok, imi spune daca mai 

mai sunt date sau nu.Insa bitii 5 si 6 (in special 5) sunt mereu 1 si 0 indiferent

de situatie si astfel eu nu stiu cand mai am voie sa scriu pe seriala.
Am fifo de 14, scriu de 14 ori cate un octet este ok. Scriu de 15 ori, nu mi se
mai genereaza nici un RDAI apoi.



>> bufferul circular ce dimensiune trebuie sa  aiba?
>    De ce ar fi relevant?

Nu are legatura cu problema mea, vream sa stiu daca ni se impune o 
anumita dimensiune. Am inteles ca nu se impune.
      


--- On Thu, 4/8/10, Razvan Deaconescu <razvan.deaconescu at cs.pub.ro> wrote:

From: Razvan Deaconescu <razvan.deaconescu at cs.pub.ro>
Subject: Re: [pso] [Tema2][Linux]Problema enunt si implementare
To: "Proiectarea Sistemelor de Operare" <pso at cursuri.cs.pub.ro>
Date: Thursday, April 8, 2010, 5:23 PM

On Thu, 2010-04-08 at 05:29 -0700, Bogdan Nitu wrote:
> Salut!
> 
> Intrebarea este urmatoare:  daca eu sunt la unul dintre capete (sa
> zicem COM2) am voie sa activez/dezactivez intreruperi pe portul
> celalalt (COM1) ?
>
<snip>
>
> Este ok solutia, am voie? Va rog sa imi raspundeti, ca tot ma chinui
> la problema asta de ceva vreme.

Nu ar trebui sa ajungi sa dezactivezi intreruperile unui port folosind
driverul altui port.

Intreruperile THREI ar trebui sa ti se activeze _doar_ cand ai FIFO-ul
hardware gol. Asa de repede se goleste buffer-ul incat vine o noua
intrerupere THREI? Sigur rulezi cat de rapid se poate intreruperea?

Pentru a nu veni in nestire, recomandam ca intreruperile THREI sa fie
dezactivate/reactivate la sfarsitul functiei write.

> Si o alta intrebare scurta, bufferul circular ce dimensiune trebuie sa
> aiba?

De ce ar fi relevant?

Razvan

_______________________________________________
pso mailing list
pso at cursuri.cs.pub.ro
http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/lurker/list/pso.html/attachments/20100408/aa331aa6/attachment.htm>


More information about the pso mailing list