avrgcc,zrodelka i hexy i co z tego wynika

Oct 05, 2005 2 Replies

Witam



Otrzymalem od pewnej firmy zrodelka pewnego programu tj : pli.hex plik.bin plik.c plik.lst plik.o makefile



oraz wiadoma informacje , ze aby wszystko dzialalo jak trzeba nalezy to skompilowac w avrgcc posidajac zainstalowany kompilator avrgcc 20040913 na winde skompilowalem owy programik i jak sie idzie domyslec wszystko sie udalo jak nalezy.Roznica w wielkosci pliku PLIK.HEX otrzymanego i skompilowanego byla rozna co dalo do zastanowienia ale jest cos takiego jak optymizacja kodu wiec odpuscilem , jednak po wgraniu sofciku do procesorak jakim jest mega128 NIC , wgralem orginal idziala:( .



Pytanie jakie kieruje jest nastepujace:



Czy mozliwe jest z posidanych pow. plikow otrzymac informacje na temat urzytego kompilatora ?



Pytanie zadaje poniewaz support firmy niekce sie skontaktowac ze mnai odpowiedziec na pyt , jakiego kompilatora urzyto , nadmienia m ze za oprogramowanie zaplacilem za co obiecano mi wsparcie tech



jak ktos kce to wysle na priva jaka to firma.



Thx wielki Rob.


Po pierwsze primo: avr-gcc sporo się różni między wersjami, więc tu może być "Hund begraben".

Po drugie primo: optymalizacja jest określona w makefile'u.

Po trzecie primo: jeśli masz binarkę i działa, to po co kompilować? ;)

Może w makefile'u będzie jakaś wskazówka co do kompilatora? Albo w źródłach jakiś komentarz? Zapewne z bin można coś wyciągnąć po sposobie inicjowania programu, zmiennych itp., ale za cienki Bolek tutaj jestem, żeby podpowiadać...

Pozdrawiam

Zamień plik hex na binarny (wersję oryginalną .bin już masz) i porównaj. Format pliku Intel Hex pozwala m.in. na zapis linii o różnej długości i z tego powodu plików hex nie można porównywać znak po znaku. Trzeba porównać czyste dane binarne. A jak wyjdzie co innego - porównaj listingi (pliki lst). Zobaczysz, co było oryginalnie, a co wymyślił twój kompilator.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required