[elektro] C optimalizáció kérdés
hg12345
hg12345 at freemail.hu
Sat Sep 7 15:45:42 CEST 2013
Hi,
ez módosítás nem? Egy regiszter bázisú uC/uP mint az ARM
ez beolvas, módosít és kiír, ez biztos nem atomic utasítás, igazából ilyet nem is igen lehet csinálni mert van NMI, és HW BREAK az meg mindent atomic-t feltör az ARM környezetben, kivéve a M3 memóriaba ágyazott bit változóit, de mint esemény kezelés az se ad tökéletes megoldást, mert a feldolgozás minimum 2 program lépésben történik, beolvasás és tesztelés, a kettö között már módosítható.....
A port lábakat közvetlenül kezelem, (bitesen atomic módon) de nem változtatom meg öket csak kiolvasom.
A belső változókat meg csak az IT-ből, kezelem, egy belépési pont nincs újra engedélyezés, azonos pioritás nem tudja magát újra meghívni....
Az állapotgép számláló-azonosítója egy változó, ezt állítja a készülék.
Bali Zoltan <eltexto at freemail.hu> írta:
>De azért ilyenekkel bele lehet futni:>
>
volatile uint32_t val;>
>
val &= 0x00000005;>
>
Üdv. Zoli>
>
2013. 09. 07. 14:49 keltezéssel, Arnold Fuzesi írta:>
> Nem az a gond, h nem "atomic" modon kezeled a foprogramban azt a valtozot amit az IT is babral? Mondjuk 32 bites proc eseten ennek kicsi az eselye, de hatha ilyesmi a gond forrasa...>
>>
> Arnold>
> Sent from my iPhone>
>>
> On 2013.09.07., at 13:01, hg12345<hg12345 at freemail.hu> wrote:>
>>
> >
>> Hi>
>>>
>> már nem elöször futok bele, hogy az optimalizáció után a program nem azt csinálja amit optimalizáció elött.>
>> Általában HW kezelő IT-ben, máshol ilyen problémám még nem volt.>
>> Ellenörizni nem sikerül, mert a disass rész a makro behelyettesítéssel láttatja magát, igy teljesen összefüggéstelen a C listahoz tartozó disass ablak.....>
>>>
>> Ha mindent kiegészítek "volatile" akkor is csinálja...>
>>>
>> Még milyen trükköt lehet alkalmazni, hogy helyes legyen a program lefutás.>
>>>
>> A környezet Nuvoton Cortex M0, és K E I L C.>
>>>
>> üdv>
>>>
>> Lajos Rancz<lajos.rancz at gmail.com> írta:>
>> >
>>> Helló!>>
>>> >
>> Egy ATtiny-t szeretnénk SPI slave módban használni, ez idáig rendben is.>>
>> Azonban kevés a hely a nyákon és megspórolnánk a ChipSelectet: fixen földre>>
>> lenne téve. Lehet ebből baj?>>
>> Nyilván akkor van a gond amikor az egyik újraindul a másik meg nem, ekkor>>
>> széthullik a kommunikáció. Csináltatok már ilyet?>>
>> Üdv>>
>> ----------------------------------------->>
>> elektro[-flame|-etc]>>
>>>
>>>
>> ----------------------------------------->
>> elektro[-flame|-etc]>
>> >
> ----------------------------------------->
> elektro[-flame|-etc]>
>
----------------------------------------->
elektro[-flame|-etc]
More information about the Elektro
mailing list