Atollic TrueStudio - undefined _ebss

#5266993
Lesenswert?

Hallo zusammen

Ich versuche ein Beispielprojekt aus der 
STM32_USB-Host-Device_Lib_V2.1.0 zu compilieren.

in der 2.1.0 gab es im gegensatz zur 2.2.0 noch ein Aollic Projekt.
Ich habe also das Projekt importiert und versuche zu builden.

Leider bekomme ich die Fehler:
1
undefined reference to `_ebss'  startup_stm32f10x_cl.s  line 100  C/C++ Problem
2
undefined reference to `_estack'  startup_stm32f10x_cl.s  line 73  C/C++ Problem
3
undefined reference to `_sbss'  startup_stm32f10x_cl.s  line 91  C/C++ Problem
4
undefined reference to `_sdata'  startup_stm32f10x_cl.s  line 86  C/C++ Problem
5
undefined reference to `_sidata'  startup_stm32f10x_cl.s  line 80  C/C++ Problem

_ebss ist jedoch im Startup definiert. Wie alle anderen auch:
1
/* start address for the initialization values of the .data section.
2
defined in linker script */
3
.word  _sidata
4
/* start address for the .data section. defined in linker script */
5
.word  _sdata
6
/* end address for the .data section. defined in linker script */
7
.word  _edata
8
/* start address for the .bss section. defined in linker script */
9
.word  _sbss
10
/* end address for the .bss section. defined in linker script */
11
.word  _ebss


Ich nutze Atollic 8.0.0


Hoffe jemand kann helfen.
Danke!
#5267067
Lesenswert?

Dr. Sommer schrieb:
> Claudio H. schrieb:
>> _ebss ist jedoch im Startup definiert. Wie alle anderen auch:
>
> Das sind keine Definitionen, sondern Imports. Diese Symbole sind im
> Linker-Script (.ld Endung) definiert. Hast du das korrekt importiert und
> in TrueStudio eingestellt?

Vermutlich habe ich dies wohl nicht richtig gemacht.

Wie importiert man denn ein Linkerscript in atollic?
Gast #5267117
Lesenswert?

Claudio H. schrieb:
> Ja. Es ist für den selben Controller.
Dann ist's ja gut. Btw, falls du an der Implementierung von USB und VCP 
auf STM32 interessiert bist, schau vielleicht mal hier: 
USB-Tutorial mit STM32

Hast du denn auch die anderen Einstellungen übernommen, also 
Compiler-Optionen für den Controller (-mcpu=..., -mfpu=... usw.)? Das 
wäre die nächste Fehlerquelle...
#5267164
Lesenswert?

Dr. Sommer schrieb:
> falls du an der Implementierung von USB und VCP
> auf STM32 interessiert bist, schau vielleicht mal hier:
> USB-Tutorial mit STM32

Ja bin ich.
Hab mir das tutorial bereits angeschaut.
Leider ist es in C++. Ich habe grundsätzlich keine Mühe mit C++, möchte 
das aktuelle Projekt jedoch nicht portieren.

Dr. Sommer schrieb:
> Hast du denn auch die anderen Einstellungen übernommen, also
> Compiler-Optionen für den Controller (-mcpu=..., -mfpu=... usw.)? Das
> wäre die nächste Fehlerquelle...

Nein habe ich nicht.


Leider scheint ein VCP relativ komplext zu implementiere zu sein.
Was ich an den Examples von ST nicht mag sind die ständigen 
Abhängigkeiten von ihren Eval Boards im Code. Immer diese vielen 
verstreuten Includes.
Bis man da durchblickt....

Habe nun versucht den code von hier in ein neues Projekt zu integrieren:
https://codeofphi.com/?p=23

Leider scheitere ich an: Symbol 'RCC_USBCLKSource_PLLCLK_1Div5' could 
not be resolved

Obwohl ich das entsprechende File includiert habe und Eclipse auch 
hinspringt bei CTRL+Click.

Anbei mal das Zip mit den Files.


Kennt jemand eventuell eine möglichst schlanke, C implementation eines 
VCPs auf einem STM32F105/103?
Angehängte Dateien:
Gast #5267188
Lesenswert?

Claudio H. schrieb:
> Leider ist es in C++. Ich habe grundsätzlich keine Mühe mit C++, möchte
> das aktuelle Projekt jedoch nicht portieren.
Ist doch nur minimaler Aufwand, wenn du nicht gerade exzessiv 
C++-Bezeichner wie "this" oder "class" verwendet hast... Aber das 
Tutorial funktioniert eh nicht mit dem STM32F105, weil der die deutlich 
kompliziertere "OTG"-USB-Peripherie hat.

Claudio H. schrieb:
> Leider scheint ein VCP relativ komplext zu implementiere zu sein.
Der VCP nicht so, aber die USB-Ansteuerung, ja.

Claudio H. schrieb:
> Was ich an den Examples von ST nicht mag sind die ständigen
> Abhängigkeiten von ihren Eval Boards im Code. Immer diese vielen
> verstreuten Includes.
Seh ich genauso...

Claudio H. schrieb:
> Leider scheitere ich an: Symbol 'RCC_USBCLKSource_PLLCLK_1Div5' could
> not be resolved
Der Code klappt mit dem STM32F105 eh nicht, weil der wie gesagt die 
"OTG"-Peripherie nutzt.

Claudio H. schrieb:
> Kennt jemand eventuell eine möglichst schlanke, C implementation eines
> VCPs auf einem STM32F105/103?
Für den F103 gäbs noch den von W.S.: 
Beitrag "Re: STM32F4 USB CDC"
Für den F105 wirds kaum eine "schlanke" geben, denn der "OTG"-Core ist 
sehr komplex.
#5269672
Lesenswert?

Dr. Sommer schrieb:
> Claudio H. schrieb:
>> Kennt jemand eventuell eine möglichst schlanke, C implementation eines
>> VCPs auf einem STM32F105/103?
> Für den F103 gäbs noch den von W.S.:
> Beitrag "Re: STM32F4 USB CDC"
> Für den F105 wirds kaum eine "schlanke" geben, denn der "OTG"-Core ist
> sehr komplex.

Für die Nachwelt:

Hier habe ich eine "schlanke" Implementation des VCPs durchgeführt.
Es ist alles im ZIP enthalten.

Beitrag "Re: STM32 - BusFault finden"

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