Absolut Ahnungsloser benötigt Hilfe

OP #4883591
Lesenswert?

In meiner Not wende ich jetzt einmal an ein Spezialisten Forum, in der 
Hoffnung, dass hier jemand weiterhelfen kann.
Also vorab :
Ich hab absolut KEINE Ahnung von der Materie und bin so ziemlich 
hilflos.
Vorgeschichte:
Ein früherer Mitarbeiter hat uns ein Programm für einen ATMEGA 
Controller  geschrieben und uns erklärt, wie wir das HEX-File mit ATMEL 
STUDIO und einem Programmieradapter programmieren können. Hat bisher 
problemlos funktioniert.
Man weiß zwar nicht, was man macht, aber dafür wie man das Programm in 
den µC bekommt.
Soweit so gut.
Nun müssten in einer Datei ein paar Parameter geändert werden, das wäre 
auch kein großes Problem, da genau bekannt ist, was und wo geändert 
werden muss, ein texteditor ist dafür ausreichend.
NUN kommt das Problem, dass hier keiner weiß, wie man aus den ganzen 
Dateien wieder ein hex-file compilieren kann.

Also wir haben :
diverse *.c und *.h-Dateien, dazu ein Makefile
wir nutzen OSX und Windows.

BITTE BITTE :
erklär mir irgendeiner, wie ich aus dem ganzen Krempel wieder ein 
hex-file compilieren kann.
Moderator Persönliche Seite #4883594
Lesenswert?

Franz L. schrieb:
> erklär mir irgendeiner, wie ich aus dem ganzen Krempel wieder ein
> hex-file compilieren kann.

Wenn ein Makefile da ist: das passende "make" aufrufen.

Unter Windows ist sowas leider nicht von Haus aus dabei.  Auch der
benötigte Compiler muss vorhanden sein (“Toolchain”).

Sind das Maschinen, auf denen früher bereits compiliert worden ist?
Dann müsste ja alles vorhanden sein.
Gast #4883598
Lesenswert?

Ich machs dir auch für umme.
Oder du machst es selber.

Einfach das Atmel Projekt mit Atmel Studio öffnen, die nötigen Parameter 
ändern und oben im Reiter auf Build klicken und "Rebuild all" auswählen.
Nun solltest du eine neue Hex haben.
#4883604
Lesenswert?

Franz L. schrieb:
> Nun müssten in einer Datei ein paar Parameter geändert werden, das wäre
> auch kein großes Problem, da genau bekannt ist, was und wo geändert
> werden muss, ein texteditor ist dafür ausreichend.
> NUN kommt das Problem, dass hier keiner weiß, wie man aus den ganzen
> Dateien wieder ein hex-file compilieren kann.

Du widersprichst Dich hier grade selber - und vergisst das man den 
Scheiss hinterher auch ausgiebig testen muss.

Sucht Euch einen Spezialisten. Offensichtlich ist das ja kommerziell, 
dann müsst Ihr dafür auch halt mal wieder Geld auf den Tisch legen.
Gast #4883613
Lesenswert?

Na sie Programmieren die Kontroller doch über Atmel Studio.

"Ein früherer Mitarbeiter hat uns ein Programm für einen ATMEGA
Controller  geschrieben und uns erklärt, wie wir das HEX-File mit ATMEL
STUDIO und einem Programmieradapter programmieren können. Hat bisher
problemlos funktioniert."

Die leute wissen nicht was sie machen, könnens jedoch rüberspielen.
Evtl haben sie ja eine Projektdatei. Wenn nicht muss halt selber eine 
erstellt werden, die C datei und die Header dateien hinzugefügt werden 
und fertig.

Build -> Hex rüberspielen.
(Firma: matzetronics) #4883678
Lesenswert?

Hier ist ein Tutorial, wie man von Null ein Projekt mit Atmel Studio 6 
baut:
http://www.avr-tutorials.com/avr-studio-6/creating-new-avr-c-project-avr-studio-6

Im Prinzip geht es bei euch nur um das Hinzufügen der Dateien, das 
passiert im Solution Explorer mit rechter Maustaste -> 'Add File' -> zur 
*.c navigieren, mit STRG alle *.C Files sammeln und OK wählen.

F7 baut das Projekt.
Moderator Persönliche Seite #4883685
Lesenswert?

Matthias S. schrieb:
> Hier ist ein Tutorial, wie man von Null ein Projekt mit Atmel Studio 6
> baut

Was weißt du, was in dem Makefile alles noch drin steht, was das
Studio dann nicht so machen würde?

Ich würde das Makefile nehmen wie es ist.  Dann entweder im
Studio-Projekt explizit dieses Makefile benutzen lassen, oder
gleich von der Kommandozeile "make" aufrufen.

Nochmal die Frage: wurde auf den entsprechenden Maschinen das Projekt
auch früher schon compiliert oder nicht?
Gast #4883691
Lesenswert?

Weißt du was eine Kommandozeile ist? Unter OSX eine öffnen und in das 
Verzeichnis mit dem makefile wechseln. Dort

make

oder

make all

tippen. Entweder geht es oder du postest die erscheinende Fehlermeldung 
dann hier.
OP #4883692
Lesenswert?

Danke für die Nachricht.
Wir haben neue Rechner, einmal mit Windows, einmal mit OSX.
auf dem Windows Rechner ist nur ATMEL STUDIO 6.2 installiert und die 
einzige
Kenntnis über ATMEL ATUDIO liegt darin, unter TOOLS und DEVICE 
PROGRAMMING
den µC mit dem früher vorhandenen HEX File zu programmieren.
#4883709
Lesenswert?

Ach, ich liebe dieses Forum! Noch gar keine Trolls! Top

Du kannst es auch mal mit WINAVR probieren. Lade dir WINAVR, öffne dein 
main.c mit pn.exe und dann "make all". Dann hast du in dem Ordner auch 
ein hexfile...
Musst nur moch testen ob es dann auch dasd macht was du willst.

Viel Erfolg

G Ert
#4883723
Lesenswert?

Maker schrieb:
> Franz L. schrieb:
>> Atmel Studio gibts aber doch nicht für OSX, nur für Windows, oder ?
>
> Achso, keine Ahnung, nutze kein Atmel, nur makefiles.
>
> Hat Atmel echt keinen Unix-Support?

Kann sein, daß mal einer sowas installiert hat:

https://obdev.at/products/crosspack/index.html

Kann weiterhin sein, daß ein späteres OS-Upgrade die Dateien dann 
gefunden, für nicht apfelig genug befunden und wegquarantänisiert hat.

Ja, Äpfelchen machen so was, wenn ihnen danach ist, kein Witz.
#4883727
Lesenswert?

Franz L. schrieb:
> Danke für die Nachricht.
> Wir haben neue Rechner, einmal mit Windows, einmal mit OSX.
> auf dem Windows Rechner ist nur ATMEL STUDIO 6.2 installiert und die
> einzige
> Kenntnis über ATMEL ATUDIO liegt darin, unter TOOLS und DEVICE
> PROGRAMMING
> den µC mit dem früher vorhandenen HEX File zu programmieren.

dann wenn das unter diesem Rechner schon mal programmiert wurde wird es 
doch ein Projektfile geben, unter Studio 4 hiess das *.aps und liegt im 
Quellordner

also STUDIO 6.2 starten

und Projekt öffnen

Das Projekt wird doch hoffentlich auch gespeichert worden sein im 
Quellordner
Moderator Persönliche Seite #4883731
Lesenswert?

Nils P. schrieb:
> Du kannst es auch mal mit WINAVR probieren.

Nein, bitte nicht.  Das ist älter als die Jungsteinzeit.  Aktueller
Code muss sich damit keineswegs mehr compilieren lassen.

Mit Atmel Studio kommt bereits die Atmel-Toolchain und damit der
nötige Compiler, der ist nur nicht im PATH eingetragen.  Daher die
obige Ausschrift ("avr-gcc: command not found").

Die gute Nachricht dieser Meldung ist aber: ein "make" ist offenbar
bereits da.  Damit muss man nur noch rausfinden, wo der AVR-GCC
genau ist.  Vermutlich ist es
1
C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin

Das müsste Franz mal verifizieren.

Erweiterung des PATH ist leider eins der finstersten Kapitel bei
Microsoft.  Das entsprechende Tool gibt's in den Systemeinstellungen
unter „Environment Variables“ (bzw. „Umgebungsvariablen“), aber das
hat den Charakter eines Gucklochs. :-(

Maker schrieb:
> Hat Atmel echt keinen Unix-Support?

Ja, haben sie nicht.

Aber man kann sich unter OSX natürlich die Compiler und Tools auch
ranleiern.  Wie das genau geht, hängt aber ein bisschen davon ab,
was auf den jeweiligen Maschinen Usus ist (Macports, Fink oder
Homebrew).  Insofern wäre es natürlich gut, wenn sich seitens des
TE mal jemand das ansehen würde, der mit den dortigen Gepflogenheiten
bei der OSX-Nutzung einigermaßen vertraut ist.
Angehängte Dateien:
OP #4884467
Lesenswert?

Hallo nochmals an alle...
Zuerst einmal einen ganz herzlichen Dank für die vielen Tips und 
Hinweise und für die unendliche Geduld.
Der Tip mit WIN AVR Portabel hat mich schon mal um Längen 
weitergebracht, ich konnte die Programmteile erfolgreich und ohne 
Fehlermeldung compilieren.
Ein Test in den nächsten Tagen wird das Ergebnis zeigen, ich denke, es 
sollte funktionieren.
Abschließend noch ein großes Lob an das Forum.
Leider ist es selten, dass absoluten Anfängern so kompetent in Foren 
weitergeholfen wird ohne gleich oberlehrerhafte Kommentare abzugeben.
SUPER !!!
Vielen Dank nochmals.
Moderator Persönliche Seite #4884511
Lesenswert?

Joachim B. schrieb:
>>> Hat Atmel echt keinen Unix-Support?
>> Ja, haben sie nicht.
>
> aber doch Arduino

Ist nicht „Atmel“ – das war aber die Frage.

Jenseits von Atmel selbst kann man natürlich problemlos die Toolchain
aus diversen Quellen bekommen, schließlich werkelt untendrunter ein
unixoides System.  Das geht dann auch ganz ohne Arduino.

Irgendeine Form von IDE braucht Franz ohnehin nicht unbedingt;
schließlich hat man ihm bereits ein Makefile hinterlassen, und offenbar
war er auch in der Lage, den Sourcecode mittels eines gewöhnlichen
Texteditors passend abzuändern.
#4884935
Lesenswert?

Jörg W. schrieb:
> Nils P. schrieb:
>> Du kannst es auch mal mit WINAVR probieren.
>
> Nein, bitte nicht.  Das ist älter als die Jungsteinzeit.  Aktueller
> Code muss sich damit keineswegs mehr compilieren lassen.

Mh, was meinst du damit? Mir ist klar, dass wohl nicht mehr die neusten 
Atmel µCs unterstüzt werden. Aber warum sollte sich der Code den nicht 
mehr compilieren lassen? Weil Sourcen fehlen? Dann meckert doch der 
Compiler und er ist auch weitergekommen :-)

Ich mach immer mal wieder ein paar Modifikationen an meinen alten 
Projekten mit Atmega88/** mit winavr und konnte noch keinen Fehler 
feststellen...

Was soll den groß passieren, wenn er es doch macht? Wenn das neue Hex 
die Schaltung zerstört sollte er den Code zeigen. Das ist aber auch sehr 
sehr unwahrscheinlich mit 5 c und h files.

Mir geht das AVR Studio nur auf den Sack, immer bunter und bunter, und 
größer und nerfiger, ach und bunter... 842mb, Oha, die achter Version 
schafft das Gb ;-)

Jetzt klinge ich schon wie mein Opa :-)

Greez Termi
Moderator Persönliche Seite #4884939
Lesenswert?

Nils P. schrieb:

> Aber warum sollte sich der Code den nicht
> mehr compilieren lassen?

Falls des TE's Code Features nutzt, die nur neuere Compiler haben,
beispielsweise __flash, geht das mit dem alten WinAVR-Compiler
nicht mehr.

Wir wissen aber inzwischen, dass es sich damit offensichtlich
compilieren ließ, scheint also eher älterer Code zu sein.

Dennoch bleibt das Argument, dass in den letzten 7 Jahren sackweise
Bugfixes in den Compiler eingeflossen sind, ganz zu schweigen von
all den Verbesserungen der Optimierung, seit Georg-Johann Lay dort
Hand angelegt hat.

> Mir geht das AVR Studio nur auf den Sack

Ist ja nicht so, dass es nur ein „entweder WinAVR oder Atmel Studio“
als Entscheidungsspielraum gäbe.

Du kannst ja auch gern nach wie vor das Programmer's Notepad aus
dem WinAVR benutzen, aber eine neuere Toolchain von Atmel.  Die
bekommst du ja zum Glück auch separat vom Studio, wenn du willst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren