[elektro] Nuvoton Cortex-M0
hg12345
hg12345 at freemail.hu
Fri Nov 11 22:05:26 CET 2011
>
> Semaforhoz ATOMIC memória müvelet szükséges, ha elegendő egy>
> bit hozzá, akkor a bit címzésű területen ezt megteheted....ezt>
> próbáltad?>
>
Már megint gyári könyvtár :) nem használok, mert csak szívok velük.>
Ha jól emléxem az atomic a setena/clrena-t használja, tehát ugyanaz>
mit említettem a disable/enable IT csak az atomic szép csicsa meg>
nagy de legalább lassú :)>
Nem preferálom a gyári függvényeket, nagyon lassuak...
Az közvetlen bit elérésre gondoltam, amiről ez után írsz
>
> Ez elvileg három belső lépésből bonthatatlanul READ-MODIFY-WRITE egy>
> bitre... (és tényleg három órajel) persze volatile-vel kell jelezni,>
> hogy véletlenűl se optimálja ezeket a változókat.>
>
Hát én nemtom mire gondolsz, de a cortexben szokott lenni egybites>
memória amit settelni meg resetelni lehet. Vagy az is megoldás ha a>
fordítónak megmondod, hogy egy regisztert hagyjon meg neked és akkor>
abba pakolgatsz asm makrókkal. Linker opciónál lehet asszem>
megadni,külső obj-ek belefordítására való. Esetleg a nem használt GPIO>
is jó erre. >
A regiszter írás, vagy periféria irás, legalább 2 de inkább 3 utasítás ez semmi esetre sem lehet "atomic",
ezzel szemben közvetlen bitcímzésű terület, hiába lassú (3 órajel) a uC szempontjából "atomic" mert nem bonthatja meg semmilyen IT kérés, ha elindult a folyamat.
>
>
> NXP-ből használsz többprocessoros ARM-t?>
>
Nem, csak példaként hoztam fel a többprocit.>
>
Azt hittem igen :-) Kiváncsi lettem volna __WFE() müködésére, sajnos nekem nem akart müködni a STM32 alatt, valami volt az errata-ban.....
>
----------------------------------------->
elektro[-flame|-etc]>
More information about the Elektro
mailing list