LPCxpresso: Potize s optimalizaci

Pavel Hudecek edizon na seznam.cz
Středa Červenec 27 14:02:13 CEST 2016


Prakticky to vypadá tak, že:
Pokud se if (neco==x... a neco=x; nacházejí v rozdílných .c, tak (přestože 
jsou volatile):
- if nezkoumá hodnotu neco a funguje tak, jakoby měla hodnotu uvedenou v 
deklaraci
- pokud se v tom druhém souboru nachází jen neco=x, tak se vykoná, jen je-li 
v tom souboru přímo přítomna deklarace s inicializací různou od x. Je-li tam 
jen extern, neco=x se vůbec neprovede.

(zatím jsem nekoukal do asm, tohle je výsledek krokování)

Začínám uvažovat o kacířskou myšlence, že:
- u i2c.c dám exclude from build a naincluduju ho do sys.c
- u sys.c dám exclude .... main.c
Nebo prostě všechny .c kromě main dám někam, kde se automaticky nekompiluje 
a naincluduju je do main:-)

PH

-----Původní zpráva----- 
From: Jan Waclawek
Dajte to spat do spravneho tvaru (t.j. ze v headeri je len deklaracia
extern volatile i2cSync a jedine miesto kde je definicia i2cSync je i2c.c,
a callback nech je ten povodny v i2c.c), z mapfile zistite absolutne
umiestnenie toho i2cSync a pozerajte sa priamo na tu adresu. V tom
callbacku sa musi zmenit. Alternativne poslite tu adresu a disasemblat
toho callbacku. 



Další informace o konferenci Hw-list