Forum: Mikrocontroller und Digitale Elektronik .hex Datei erzeugen


von Simon K. (do1sku)


Lesenswert?

Hallo nochmal zusammen,

wie gestern schon in einem anderen Thread: 
(Beitrag "Patch einfügen") erzählt, beschäftige 
ich mich mit folgendem Projekt: 
http://www.dg4has.de/html/pocsac_encoder.html

Da der AT902313P nicht mehr produziert wird gibt es von dem Original 
Autor (http://users.rcn.com/carlott/projects.html) ein Patch um es auf 
dem ATtiny2313 zum laufen zu bekommen.

Da ich, wie gestern schon beschrieben, null Ahnung von ASM habe, sondern 
bis jetzt nur in C programmmiert habe, wurde mir geraten die Zeilen aus 
dem Patch manuell zu ändern.

Gesagt getan. Nun meckert AVR Studio 4.0 aber an Zeilen rum, die nicht 
im Patch verändert werden.

Da ich, wie gesagt, null ahnung von ASM habe, weis ich auch keine Lösung 
um das Problem zu beheben.

Könnte mir daher bitte jemand eine fertige HEX-Datei erzeugen, die ich 
einfach in den tiny2313 hacken kann ?

Vielen vielen Dank !

Gruß DO1SKU

von google (Gast)


Lesenswert?

Gibt es doch als link auf der Seite?

http://www.dg4has.de/pocsag1_1.hex

von asb (Gast)


Lesenswert?

google schrieb:
> Gibt es doch als link auf der Seite?
>
> http://www.dg4has.de/pocsag1_1.hex

Simon K. schrieb:
> Da der AT902313P nicht mehr produziert wird gibt es von dem Original
> Autor (http://users.rcn.com/carlott/projects.html) ein Patch um es auf
> dem ATtiny2313 zum laufen zu bekommen.

Und der Link zeigt auf das hexfile für den AT90 und NICHT für den Tiny, 
wie der TO es wollte.

von google (Gast)


Lesenswert?

Das hex könnte doch funktionieren? Getestet?

Die Unterschiede sind eher gering, wenn man nicht neu assemblieren muss.

Migration AT90S2313 zu ATTiny2313 
http://www.atmel.com/Images/doc4298.pdf

von asb (Gast)


Lesenswert?

google schrieb:
> wenn man nicht neu assemblieren muss.

Simon K. schrieb:
> ein Patch um es auf
> dem ATtiny2313 zum laufen zu bekommen.

Warum sollte sich der Autor die Mühe machen, einen Patch zu schaffen, 
wenn das gar nicht nötig wäre?

von google (Gast)


Lesenswert?

asb schrieb:
> Warum sollte sich der Autor die Mühe machen, einen Patch zu schaffen,
> wenn das gar nicht nötig wäre?

Weil der Autor des Patches die Hex-Datei nicht veröffentlicht hat?

von Simon K. (do1sku)


Lesenswert?

Danke für eure Antworten, aber das ist schon richtig, das Patch wird 
benötigt, weil die USART-register bei dem ATtiny 23 13 anders sind

Könnte das denn bitte jemand für mich machen? Also die HEX-file erzeugen 
für den 23 13?

Danke für Eure Hilfe!

Gruß. DO1SKU

von Wolfgang (Gast)


Lesenswert?

Simon K. schrieb:
> Da ich, wie gesagt, null ahnung von ASM habe, weis ich auch keine Lösung
> um das Problem zu beheben.

So schlimm ist ASM nicht. Ein Tiny2313 ist kein i7-Prozessor.

von asb (Gast)


Lesenswert?

google schrieb:
> asb schrieb:
>> Warum sollte sich der Autor die Mühe machen, einen Patch zu schaffen,
>> wenn das gar nicht nötig wäre?
>
> Weil der Autor des Patches die Hex-Datei nicht veröffentlicht hat?

Dafür aber den Patch, damit man eben den Code auf dem Tiny
zum Laufen kriegt.
Der Autor des Patches ist übrigens auch der Autor der 
Original-Hex-Datei.

von google (Gast)


Lesenswert?

Simon K. schrieb:
> Könnte das denn bitte jemand für mich machen? Also die HEX-file erzeugen
> für den 23 13?

Ich sitze am Ipad, da geht das nicht, sorry.

> weil die USART-register bei dem ATtiny 23 13 anders sind

Die Register der UART liegen übrigens auf denselben Adressen, die 
einzelnen Bits auch, soweit ich das übersehen kann. Der Tiny hat nur 
mehr Optionen.

von Karl H. (kbuchegg)


Lesenswert?

Simon K. schrieb:

> Gesagt getan. Nun meckert AVR Studio 4.0 aber an Zeilen rum,

zum Beispiel?

Soviel kann das ja nicht sein.

> Da ich, wie gesagt, null ahnung von ASM habe, weis ich auch keine Lösung
> um das Problem zu beheben.

Frage: Hast du überhaupt schon einmal programmiert?
Wenn nicht, dann ok.
Wenn schon: da wir davon ausgehen können, dass das originale Programm in 
Ordnung ist, im Patchfile sich lediglich ein paar Bezeichnungen geändert 
haben, kann also der Source Code nicht so wahnsinnig weit von dem 
entfernt sein, was sich in der Zwischenzeit in der Syntax verändert hat, 
die der Assembler sehen will. Fehlermeldungen lesen und darüber 
nachdenken, was wohl gemeint sein wird. So schwierig ist die Syntax dann 
auch wieder nicht.

von google (Gast)


Lesenswert?

asb schrieb:
> Der Autor des Patches ist übrigens auch der Autor der
> Original-Hex-Datei.

Mag sein, aber nicht Autor der oben verlinkten Hex-Datei. Der Patch ist 
von N2RVQ, die Hex-Datei von DG4HAS.

von Simon K. (do1sku)


Lesenswert?

Wolfgang schrieb:
> So schlimm ist ASM nicht. Ein Tiny2313 ist kein i7-Prozessor.

Wenn ich das könnte und die Zeit dazu hätte mir ASM bei zubringen, hätte 
ich nicht nach Hilfe gefragt.

google schrieb:
> Die Register der UART liegen übrigens auf denselben Adressen, die
> einzelnen Bits auch, soweit ich das übersehen kann. Der Tiny hat nur
> mehr Optionen.

Also im Patch sind genau diese Zeilen geändert. Ich probiers aber mal :)

von google (Gast)


Angehängte Dateien:

Lesenswert?

Simon K. schrieb:
> Also im Patch sind genau diese Zeilen geändert. Ich probiers aber mal :)

Mehr als nicht gehen kann ja nicht passieren.

Im Anhang mal die Ausschnitte aus den Datenblättern.

von asb (Gast)


Lesenswert?

google schrieb:
> asb schrieb:
>> Der Autor des Patches ist übrigens auch der Autor der
>> Original-Hex-Datei.
>
> Mag sein, aber nicht Autor der oben verlinkten Hex-Datei. Der Patch ist
> von N2RVQ, die Hex-Datei von DG4HAS.

Nein, die ist ebenfalls von N2RVQ.
DK4HAS hat sie nur auf seine Seite gestellt.

Zitat von DG4HAS:
1
Ich bin auf der Seite von Henry Carl Ott N2RVQ auf ein
2
interessantes kleines AVR Projekt gestossen.
3
..
4
Nutzungsbedingungen bitte bei Henry Carl Ott N2RVQ nachlesen!

von Simon K. (do1sku)


Lesenswert?

So, ausprobiert und ernüchternd festgestellt: der original HEX-Code geht 
nicht.

Serielle Schnittelle spuckt im Terminal nur €-Zeichen aus.

von MWS (Gast)


Lesenswert?

Simon K. schrieb:
> Serielle Schnittelle spuckt im Terminal nur €-Zeichen aus.

Quarz 7372800 angeschlossen und Fuses umgestellt?

von MWS (Gast)


Angehängte Dateien:

Lesenswert?

Simon K. schrieb:
> der original HEX-Code geht nicht.

Die IVT ist bereits anders.
Probier' den Anhang.

von MWS (Gast)


Angehängte Dateien:

Lesenswert?

Und wenn die vorige hex nicht mag, dann versuch's mit der.
Der Erzeuger dieses Werks ging recht verschwenderisch mit Registern um 
und dann kam sowas raus:
1
.def   poc_char = r27  ; current char being processed
2
; ...
3
get1_poc_char:
4
   ld  poc_char, x+      ; get char
was zu dem assembliert wird:
1
   ld   xh, x+
Bei der Ram-Speichergröße des Tiny2313 ist zwar ein 8bit Pointer 
ausreichend, trotzdem ist das pöse und kann ein unbestimmtes Ergebnis 
zeitigen, bzw. sich auf einem anderen Prozessor anders verhalten.
Ist nun auf:
1
.def   poc_char = r17
(doppelt) gelegt, was nach erster Durchsicht unschädlich sein dürfte.

von MWS (Gast)


Lesenswert?

Also es stört mich ja nicht, etwas Arbeit getan zu haben, tat's gern, da 
absehbar war, dass der TE nicht den Hauch einer Chance hatte, es selbst 
zu lösen.

Es stört mich weiter nicht, dass da weder ein Danke noch sonst etwas 
kommt, es stört mich dagegen sehr, wenn jemand um Hilfe bitte und statt 
dessen er dann wenigsten mit einer Rückmeldung, "geht, geht nicht", der 
Gemeinschaft ein wenig zurück gibt und ihm damit Andere nach ihm, für 
die's evtl. auch von Interesse wäre, am Allerwertesten vorbeigehen.

Hauptsache man hat selbst, was man will...

von Simon K. (do1sku)


Lesenswert?

Hallo,

leider bin ich durch mein Studium gerade etwas in Prüfungsstress, 
desweiteren hab ich den tiny2313 beim Brennen wohl zerschossen. Dafür 
bitte ich um Verständnis.

Ohne etwas getestet zu haben, kann ich schlecht Rückmeldung dazu geben. 
Auch dafür bitte Verständnis.

Vielen Dank für deine/eure Mühe. Sobald es wieder ruhiger ist, besorge 
ich mir nen neuen µC, probiere es aus und geben Rückmeldung.


Gruß

von MWS (Gast)


Lesenswert?

Simon K. schrieb:
> ich mir nen neuen µC, probiere es aus und geben Rückmeldung.

Ok.

von Simon K. (do1sku)


Lesenswert?

Soooooo,

endlich hab ich nen neuen tiny2313. Scheint alles zu funktionieren 
aber,...

...neues Problem:

Nachdem ich die Fuses auf ext. Osz. gebrannt habe funktioniert auch die 
serielle Kommunikation zwischen PC und µC.
Allerdings auf 1200 und nicht auf 9600 Baud.

Hab ich da was falsch gebrannt ?

Ich habe das Teil an mein Funkgerät mit Dummy angeschlossen und auf der 
Skyper-Frequenz versucht meinen Skyper anzusprechen. Das funktionierte 
allerdings nicht.
Hängen die beiden Probleme evtl. zusammen ?

Danke an MWS für die Hilfe !

von MWS (Gast)


Lesenswert?

CKDIV8 Fuse anpassen.

von Joseph W. (josephwellen)


Lesenswert?

Guten Tag,
ich habe ebenfalls versucht das Projekt nachzubauen.
Leider scheiter ich bereits daran das der uc keinen Punkt sendet.

1) Programmiert wurde die hex von MWS
2) Meine Fuses sind:
SPIEN JA
CKDIV8 JA
Ext. Crystal 3-8Mhz Start up 14CK + 0ms
3) Messungen:
-GND und 5V liegen am UC an
-Mit dem Oszilloscope an PA1 und PA0 gemessen: 7,3MHZ
Versuche:
Laut Doku kann man mit "I[cr]" den UC zu einer Ausgabe über RS232 
verhelfen.
das geht leider nicht.

Der RS232 wurde auch schon Probeweise durch einen FTDI Adapter ersetzt 
keine Reaktion.
Die Einstellungen über HTerm waren: Baud9600,Data 8, Stop 1, Parity None

Ich würde mich über HILFE super freuen : )
Grüße Joseph

von H.Joachim S. (crazyhorse)


Lesenswert?

Joseph W. schrieb:
> CKDIV8 JA

das ist falsch.

von Joseph W. (josephwellen)


Lesenswert?

Danke für die frühe Antwort.
Ist geändert leider auch da kein Erfolg.

Eigentlich sollte beim Starten noch eine CopyRight Info kommen, selbst 
die kommt nicht : (

Ich habe das Gefühl, dass das an CTS liegen könnte.
Welchen Wert (GND oder 5V) sollte die Leitung haben damit der Atmel 
senden kann?


Danke : )

von Joseph W. (josephwellen)


Lesenswert?

Update:
Ich habe den Atmel soweit das er die Begrüßungsnachricht rausgibt, 
allerdings in einer Unglaublichen Geschwindigkeit und immer immer 
wieder.
Ideen?

von Joseph W. (josephwellen)


Lesenswert?

Also folgende Fehler wurden gemacht:
1) Platine nur mit IC und Quarz aufgebaut ohne die LEDs (wieso auch 
immer) fängt er an immer den Begrüßungstext zu senden.

2) Beispiel: D1[cr]... das [cr] nicht als text schicken sondern als 
Kommando

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.