Forum: Mikrocontroller und Digitale Elektronik CooCox CoIDE: STM32F10x Standard Peripherals Library


von Sebastian (Gast)


Lesenswert?

Hallo,

ich würde gerne in der CooCox CoIDE die STM32F10x Standard Peripherals 
Library selber einbinden. Dazu habe ich ein neues Projekt gemacht und 
KEINE Komponenten aus dem Repository gewählt.

Dann habe ich die Library per Drag und Drop in den Projektexplorer 
eingebunden. Wenn ich nun kompiliere, dann gibt es die folgende 
Fehlermeldung:
1
GCC HOME: C:\Program Files (x86)\GNU Tools ARM Embedded\4.8 2014q1\bin
2
compile:
3
    [mkdir] Skipping C:\CooCox\CoIDE\workspace\RoboLab\robolab\Debug\bin because it already exists.
4
    [mkdir] Skipping C:\CooCox\CoIDE\workspace\RoboLab\robolab\Debug\obj because it already exists.
5
       [cc] 200
6
7
BUILD FAILED
8
Output filename conflict: startup_stm32f10x_md.o would be produced from D:\Projekt\lib\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_md.s and startup_stm32f10x_md.s
9
Total time: 0 seconds

Die IDE hält diese Datei scheinbar selber vor (ohne das sie im 
Projektexplorer erscheint) und bindet diese dann ein. :(

Jemand eine Idee, wie ich das ganze verhindern kann?

Viele Grüße,

Sebastian

von Gerhard O. (gerhard_)


Angehängte Dateien:

Lesenswert?

Hallo Sebastian,

vielleicht helfen diese Hinweise: Da ich nicht nur mit CC arbeite, 
konfiguriere ich meine Projekte meistens so, dass ich auch mit IAR oder 
Atollic ohne große Änderungen arbeiten kann. Damit sind die Projekte 
ohne große Änderungen der Konfigurierung vollkommen portierbar. 
Allerdings verwende ich die CC startup files (Siehe Options in LINK).

Wichtig: Obwohl bei mir noch die CM3 Dateien eingebunden sind werden sie 
in CC ignoriert. Die werden nur in Atollic gebraucht. In CC werden die 
Original CC CM3 Dateien verwendet. Die CM3 Folders sind nur dabei weil 
sie zur Peripheral Library gehoeren.

Bitte beachten dass auch mein eigener link-script (stm32_flash.ld") 
eingebunden ist. Da ich manchmal mit einem Bootloader arbeite habe ich 
alternativ einen anderen Linker Script entsprechend modifiziert. (LINK 
tab: siehe unter "Scatter File").

Bitte siehe Dir die angehängten Screenshots an. Die einzige Library die 
ich von CC notwendigerweise einbinden muss, ist "syscalls" die 
miteinbezogen werden muss. "Syscalls" ist unter IAR oder Atollic 
allerdings nicht notwendig.

Mit diesem Einstellungen funktioniert die CC GCC Tool Chain einwandfrei.
(bei mir: CC1.74 und GNU Tools ARM embedded, V4.6 2012q2)

Für Deine Anwendungen kannst Du die modbus Sachen ignorieren.

Wünsche Dir gutes Gelingen!

mfg,
Gerhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.