SW: přístup více úloh k jedné periférii.

Josef Štengl ok1ced na nagano.cz
Čtvrtek Březen 28 20:54:27 CET 2013


A jejky, já jsem smazal že se nejedná o žádný os. Mám tam napsaný jen 
takový jednodušší netradiční plánovač s tím, že mohou nastat požadavky 
na OS, přičemž pro cílově použití je OS typu FreeRTOS moc náročný 
přičemž zase jiná skupina ho pravděpodobně bude preferovat. Tak mám 
myšlenku z toho plánovač vynechat a zatím jsem nepřišel jak na to. 
zakázání INT je možné, jen v ARM user modu je to navíc 9 instrukcí. Jen 
mě zajímalo jestli to jde jinak. Mimochodem na multiprocesorových 
architekturách toto stejně nebude fungovat.

ced

-------------
Pozn.
Oni jsou ty potvory pohonářský jsou moc náročný. A ještě horší je to se 
zdrojařema (měniče). Mělo by to běhat až do 30KHz a každý  cyklus chtějí 
počítat řízení. Je tam ARM na 180 MHz ale o vlastní řízení se stará FPGA 
(jinak by to byla utopie), takže takt pro řízení může také být určován 
přerušením od FPGA. Zabere to většinu času a ještě je tam CAN, SPI, EMIF 
a ETHERNET komunikace.Ten plánovač je takový ideově nečistá záležitost 
pro rychlost se spoustou kompromisů. Kdyby to běželo v přerušení, tak by 
se to nestačilo ukomunikovat nebo jen s podporou vnořených přerušení což 
by znamenalo reentrantní přerušení => další čas navíc.



Dne 28.3.2013 19:03, Martin Persich napsal(a):
> Není uvedeno o jaký operační systém se jedná, proto jen obecně. Uvedený
> postup je v podstatě správný, jen je potřeba během testování zámku a
> jeho případným nastavením mít zakázáno přerušení. Pak by neměl být
> problém. V multitaskových systémech hledejte "mutex", které pro to
> obvykle mohou sloužit.
> Martin. persich na transcon.cz
>
>
> ----- Original Message ----- From: "Josef Štengl" <ok1ced na nagano.cz>
> To: "HW-news" <hw-list na list.hw.cz>
> Sent: Thursday, March 28, 2013 6:51 PM
> Subject: OT: SW: přístup více úloh k jedné periférii.
>
>
> 'brej večír.
>
> Mám jednu periférii se kterou se komunikuje paralelně k CPU a nevím jak
> bezpečně ji zamknout po dobu kdy pracuje. Jedná se mi o to aby dva
> paralelní procesy nemohly přistoupit k periférii zároveň.
>
> pokud použiji systém:
>
> 1: přečtu si ZAMEK
> pokud ZAMEK zamčen
> goto 1
> pokud odemčen
> zamkni ZAMEK
>
> odemyká se na základě přerušení od periférie.
>
> No a problém je, že zamknutí zámku není atomické.
>
> Nechce se mi vymýšlet kolo a chybí mi v této oblasti vzdělání.
>
> Nemá někdo tušení jak tento problém řeší velký klucí, nebo co mám
> vlastně hledat abych si to nastudoval? Ono se mi nedostává ani v oblasti
> terminologie.
>
> Moc děkuji za nakopnutí.
>
> ced
>
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list