C166 Einbindung von IIR Filter Fehlerhaft, DPRAM Probleme

Gast #473195
Lesenswert?
• ▲
▼
Ich versuche einen IIR_1 Filter zu nutzen und erhalte folgende 
Felermeldung:

C166 COMPILER V6.04 - SN: K6R9U-00147E
COPYRIGHT KEIL ELEKTRONIK GmbH 1991 - 2006
*** CoNOP [IDX0+QX0],[IN] ;(IDX0)=(IDXX0)+(QX0)
*** ___________^
*** ERROR C195 IN LINE 89 OF xc166lib_keil\iir_1.c: inline-asm: invalid 
expression token

Die Fehlermeldung bezieht sich auf die Keil Library DspLib_Keil.h und 
die darin enthaltene Filterdatei IIR_1.c deren Assambler Code hier diese 
Fehlermeldung erzeugt.
Wie kann ich diese Fehlermeldung vermeiden, hat vielleicht jemand einen 
Rat.
Wie erzeuge ich einen Speicherbereich im DPRAM?


Die Datentypen sind:
DataS filter_output [16];
DataS idata pastsamples[2*3+1];

typedef struct {
DataS b3;
DataS b2;
DataS b1;
DataS b0;
DataS a2;
DataS a1;
DataS a0;
}filter_coef;

Der Aufruf der Filterfunktion lautet:

filter_output[index] = IIR_1((DataS*)&filter_coeff, 
(DataS*)(buffer+(unsigned long)index), 3, pastsamples);
Gast #474435
Lesenswert?
• ▲
▼
Hast du externes ROM? Ich denke, dass dein Problem vom Speichermodell 
her kommt. Der Quelltest wird, denke ich, irgendwo ins externe ROM 
gelegt und kann mit seinen Pointern nicht mehr ins DPRAM (intern) 
kommen. Die Adresse IDX0 ist also zu groß für den Inline-Assembler.

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.