ARM Gnu Toolchain (STM32)

Gast #3823848
Lesenswert?

Guten Morgen,

in meiner jetzigen Application für den STM32 Mikrocontroller möchte ich 
nun Quellcode einbinden, der allerdings nicht im Root Pfad vom dieser 
Applikation liegt. Diese Dateien befinden sich 4 Verzeichnisse oberhalb 
dir Applikation. Wie kann ich diese Dateien in mein Projekt einbinden?

source.mk Datei:
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4

5
ELF_SRCS := 
6
O_SRCS := 
7
CPP_SRCS := 
8
C_UPPER_SRCS := 
9
C_SRCS := 
10
S_UPPER_SRCS := 
11
OBJ_SRCS := 
12
ASM_SRCS := 
13
CXX_SRCS := 
14
C++_SRCS := 
15
CC_SRCS := 
16
SECONDARY_SIZE := 
17
C++_DEPS := 
18
OBJS := 
19
C_DEPS := 
20
ASM_DEPS := 
21
CC_DEPS := 
22
SECONDARY_FLASH := 
23
CPP_DEPS := 
24
CXX_DEPS := 
25
C_UPPER_DEPS := 
26
S_UPPER_DEPS := 
27

28
# Every subdirectory with source files must be described here
29
SUBDIRS := \
30
system/src/stm32f2-stdperiph \
31
system/src/newlib \
32
system/src/diag \
33
system/src/cortexm \
34
system/src/cmsis \
35
src \
Persönliche Seite #3823865
Lesenswert?

ArmGnuUser schrieb:
> # Every subdirectory with source files must be described here
> SUBDIRS := \
> system/src/stm32f2-stdperiph \
> system/src/newlib \
> system/src/diag \
> system/src/cortexm \
> system/src/cmsis \
> src \
> ../../../../ \
?

.. ist das übergeordnete Verzeichnis
../.. ist das darüber usw.
Ich weiß aber nicht ob das im Makefile(?) funktioniert
Gast #3824000
Lesenswert?

Ja genau da hab ich auch das Problem. Zunächst die zusätzlichen 
Include-Pfade habe ich in Eclipse angegeben. Nun möchte ich das aus dem 
C-File ein O-File (object file) wird. Wo müsste ich mich da einklinken?
Gast #3824085
Lesenswert?

Ich möchte nicht alle C-Dateien von einem Verzeichnis nutzen.
Wie kann man sowas in eclipse realisieren, dass nur gewählte C-Dateien 
verwendet werden?

Es können immer nur alle Dateien von einem Verzeichnis angegeben werden.
Properties->C/C++ General>Paths and Symbols->Source Location
Persönliche Seite #3824361
Lesenswert?

Hallo,

auf Projekt Properties->C/C++ Build -> Settings -> Reiter "Build Steps"

und dann den Command bei pre-build steps eingeben.
Z.B. cp ../../meinequelle.c ../src/meinequelle.c

Dateinamen sind aber relativ zum Buildordner, also meistens Debug oder 
Release.

Wenn es mehr als eine Datei sein soll, würde ich ein Kopierscript 
schreiben, welches dann ausgeführt wird
#3824712
Lesenswert?

Die Konfiguration des TO ist mir bisher nicht klar.

Ich nutze Managed Makefiles. Da werden genau die in der IDE angegebenen 
Sourcefiles übersetzt. 'Exclude from build' wie oben beschrieben, 
funktioniert wunderbar.

Für Pfade außerhalb des Projektes nutze ich Linked Resources.
Hierfür lege ich in den projekt Properties unter
Resource->Linked Resources
Path Variables
eine neue Variable an.
Bsp:
Name: FRAMEWORK_LOC
Location: ${PROJECT_LOC}\..\..


Ab jetzt kann man Linked Resoucen unterhalb von FRAMEWORK_LOC anlegen.

File->New->Other
General->Folder

'Advanced' öffnen
'Linked Folder' auswählen
'Variables'-Button
FRAMEWORK_LOC auswählen - und dann Extend -> dort, wo man hin will

Funktioniert für Files analog.
Aber nicht 'New->Source File' oder 'Source Folder' nutzen, sondern
'New->File bzw. Folder'.

Ging bei mir bisher bei den verschiedensten Eclipse Distributionen unter 
Windows. Eigenständig habe ich bisher keine Eclipseumgebung aufgebaut.

Hoffe mal, dass ich die Problematik nicht zu sehr missverstanden habe.

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