Tworz±c firmware na mikrokontroler Atmela w jêzyku C doszed³em do etapu, w którym mój kod jest wiekszy niz 2K co spowodowa³o, ¿e darmowa wersja kompilatora C firmy Keil nie chce ju¿ mi go skompilowaæ. Zatem próbujê przestawiæ siê na darmowy kompilator SDCC. Niestety nie wiem jak z nim pracowaæ. Próbujê skompilowaæ, zlinkowaæ ... ale bez powodzenia. Pytanie: Jak skompilowaæ np. pliki: Plik1.c + Plik2.h + at89S8252.h i otrzymaæ plik wynikowy w postaci INTELHEX? Program jest pisany na 89S8252.
Kompilator C: SDCC
Oct 23, 2004
19 Replies
formatting link
pzdr. j.
Wszystko by³o by fajnie gdyby nie wyskakiwa³ b³±d: 'fopen' failed on file 'Plik.c' . Nawet je¶li w pliku jest tylko funkcja main() wyskakuje ten sam b³±d :(
A probowales podac pelna sciezke do pliku? Kompilujesz pod windowsem czy linuksem? Czy kompilator i plik zrodlowy sa w roznych katalogach czy w tym samym? Przegladajac instrukcje zauwazylem ze w niektorych sytuacjach sdcc wymaga podania pelnej sciezki (lame), wiec moze i tutaj wykrzacza sie na tym samym.
j.
..
Witam. Tu leży darmowe IDE do SDCC i ASM dla MCS-51.
formatting link
Pozdrawiam. Piotrek Sz.
Piotrek Sz. snipped-for-privacy@gazeta.pl napisał(a):
Adres bez "Pozdrawiam" oczywiście :) Często się "dokleja" do linków :-)
P.Sz.
Wkoñcu co¶ posz³o. WIELKIE DZIÊKI! Mia³em problem z podaniem ¶cie¿ki bezwzglêdnej do pliku Plik.c. SDCC zainstalowa³em w C:\Program Files\SDCC\ i nie mog³em sobie poradziæ ze spacj± w wyrazeniu Program(spacja)Files :)). Odinstalowa³em kompilator i zainstalowa³em bezpo¶rednio na C:\SDCC\. Tak na marginesie jak podac sciezkê do pliku gdy w tej ¶cie¿ce znajduje siê spacja? Próbowa³em C:\Program~\SDCC\ ale jako¶ nie chcia³o dzia³aæ.
Zwykle ujecie w cudzyslow pomagalo. Probowales "c:/program files/..." ?
j.
Przyda siê na przysz³o¶æ :)
¦ci±gn±³em ale jeszcze nie rozpakowa³em. Dziêki.
U¿ytkownik "I:D" snipped-for-privacy@vp.pl napisa³ w wiadomo¶ci news:cldtlv$abs$ snipped-for-privacy@news.onet.pl...
jesli satysfakcjonuje cie takie ograniczenie :
The Product Evaluation Kit is a complete working copy of the Advanced Development System only limited by the size of the code that can be created:
1024 Byte Assembly sourced objects 2048 Byte C language sourced objects 4096 Absolute final object fileTo sprawdz
formatting link
Najwyrazniej on go nawet nie potrafi otworzyc, a do zawartosci nawet nie spoglada. Sugerowalbym sprawdzic:
- czy plik jest we wlasciwym katalogu,
- zamknac edytor - moze blokuje dostep,
- duze i male litery - moze w tym problem ?
- czy ten plik nie nazywa sie np Plik.c.txt
J.
o dziwo MS pomyslal i daje sie podac w cudzyslowach, w tym np tak smiesznie: C:\"Program Files"\SDCC\
A ten katalog zazwyczaj zwie sie PROGRA~1
J.
czy za pomoc± tego ide da sie zbudowac projekt skladaj±cy siê z kilku plików bo jako¶ mi nie wychodzi. kazdy plik kompiluje sie oddzielnie. tak jakby brakowa³o linkowania. czy komus sie to uda³o? pozdrawiam s³awek
Okaza³o siê, ¿e b³êdem by³o podawanie ¶cie¿ki wzglêdnej do pliku. B³êdne jest Plik.c, powinno byæ C:\SDCC\Plik.c. Niby proste i od sprawdzenia tego powinien zacz±æ, ale niestety przys³owiowe "Pod latarni± zawsze najciemniej" powinno siê staæ moim mottem ¿yciowym :))
SDCC jest darmowy (dziêki zapaleñcom z g³ow± na karku) i nie ma ograniczeñ, wiêc powy¿szy link odpada. Wad±, jak czyta³em w recenzjach, jest brak IDE, jednak z pomoc± przyszed³ Piotrek Sz. i jego link (4 posty wy¿ej). Polecam, choæ na kompie 400MHz scroll programu trochê nie nad±¿a. Do pisania programów w C mo¿na najprawdopodobniej wykorzystaæ tak¿e VisualStudio z ustawieniem kompilatora i linkera na SDCC. Jeszcze tego nie próbowa³em, ale wydaje siê to byæ b.dobrym rozwi±zaniem (dla posiadaczy Visuala).
W³a¶nie tego chcia³em spróbowaæ, ale nie wiem jak wykorzystaæ w VisualC++ kompilator SDCC zamiast standardowego. Szuka³em w Project: Settings... ale bez skutku. Czy ju¿ kto¶ tego próbowa³?? Mile widziane twierdz±ce posty :)
Proponuje jeszcze jedno rozwiązanie :-)
formatting link
Super edytor programisty i jeśli się go umiejętnie skonfiguruje to ...cacuszko :) Można "latać" po całym kodzie tzn. w programie głównym odwołujemy się np. do procedury Delay_h ,która to znajduje w innym pliku CTRL+ENTER i już mamy otwarty plik z w/w procedurą i kursor na jaj początku,a po sprawdzeniu co tam jest lub ewentualnej korekcie ALT+ENTER i jesteśmy w miejscu z którego wyskoczyliśmy.Pliki muszą znajdować się w tym samym katalogu lub projekcie(chyba).
To tyle :)
Pzdr. Piotrek Sz.
Dziêki. Napewno przetestujê. Choæ ca³y czas my¶lê o pe³nej wersji Keil uVision :))
dostêpna na eMule - taki ¿art, sory...
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required