8051 + kompilator

Apr 21, 2004 7 Replies

Witam, staram sie uzywac sdcc jako kompilatora C dla uC 51 dokladnie



89s8252. Po wygenerowaniu pliku hex czyli kompilacji z uzyciem sdcc, na symulatorze wszystko dziala nastomiast gdy probuje to nagrac na procek programator staje przy adresie 2800 i pokazuje sie blad. Przy wykonaniu hex2bin rowniez polazuje sie blad:

C:\sdcc\bin>hex2bin licznik.ihx



HEX2BIN: Converts an Intel hexadecimal file to absolute binary. Written by G. Goodhue, Signetics Corp.



LICZNIK.IHX ---> LICZNIK.BIN



** Gap encountered at address 000B, filling with zeros
** Gap encountered at address 0013, filling with zeros
** Gap encountered at address 001B, filling with zeros
** Gap encountered at address 0023, filling with zeros
** Gap encountered at address 002B, filling with zeros
** Gap encountered at address 0E4E, filling with zeros
** Error : specified address 002C is too low, expected address 0EA5 **
** Object file corrupted, aborting **

Ten sam program kompilowany pod RIDE raisonance przechodzi hex2bin bez problemu. Niestety RIDE mam wersje demo i tylko 2 kilo kodu moge skompilowac co jest stanowczo za malo, istnieje jakas alternatywa dla sdcc ? jak sobie poradzic ?



Pozdrawiam.


To masz problem z programatorem lub z prockiem a nie z kompilatorem. Zmieñ procek.

Mister

Bylbym dzwieczny, jesli nie jest kosmicznie duzy (20MB) to najlepiej na snipped-for-privacy@WYTNIJszas.uk.to

Nie zauwazylem, przepraszam.

Pozdrawiam, Mariusz.

Wed, 21 Apr 2004 11:10:20 +0200 jednostka biologiczna o nazwie "angel" snipped-for-privacy@szas.z.pl> wyslala do portu 119 jednego z serwerow news nastepujace dane:

Kompilator generuje plik HEX, w ktorym dane sa nie po kolei i ma do tego prawo. Zmien program HEX2BIN na inny, bo ten jest g..niany i nie radzi sobie z ukladaniem takich plikow. Jak chcesz to podesle ten ktorego ja uzywam (z tym ze nie wiem czy on sobie z takimi radzi, bo nigdy nie probowalem). Temat byl zreszta na grupie niedawno.

Wed, 21 Apr 2004 11:50:28 +0200 jednostka biologiczna o nazwie "angel" snipped-for-privacy@szas.z.pl> wyslala do portu 119 jednego z serwerow news nastepujace dane:

No cos Ty. To nie jest Micro$oft Hex2bin 2004 ;-)

Poszlo

Nie obiecuje ze ten bedzie sobie radzil. Daj zreszta znac czy sie udalo. Jakby nie dzialal to wrzucasz na google "hex2bin" i wyskakuje pelno takich programikow.

Wed, 21 Apr 2004 11:10:20 +0200 jednostka biologiczna o nazwie "angel" snipped-for-privacy@szas.z.pl> wyslala do portu 119 jednego z serwerow news nastepujace dane:

Kopiujesz do programatora poleceniem COPY ? Musisz koniecznie dodac opcje /B (kopiowanie binarne). Ostatnio tez mialem taki przypadek. Program dzialal w symulatorze, a po zapisaniu do procka niezbyt :-) Przykladalem do programatora "serwisowa delte Diraca"* ;-), probowalem z innym egzemplarzem procka - nic :-/ W koncu przyszlo mi do glowy zeby podejrzec co sie dzieje na RSie. Podpialem laptopa (dobrze ze kumpel akurat zostawil do naprawy), odpalilem term95 i zobaczylem - system przerywal w pewnym momencie wysylanie pliku. Dalem /B i pomoglo jak reka odjal.

  • serwisowa delta Diraca - krotki impuls kinetyczny o duzej energii przykladany na obudowe naprawianego urzadzenia za pomoca piesci :-)

Je¶li problemu nie rozwi±za³e¶ jeszcze - pode¶lij na priv-a tego HEX-a.. Spróbujê go zamieniæ na BIN-a swoim programem.

Tadek

Hmm, okazalo sie jak to zawsze na poczatku ze wszystko bylo do dupy, od programatora po kompilator :). Skompilowalem swoj kod zrodlowy na Keilu C51 w wyniku czego plik binarny ma rozmiar

3kb zamiast poprzednio 28kb z uzyciem sdcc. Dodatkowo programowalem uC z uzyciem bascoma ktory to od razu pokazal ze kod za duzy i nie wejdzie na flasha, poprzedni przemilczal ten fakt i probowal na slepo wpisac ile sie da uC to 89S8252 Po odkryciu tego zmienilem kompilator, soft do programowania i udalo sie nagrac :)

PS. Programuje z uzyciem ISP

Pozdrawiam, Mariusz.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required