SDCC externe ASM Datei einbinden

OP #1944506
Lesenswert?
• ▲
▼
Hallo,

ich muss für den CC2530 eine asm in meinem C Programm aufrufen.
Ich nutze den Compiler SDCC.

Die .asm Datei sieht folgendermaßen aus:

.globl _doSmth

.area CSEG (REL,CON,CODE)
.even

_doSmth:
MOV PCON, #0x01
NOP
RET


und mein C-Code:

void foo(void){
_doSmth();
}

Aber das geht scheinbar nicht so?
Muss ich die asm-Datei noch irgendwie includen oder sonst was machen 
damit?

In meinem makefile hab ich die Datei angegeben:
SOURCEFILES +=
  drivers/usb/library/cc2530/_doSmth.asm
OP #1945222
Lesenswert?
• ▲
▼
wenn ich das einfach so schreibe:

void doSmth(){

  _asm

  .area CSEG (REL,CON,CODE)
  .even

  MOV PCON, #0x01
  NOP
  RET

  _endasm;

}

dann bekomme ich einen compilefehler:

../../../src/drivers/radios/cc2530/doSmth.c:161: syntax error: token -
> 'CSEG' ; column 11
make: *** [../../../build/apps/doSmth/usbDongle/drivers/radios/cc2530/
doSmth.rel] Fehler 1
#1945255
Lesenswert?
• ▲
▼
Ich kenne den Compiler zwar nicht, aber kannst Du mal cut&paste vom 
ganzen Übersetzungsvorgang machen?  Vermutlich kommt die Fehlermeldung 
ja vom Linker, und anhand dessen Kommandozeile kann sich dann eventuell 
ergeben, dass es mit einer Änderung am Makefile getan ist (den als 
Anhang auch noch beifügen).

P.S.  Ich meine damit die erste Version, nicht Inline-Assembler.  Denn 
es muss möglich sein, externe Assembler-Files einzubinden.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.