[elektro] C optimalizáció kérdés

Bali Zoltan eltexto at freemail.hu
Sat Sep 7 16:13:05 CEST 2013


Arnold nem atomic kezelésére írtam.

Üdv.  Zoli


2013. 09. 07. 15:45 keltezéssel, hg12345 írta:
> 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]
>
> -----------------------------------------
>            elektro[-flame|-etc]



More information about the Elektro mailing list