mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 und Rowley CrossStudio


Autor: Stef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich versuche grad CrossWorks und die ST Firmware Library zum laufen zu 
bewegen.
Scheitere aber schon relativ bald und steh auch komplett auf dem 
Schlauch :(
Vielleicht kennt das ja wer: Hier mal meine Einstellungen.

Solution
-->Project
----->Properties
-------->Preprocessor Options -> User Include Directories 
$(ProjectDir)/FWLib
In meinem Projektordner gibts "FWLib/*.h,*c" also einfach reinkopiert.

Hier mal der Code...:
/* Includes ------------------------------------------------------------------*/
#include "FWLib/stm32f10x_lib.h"
//#include <__cross_studio_io.h>

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/*******************************************************************************
* Function Name  : main
* Description    : Main program.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
int main(void)
{
  /* Init Functions */
  RCC_DeInit();      // Init Clock and Reset
  SysTick_SetReload(9000);
  SysTick_ITConfig(ENABLE);

  /* Infinite loop */
  while (1)
  {
  printf("Hallo Welt\n");
  }
}

(ob er so funktioniert oder nicht ist egal, ist auch ned fertig, mir 
gehts nur ums compelieren)

Beim LINKER kommt
Generating linker script
Linking Lib.elf
c:/rowley associates limited/crossworks for arm 1.7/gcc/bin/ld -X 
-nostdlib -ereset_handler --omagic --fatal-warnings -EL -TC:/ST32 
Projekte/lib/THUMB Flash Debug/Lib.ld -Map THUMB Flash Debug/Lib.map 
--defsym __putchar=debug_putchar -u_vectors -o THUMB Flash Debug/Lib.elf 
--start-group THUMB Flash Debug/main.o THUMB Flash Debug/stm32f10x_it.o 
THUMB Flash Debug/thumb_crt0.o THUMB Flash Debug/STM32F10x_Startup.o 
c:/rowley associates limited/crossworks for arm 
1.7/lib/libadiv5_v7m_t_le.a c:/rowley associates limited/crossworks for 
arm 1.7/lib/libm_v7m_t_le.a c:/rowley associates limited/crossworks for 
arm 1.7/lib/libc_v7m_t_le.a c:/rowley associates limited/crossworks for 
arm 1.7/lib/libcpp_v7m_t_le.a c:/rowley associates limited/crossworks 
for arm 1.7/lib/libdebugio_v7m_t_le.a c:/rowley associates 
limited/crossworks for arm 1.7/lib/libc_targetio_impl_v7m_t_le.a 
c:/rowley associates limited/crossworks for arm 
1.7/lib/lib_vfprintf_long_v7m_t_le.a c:/rowley associates 
limited/crossworks for arm 1.7/lib/lib_vfscanf_long_v7m_t_le.a
THUMB Flash Debug/main.o: In function `main':
C:/ST32 Projekte/lib/main.c:36: undefined reference to `RCC_DeInit'
C:/ST32 Projekte/lib/main.c:37: undefined reference to 
`SysTick_SetReload'
C:/ST32 Projekte/lib/main.c:38: undefined reference to 
`SysTick_ITConfig'
Build failed

Also kompilieren tut er noch richtig, er scheitert erst beim linken...
Kennt sich damit wer aus?

Lg

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

Bewertung
0 lesenswert
nicht lesenswert
Du musst dem Compiler schon mitteilen, wo die Funktion RCC_Deinit zu 
finden ist. Zwar hast Du dem Präprozessor mitgeteilt, wo er die 
betreffenden Headerdateien finden kann, und das funktioniert auch, aber 
die Sourcefiles mit der Implementierung bzw. die Library/-ies mit der 
übersetzten Implementierung musst Du auch noch bekanntgeben.

Also entweder alle Sourcefiles der ST Firmware Library in das Projekt 
aufnehmen oder aber, wenn es sie gibt, die entsprechende Library dem 
Linker zum Fraß vorwerfen.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, du musst die stm32f1x_rcc.c mit ins projekt mit einbinden und 
mitkompilieren. dann findet er es.

Autor: Stef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die schnelle Hilfe.
So einfach und doch nicht dran gedacht...-.-
Danke nochmal euch beiden.

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.