mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik .asm auf AVR schreiben


Autor: Michael D. (etzen_michi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag.

Ich würde gerne auf einem ATtiny2313 hinter dem .hex sozusagen eine .asm 
legen.

Die .hex belegt 104Byte (laut AVR Studio).
Die .asm hat auf den Windows Rechner eine größe von 1,37kB wenn man die 
Beschreibungen weg lässt.

Es geht hierbei darum das man bestimmte (in der .asm markierte) Timings 
nachträglich ohne den Asselmblercode zu haben, verändern zu können, 
indem man den Assemblercode vom AVR ausließt und neu Compiliert.

Meine Frage ist:
Eigentlich müsste das doch auf den AVR raufpassen (2048 - 104 - 1405 = 
539Byte über)

Wie ist soetwas möglich?

Edit: Habe grad noch ein paar Leerzeichen rausgenommen und komme auf 
826Byte.

Autor: Joachim K. (minifloat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In einem Hex-Editor einfach hintereinanderkopieren. Geht auch per 
Kommandozeile. Aber im ASM-Code den Vermerk nicht vergessen, dass man 
bitte beim neu brennen den ASM-Code wieder mit auf den AVR schieben 
soll. Zum Auslesen des AVR kann man ja avrdude die Hex auslesen lassen.

mfg mf

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bau doch einfach eine Routine/Funktion, die den Code im Programm selbst 
ausgeben kann. ;)

Quasi á la: Print("Sourcecode");

Autor: Michael D. (etzen_michi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema hintereinanderkopieren:

Wie soll ich das machen, die .hex sind ja nur Hexadezimale Informationen 
und daher werden die Infos aus der .asm nicht mitgenommen wenn ich 
flashe.

Ich habe mal beide Datein als .rar angehängt

Autor: Joachim K. (minifloat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann fehlt nur noch die Direktive, die den Sourcecode direkt in den 
Flash rein kopiert. Das kann man doch irgendwie mit Includes machen??
Noch was: Mach den Start deines ASM-Listings auf einen "geraden" Offset, 
wie z.B. 200h oder so. Dann ist es ein bisschen aufgeräumter.
Gute N8 mf

PS: dann mach erst ein hex2bin mit dem .hex file, häng dann dein asm 
code ran und danach weider ein bin2hex. jetz aber ab in die falle.

Autor: Michael D. (etzen_michi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WAAASS?

Autor: Michael D. (etzen_michi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie wurde die Datei welche darauskahm 3,5kB groß .. nach ein wenig 
beschneiden is sie jetzt aber perfekt für die 2048Byte des ATtiny

Autor: Michael D. (etzen_michi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu braucht der AVR den Datenspeicher? (Also nicht den FLASH sondern 
den EEPROM wie es in PoyProg angezeigt wird).

Kann ich den ohne Probleme vollschreiben wenn ich kein lds mache?

Autor: Joachim K. (minifloat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael Dierken schrieb:
> Datenspeicher

Das ist das interne EEprom.

Michael Dierken schrieb:
> Kann ich den ohne Probleme vollschreiben wenn ich kein lds mache?

Was ist lds?
Vollschreiben ohne Probleme, auch wenn ich mich jetzt frag was du genau 
willst.
mfg mf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.