TC1796 FreeRTOS Port

OP #1358860
Lesenswert?

Hallo,
versuche gerade die FreeRTOS Portierung für den TC1796 in Betrieb zu 
nehmen.

Scheitern tut das ganze an Assembler Zeilen wie dieser (zu finden in der 
port.c beim Context Switch):
  unsigned portLONG xSavePCX, xSaveLR;
  ...
  __asm__( "mov.d %0, %%a11":"=r"(xSaveLR) );

Folgende Fehlermeldung bekomme ich vom GCC (v3.3):
   ../src/RTOS/port/port.c:247: error: [12568] inconsistent operand
   constraints in an `asm'

Bin leider nicht so der Assemblerheld. Hoffe mir kann jemand helfen.

Danke.
OP #1358915
Lesenswert?

Das klingt gut. Hab ich auch schon probiert, bin dabei aber leider auf 
keine grünen Zweig gekommen.
Hast du ne Idee welche ich nutzen kann: Muss ein long schreiben und 
Adressen lesen.

Wundern würde mich noch, das das eine Portierung für den GCC und für den 
TC1796 sein soll.

portLONG ist ein typedef oder Makro 32 Bit Wert.
#1358924
Lesenswert?

M. H. schrieb:

> Hast du ne Idee welche ich nutzen kann: Muss ein long schreiben und
> Adressen lesen.

Habe weder einen Tricore noch eine Doku für dessen GCC. Mehr als 
allgemeine Auskünfte gibt's dazu also von mir nicht.

> Wundern würde mich noch, das das eine Portierung für den GCC und für den
> TC1796 sein soll.

Den Satz krieg ich nicht dekodiert. Ein TC1796 ist laut Google ein 
Tricore und so ein ASM-Statement mitsamt dem Begriff "operand 
constraint" gibt's jedenfalls nur beim GCC.
OP #1358937
Lesenswert?

Hab mal ein paar andere constraints ausprobiert die mir passend 
erschienen.

Dazu meint der GCC:
  C:\DOKUME~1\hausm\LOKALE~1\Temp/ccq2aaaa.s: Assembler messages:
  C:\DOKUME~1\hausm\LOKALE~1\Temp/ccq2aaaa.s:159: Error: Opcode/operand
  mismatch: mov.d [%a10]4,%a11


> Den Satz krieg ich nicht dekodiert. Ein TC1796 ist laut Google ein
> Tricore und so ein ASM-Statement mitsamt dem Begriff "operand
> constraint" gibt's jedenfalls nur beim GCC.

Das schon war, hab mich da nur gefragt wie der Erfinder dieses Codes es 
geschafft hat zu kompilieren.
OP #1360735
Lesenswert?

Hallo Mario,
hab in einem anderen Thread von dir eine Antwort gefunden, das es noch 
andere freeRTOS implementierungen für den TriCore gibt.
(Uni-Erlangen, Uni Budapest, TU Wien and University in Singapore)

Könntest du mir da auch die Kontakte zukommen lassen?
OP #1360741
Lesenswert?

Danke.
Das mit dem "=d" und "=D" hab ich heute morgen auch entdeckt. Die "=r" 
wird doch nicht für die TriCore GCC Portierung unterstützt.
Kompilieren tut das ganze jetzt auf jeden Fall mal.

Funktionieren noch nicht. Werde mir das morgen früh mal mit dem Debugger 
genauer anschauen.

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