mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit freeRTOS Portierung


Autor: Asterix (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich bin gerade dabei das freeRTOS auf einem Mikrocontroller zu 
portieren. Der Compiler erzeugt dabei folgende Fehlermeldung:
--> siehe Dateianhang

Der Compiler kann anscheinend mit der Funktion "portEXIT_CRITICAL();"
nichts anfangen. Weiss jemand woran dies liegen könnte?
static portTASK_FUNCTION( vPolledQueueProducer, pvParameters )
{
unsigned short usValue = ( unsigned short ) 0;
signed portBASE_TYPE xError = pdFALSE, xLoop;

  for( ;; )
  {    
    for( xLoop = 0; xLoop < pollqVALUES_TO_PRODUCE; xLoop++ )
    {
      /* Send an incrementing number on the queue without blocking. */
      if( xQueueSend( *( ( xQueueHandle * ) pvParameters ), ( void * ) &usValue, pollqNO_DELAY ) != pdPASS )
      {
        /* We should never find the queue full so if we get here there
        has been an error. */
        xError = pdTRUE;
      }
      else
      {
        if( xError == pdFALSE )
        {
          /* If an error has ever been recorded we stop incrementing the
          check variable. */
          portENTER_CRITICAL();
            xPollingProducerCount++;
          portEXIT_CRITICAL();
        }

        /* Update the value we are going to post next time around. */
        usValue++;
      }
    }

    /* Wait before we start posting again to ensure the consumer runs and
    empties the queue. */
    vTaskDelay( pollqPRODUCER_DELAY );
  }
}  /*lint !e818 Function prototype must conform to API. */

: Verschoben durch Moderator
Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und woher sollen wir wissen was in der Zeile 157 steht?

> src\rtos\PollQ.c 157

Autor: Asterix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Compiler kennt keine Funktion "portENTER_CRITICAL();" und keine 
Funktion "portEXIT_CRITICAL();"

Autor: Asterix (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Im Anhang befindet sich die Headerdatei, in der die beiden Funktionen 
implementiert wurden.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was micht stutzig macht ist die Fehlermeldung
src\rtos\PollQ.c(184) : CA850 warning W2291: argument type mismatch void *const (unsigned short *) 
Total error(s) : 0  Total warning(s) : 1
Die ist eindeutig vom Compiler

src\rtos\PollQ.c 157 as850: CA850 error E3249: illegal syntax
src\rtos\PollQ.c 159 as850: CA850 error E3249: illegal syntax
src\rtos\PollQ.c 202 as850: CA850 error E3249: illegal syntax
src\rtos\PollQ.c 204 as850: CA850 error E3249: illegal syntax
Total error(s) : 4  Total warning(s) : 0

Aber wo kommt die her? Die sieht auch anders aus als die vom Compiler! 
Kann das vom Assembler kommen?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit PC-Programmierung hat das irgendwie überhaupt nichts zu tun.
Verschoben.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.