Pawel K
Guest
Thu May 24, 2007 1:21 pm
Witam,
mam 2 identyczne uklady roznica jest niewielka.
w jednym jest zegar DS1305 w drugim DS1307.
Jest mozliwosc zeby kompilator tworzyl binaria
za jednym zamachem dla obu ukladow?
Jak to uwarunkowac ???
--
--
Pozrdawiam
Pawel K from 3miasto
groups(at)kpw.qs.pl
GG: 1263183
---------------- end ----------------
Maciej Wywrocki
Guest
Thu May 24, 2007 2:04 pm
Użytkownik "Pawel K" <groups@kpw.qs.pl> napisał w wiadomości
news:f34002$lbk$1@inews.gazeta.pl...
Quote:
Witam,
mam 2 identyczne uklady roznica jest niewielka.
w jednym jest zegar DS1305 w drugim DS1307.
Jest mozliwosc zeby kompilator tworzyl binaria
za jednym zamachem dla obu ukladow?
Kompilacja warunkowa?
Pzdr,
Maciek
Pawel K
Guest
Thu May 24, 2007 3:00 pm
Maciej Wywrocki pisze:
Quote:
Użytkownik "Pawel K" <groups@kpw.qs.pl> napisał w wiadomości
news:f34002$lbk$1@inews.gazeta.pl...
Witam,
mam 2 identyczne uklady roznica jest niewielka.
w jednym jest zegar DS1305 w drugim DS1307.
Jest mozliwosc zeby kompilator tworzyl binaria
za jednym zamachem dla obu ukladow?
Kompilacja warunkowa?
no tak, jednak albo 1szy wariant albo 2gi.
Mi chodzi o obydwa warianty za jednym zamachem :)
--
--
Pozrdawiam
Pawel K from 3miasto
groups(at)kpw.qs.pl
GG: 1263183
---------------- end ----------------
Łukasz Zemła
Guest
Thu May 24, 2007 3:32 pm
Pawel K pisze:
Quote:
Witam,
mam 2 identyczne uklady roznica jest niewielka.
w jednym jest zegar DS1305 w drugim DS1307.
Jest mozliwosc zeby kompilator tworzyl binaria
za jednym zamachem dla obu ukladow?
Jak to uwarunkowac ???
Edycja pliku Makefile, ale wydaje mi się, że prościej jednak utworzyć 2
projekty.
Albo inaczej - napisać skrypt, który najpierw utworzy pierwszą, a
następnie drugą binarkę.
--
Pozdrawiam,
Łukasz "Coulomb" Zemła
Bogdan G
Guest
Thu May 24, 2007 7:09 pm
Quote:
Witam,
mam 2 identyczne uklady roznica jest niewielka.
w jednym jest zegar DS1305 w drugim DS1307.
Jest mozliwosc zeby kompilator tworzyl binaria
za jednym zamachem dla obu ukladow?
Kompilacja warunkowa?
no tak, jednak albo 1szy wariant albo 2gi.
Mi chodzi o obydwa warianty za jednym zamachem :)
A skąd kompilator ma wiedzieć, z którym układem bedzie program
współpracował?
Masz dwie możliwości:
Dwa kody wynikowe - każdy inny. Mogą być utworzone warunkami podczas
kompilacji. W zależności od ukłądu współpracującego programujesz jedną lub
drugą wersją.
Druga możliwość to jeden kod wynikowy, a program sam sprawdza jaki jest to
układ (na podstawie ich właściwości lub dodatkowych zworek) i wybiera
odpowiednie procedury obsługi. Ja bym wybrał do urządzenia mającego być
produkowanego z takimi lub takimi układami właśnie takie rozwiazanie (chyba,
że nie chciałoby się zmiescić w pamięci).
Wiktor S.
Guest
Thu May 24, 2007 10:23 pm
Quote:
mam 2 identyczne uklady roznica jest niewielka.
w jednym jest zegar DS1305 w drugim DS1307.
Jest mozliwosc zeby kompilator tworzyl binaria
za jednym zamachem dla obu ukladow?
Jak to uwarunkowac ???
odpowiednio grzebiąc w makefile ;-)
--
Azarien
Adam Dybkowski
Guest
Fri May 25, 2007 1:22 am
Pawel K pisze:
Quote:
mam 2 identyczne uklady roznica jest niewielka.
w jednym jest zegar DS1305 w drugim DS1307.
Jest mozliwosc zeby kompilator tworzyl binaria
za jednym zamachem dla obu ukladow?
Kompilacja warunkowa?
no tak, jednak albo 1szy wariant albo 2gi.
Mi chodzi o obydwa warianty za jednym zamachem
No to w makefile wstawiasz do opcji kompilatora np. -DMAM_DS1305 a za
drugim razem -DMAM_DS1307 i sprawdzasz tą definicję #ifdef'em tak jak
inne kompilacje warunkowe. Warto zrobić oddzielne sprawdzenia każdej
definicji zamiast klauzuli #else aby wykryć ew. niezdefiniowanie typu
układu w pliku makefile.
Możesz tak napisać makefile, aby wszystkie pliki były wspólne, a tylko
kod do obsługi DS1305 wzięty z pliku ds.c wpadł do ds1305.o natomiast to
samo skompilowane dla DS1307 wpadło do pliku ds1307.o. Potem w spisie
plików linkowanych umieszczasz ds1305.o a innym razem 1307.o i po
kłopocie. Trzeba tylko powielić wywołanie linkera np. przy generacji
"all:" aby zrobiły się dwa pliki wynikowe.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Pawel K
Guest
Fri May 25, 2007 9:14 am
Adam Dybkowski pisze:
Quote:
No to w makefile wstawiasz do opcji kompilatora np. -DMAM_DS1305 a za
drugim razem -DMAM_DS1307 i sprawdzasz tą definicję #ifdef'em tak jak
inne kompilacje warunkowe. Warto zrobić oddzielne sprawdzenia każdej
definicji zamiast klauzuli #else aby wykryć ew. niezdefiniowanie typu
układu w pliku makefile.
Możesz tak napisać makefile, aby wszystkie pliki były wspólne, a tylko
kod do obsługi DS1305 wzięty z pliku ds.c wpadł do ds1305.o natomiast to
samo skompilowane dla DS1307 wpadło do pliku ds1307.o. Potem w spisie
plików linkowanych umieszczasz ds1305.o a innym razem 1307.o i po
kłopocie. Trzeba tylko powielić wywołanie linkera np. przy generacji
"all:" aby zrobiły się dwa pliki wynikowe.
dzieki wielkie .... jak zawsze niezawodny ...
--
--
Pozrdawiam
Pawel K from 3miasto
groups(at)kpw.qs.pl
GG: 1263183
---------------- end ----------------