Probleme beim Kompilieren von MSP430-Dateien beim Verknüpfen

Ich versuche, eine einfache C-Datei zu kompilieren, um sie später auf meinen MSP430 uC hochzuladen, aber wenn ich versuche zu kompilieren, erhalte ich etwas, das wie ein Verknüpfungsproblem aussieht:

main.c:7: undefined reference to `outPWM'

mein Ordner enthält diese Dateien:

  1. Haupt c
  2. pwm.h
  3. pwm.c

main.c hat nur diese einfache Anleitung:

#include <io.h>
#include <stdint.h>
#include "pwm.h"
int main( void ){
    // Stop watchdog timer to prevent time out reset
    WDTCTL = WDTPW + WDTHOLD;
    outPWM(1,4,100);    
    return 0;
}

pwm.h hat nur den Funktionsprototypen und einige Makros:

#define MCU_CLOCK       160000000
#define PWM_FREQUENCY   50
//Set z% PWM duty cicle output on port x.y
int outPWM(uint8_t x,uint8_t y,uint8_t z);

und pwm.c hat die Funktion, die ziemlich groß ist, also wird es nur für das Beispiel so sein:

#include <io.h>
#include <signal.h>
#include "pwm.h"

int outPWM(uint8_t port,uint8_t sel,uint8_t PWM_Duty){
    return 0;
}

Ich verwende beim Kompilieren möglicherweise die falschen Optionen, aber ich habe keine Ahnung, was ich verwenden sollte, außer dem, was in einigen Beispielen im Web bereitgestellt wird, die ich angepasst habe: msp430-gcc main.c -mmcu=msp430x2252 -O2 -Wall -o main.o

Was mache ich falsch?

Danke schön.

BEARBEITEN Korrigierter Funktionsname in pwm.c

Welche Toolchain verwendest du?
@AndrejaKo Ich verwende msp430-gcc unter Linux
gibt es keine Erwähnung der outPWM-Funktion in pwm.c?
@pstan gibt es, es war mein Fehler beim Schreiben der Frage. Es tut mir leid

Antworten (1)

Sie müssen Ihre beiden Quelldateien in Ihre Objektdatei kompilieren. Fügen Sie pwm.c nach main.c in der Befehlszeile hinzu.