Forum: Compiler & IDEs Soft Uart von Fast Boot von Peter Dannegger


von noting (Gast)


Lesenswert?

Hallo Experten,
Ich wollte fragen ob es möglich ist die Soft Uart die im Bootloader 
verwendet ist auch in der eigentlichen Software zu verwenden?
Und wenn dies möglich ist wie realisiert man eine Schnittstelle zwischen 
ASM und C ?
Ich hoffe ich habe mich einigermaßen klar ausgedrückt !

Grüße

noting

von Peter D. (peda)


Lesenswert?

noting schrieb:
> Und wenn dies möglich ist wie realisiert man eine Schnittstelle zwischen
> ASM und C ?

Am besten garnicht.
Assembler nur dann mit C mixen, wenn es unbedingt nötig ist (ist bei mir 
aber noch nicht vorgekommen).

Nimm besser ne SW-UART in C, gibts sogar mit FIFO (Codesammlung).


Peter

von noting (Gast)


Lesenswert?

Danke Peter,
für deine Antwort!
Ich kenne deine SW-UART in C, aber aus Platzgründen hätte mir die 
Verwendung der Uart aus dem Bootloader besser gefallen!

Gruß
noting

von Peter D. (peda)


Lesenswert?

noting schrieb:
> aber aus Platzgründen hätte mir die
> Verwendung der Uart aus dem Bootloader besser gefallen!

Na so groß ist der UART-Code doch nicht.
Oder muß es unbedingt auf nen ATTiny13 passen?

Mit Prolog und Epilog zur C->Assemler->C Anpassung wirst Du eher noch 
mehr Code benötigen.

Davon abgesehen kennt der Compiler garnicht die Adresse von 
Bootloader-putchar, -getchar.
Wie willst Du sie dann aufrufen ???


Peter

von Simon K. (simon) Benutzerseite


Lesenswert?

Wer sagt denn, dass reiner Assembler kleinere Programme gibt? Das hängt 
stark von dem Können des Programmierers ab. Die Optimierungen der 
Compiler sind schon nicht schlecht. Und wenn man sich Mühe unter C gibt 
(wo man beim Peter wohl drauf wetten kann), kann man den erzeugten 
Assembler Code sogar noch etwas beeinflussen und verkleinern ohne 
überhaupt eine Zeile Assembler selber geschrieben zu haben.

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.