Assembler mit C verknüpfen

OP (Firma: x-pin.com GmbH) #586896
Lesenswert?

Gruß!

Ich habe zwei Geräte die über eine, sagen wir mal weniger sichere 
Leitung verbunden werden sollen. Das eine soll eine verschlüsselte msg 
abschicken, das andere soll sie empfangen, entschlüsseln und verarbeiten 
(alles auf dem SPI-Bus).

Habe viel herumgesucht und einige AES-Implementierungen entdeckt, die 
scheinbar für AVRs gedacht sind. Die meisten schlugen mit ~70 KB zu 
Buche und waren somit für den vorgesehenen ATmega48 leider zu groß (auch 
für die pinkompatiblen 88er und 168er).

Als letztes ist mir

http://point-at-infinity.org/avraes/

ins Auge gestochen.

4,44 Kb hex-file ist auch erträglich (88er oder 168er)

Das Problem dabei ist, dass der source in assembler geschrieben wurde 
ich aber das Programm in C schreiben möchte (bzw für den Host bereits 
geschrieben habe und dort lediglich die encrypt-function einbauen 
möchte).

Ich stelle mir das ganze so vor:
der assembler spuckt auch ein object-file aus, dazu schreibe ich meinen 
header und linke das main mit eben diesem object-file, soweit so gut.

Leider schaff ich es nicht den source mit zB avr-as zu compilieren, mit 
AVR-studio ist alles kein Problem, aber wie kann ich im Studio c & asm 
verknüpfen? Da geb ich doch am Anfang an welchen von den beiden 
compilern ich nutzen möchte.

Weiters würde es mich interessieren ob das .obj file des Studios gleich 
ist  mit einem zB im linux von der gnu-avr-toolchain erstellten.

Für jeglichen input bin ich dankbar.

Gruß Jan.
(Firma: ZeuSWarE GmbH) #586906
Lesenswert?

jo, dass kannst du,..
avr-gcc hat einen assembler,...
die source datei kannste auch beim aufruf der gcc.exe einfach an den 
assemblierer weiterleiten,...
die gnu-gcc pages sind in der handhabung eines 
compiler/assemblierer/linker etwas ausführlicher,..
ich habe mich damit auch reichlich schwer getan, besonders beim aufruf 
der labels,..

naja, du musst auf jedenfall mit den erzeugten (--save-temps) listings 
arbeiten,. das hat mir ne menge geholfen,..

im anhang ein beispiel wie die zusammenarbeit zwischen asm und c/c++ 
aussehen könnte, sowie irq table und makefile,..
grüüüße der kai

____________________________________________
edit:
Die Object files des Studios und des (non GNU) avr-gcc sind nicht 
dieselben,..
Angehängte Dateien:
OP (Firma: x-pin.com GmbH) #586985
Lesenswert?

Das Beispiel wird mich sicher noch weiter bringen, danke schon mal.

Aber hast du vlt in den AES-source geschaut?
Hab ihn jetzt noch als Anhang hier gepostet.
Außer AVR-Studio versteht kein assembler was da steht, vA die ganzen 
pseudo-ops sind denen immer fremd.

AVR-Studio verwendet ja irgend so nen eigenen Atmel-Assembler...

Der asm guru bin ich nicht, riecht irgendwie danach... ;)

Gruß Jan.
Angehängte Dateien:

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