Forum: Mikrocontroller und Digitale Elektronik Programmcode kompilieren


von Frank (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich melde mich hier, weil ich einfach nicht weiter komme.
Im AAA-Forum gab es vor längerer Zeit mal ein Projekt, bei dem es um 
eine Lautstärken- und Quellenregelung ging.
Das ganze Ding habe ich nun aufgebaut, funktioniert mit dem damals 
bestellten µC auch einwandfrei.
Im Laufe der Zeit kam dann ein neues, optimiertes Programm für den µC 
raus, welches ich auch gerne in meinem System hätte.

Mein Problem ist nun, dass ich es einfach nicht gebacken kriege aus dem 
Haufen *.c und *.h Dateien eine *.hex zu kompilieren, mit der ich dann 
einen neuen Atmega beschreiben könnte.

Ich gebe offen und ehrlich zu, dass ich da keinen großen Durchblick habe 
und mich auch mittlerweile zu untalentiert (und alt 'g') dafür ansehe 
das jemals auf die Reihe zu kriegen.

Darum kurz und bündig:
Könnte mir bitte jemand aus den im Anhang befindlichen Dateien eine 
*.hex machen, die ich dann nur noch auf den µC brennen muss?

Einen passenden Brenner habe ich hier und beschrieben habe ich so'n 
Atmega auch schon mal, das traue ich mir also zu.
Ich wollte mir das ganze mal aneignen und kam letztendlich doch nie 
dazu.

Zu den Daten sei noch folgendes zu erwähnen:
Der 'Erfinder' dieses Programms (der leider nicht mehr zu erreichen ist) 
schrieb im Forum, dass er astudio4b623.exe und 
WinAVR-20080610-install.exe als damals aktuelle Programme benutzt hat.
Der zu beschreibende µC ist ein ATMEGA 48 (Reichelt: ATMEGA 48-20 DIP).

Es wäre super nett, wenn mir das jemand machen könnte...ich vermute für 
einen Könner ist das kaum der Rede wert...ich hingegen lese mir die 
Augen wund und finde doch keinen Ansatz.

Vielen Dank im Voraus!

Gruß Frank

PS: Vielleicht könnte mir auch direkt jemand verraten, welche Bits 
(Fuses) ich bei einem Werks-neuen Atmega48 setzen muss, damit das alles 
läuft? 'CKDIV8' darf wohl laut Angabe vom Erfinder NICHT gesetzt werden 
- da gibt's ja aber noch ein paar andere Bits, von denen sicherlich ein 
paar gesetzt sein sollten.


Link zum besagtem Thread:
http://www.analog-forum.de/wbboard/index.php?page=Thread&threadID=31704

von Andreas (Gast)


Lesenswert?

Hi,

in Deiner ZIP-Datei ist doch schon eine HEX enthalten!

Warum auch immer die HEX-Datei nicht funktioniert, es ist sicherlich 
hilfreich den Quellcode der vorherigen Version anzuhängen.

Gruß

von Frank (Gast)


Lesenswert?

Hallo,
ich hab mich nicht präzise genug ausgedrückt :)

Also die Ursprungs-Software wurde nie veröffentlicht, der Entwickler 
eben dieser hat da ein riesen Geheimnis draus gemacht und nur fertig 
programmierte Chips verkauft (sein gutes Recht).
Diese SW hatte ich bisher auch in Betrieb.

Nach einiger Zeit stieß dann jemand dazu, der die ursprüngliche Software 
quais nachgeschrieben, verfeinert, leicht abgeändert und komplett 
veröffentlicht hat (DAS ist die *.hex und die dazugehörigen Dateien in 
der oben angehängten Zip)
Diese SW habe ich dann auf den µC mit der alten SW gebrannt -> 
funktioniert tadellos.

Der gute Mann gab noch einige Tipps um die freie Software nach seinen 
persönlichen Bedürfnissen anzugleichen - für mich kam einzig und allein 
die 'switch_on()' Funktion in der main.c in Frage, der Rest war komplett 
so, wie ichs gern hätte.

Die Zeile 'switch_on(); /* einschalten */' habe ich in der main.c schon 
an der richtigen Stelle eingefügt (der Rest ist komplett unangetastet 
von mir), nun muss aus den ganzen Dateien nur noch die passende *.hex 
kompiliert werden.

Die Funktion bewirkt, dass der Vorverstärker sich bei Netz-Einschaltung 
direkt Einschaltet und nicht erst in den Standby geht.

Gruß Frank

von Karl H. (kbuchegg)


Angehängte Dateien:

Lesenswert?

Weiß nicht, was du hast.
Das compiliert bei mir einwandfrei, out of the Box.

Neues Projekt in WinAVr eingestellt.
Mega48 ausgewählt.

Alle *.c File zum Projekt hinzugefügt
Alle *.h zum Projekt hunzugefügt.

build. Fehler bekommen. Festgestellt, dass ln_list.c gar nicht zum 
Projekt gehört (ist offenbar irgendein Hilfsprogramm, mit dem auf dem PC 
Tabellen erstellt werden), ln_list.c wieder aus dem Projekt 
rausgeworfen. Build - 0 Fehler - 0 Warnings.

Anbei das AVR-Studio Projekt.

Sicherheitshalber solltest du in den Project Settings noch die 
Taktfrequenz des µC unter Frequency eingeben. Ich weiß nicht, ob sie wo 
benutzt wird, sicher ist sicher

von Frank (Gast)


Lesenswert?

Oha...sehr peinlich.
Es lag tatsächlich einzig und allein an der ln_list.c

Du ahnst gar nicht, wie dankbar ich dir bin! :-)

LG Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.