Hallo,
ich bin absoluter Neuling im Bereich ARM-Cortex Programmierung und für
jede Hilfe dankbar.
Für den Einstieg habe ich mir ein STM Nucleo-Board zugelegt
(Nucleo-STM32F103 mit MCU STM32F103RBT6).
Als IDE habe ich Eclipse genommen und bin nach folgendem Tutorial
vorgegangen:
http://klaus4.blogspot.de/2014/05/stm32f4-discovery-mit-opensource.html
Am Ende dieses Tutorials wird gezeigt, wie man den OpenOCD-Debugger
einrichtet.
Compilieren funktioniert ohne Fehlermeldungen, jedoch meldet der
Debugger:
'No source available'
(Siehe angehängte Screenshots).
Habe hier im Forum und auch über Google versucht mir selbst zu helfen,
leider ohne Erfolg.
Was mache ich falsch, wie kann ich das Problem eingrenzen?
Vielen Dank!
Hallo,
auf der Karte, die in der Verpackung des Nucleo lag steht drauf:
Cortex-M4 72 MHz, im Datenblatt steht aber Cortex-M3.
Habe nun unter Project-Properties-->C/C++ Build-->Settings-->Tool
Settings-->Target Processor den cortex-m3 ausgewählt und das Projekt neu
compiliert.
Jedoch kommen exakt dieselben Fehler.
Meine Main-Routine sieht wie folgt aus:
1
while(1)
2
{
3
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
4
HAL_Delay(1000);
5
6
/* USER CODE END WHILE */
7
8
/* USER CODE BEGIN 3 */
9
10
}
11
/* USER CODE END 3 */
12
13
}
Aber die LED blinkt nicht, debuggen geht auch nicht, da immer noch 'No
source available for "0x0"' angezeigt wird.
Wie komme ich da nun weiter?
Danke für jede Art von Hilfe...
>vielleicht kann mir damit jemand erklrären, warum immer 'No source>available' angezeigt wird?
Hat Dir "Jim Meba" bereits um 9.25Uhr erklärt.
Hier:
>xPSR: 0x01000000 pc: 0xb9337822 msp: 0x4c05b510, semihosting
stimmen weder der pc noch der msp. Beide zeigen in's Nichts...
Du kannst 'mal in der Konsole ein
(gdb) mon reset init
probieren. Müsste den PC auf den Initialwert setzen und damit Dein Prog
neu starten. Dann ein paar Single Steps....
Sinnvoll wäre es auch, den Linker ein Mapfile erzeugen zu lassen, damit
Du
siehst, was überhapt sinnvolle Adressen sind und was nicht...
Und: Besorg' Dir ein gdb (GNU Debugger) und ein OpenOCD Manual.
Selbst wenn Du nicht per Kommando debuggen willst, solltest Du
verstehen, wie die Maschinerie zusammenhängt und funktioniert.
Hallo Gast,
dnake für Deine Antwort. Natürlich ich habe den Post von Jim Meba
gelesen, der hat mir aber überhaupt nichts gesagt weil ich wie gesagt
absoluter Neuling im Bereich ARM Cortex bin.
'Auf Addressen bei 0xF0000000 liegt kein ausführbarer Speicherbereich im
Cortex M3.'
Woran hat Jim Meba denn gesehen, dass Code im Bereich 0xF0000000 liegt?
>xPSR: 0x01000000 pc: 0xb9337822 msp: 0x4c05b510, semihosting
Was heißt das nun? Ist da etwas mit meinen Eclipse Einstellungen nicht
korrekt?
Ich habe wie gesagt 'nur' das Tutorial durchgearbeitet um überhaupt mal
starten zu können. Und die Probleme, die ich beschrieben habe sind jetzt
nun mal da.
Vielen Dank für weitere Hilfe...
>Woran hat Jim Meba denn gesehen, dass Code im Bereich 0xF0000000 liegt?
An Deinem 3. Screenshot im 1. Post.
Schau' genau. Die Fehlermeldung bzw. das Dissassembly Window verraten's.
>>xPSR: 0x01000000 pc: 0xb9337822 msp: 0x4c05b510, semihosting>>Was heißt das nun? Ist da etwas mit meinen Eclipse Einstellungen nicht>korrekt?
Das sind die Registerwerte im aktuellen Programmzustand
Wiederholt sich auch noch mal da:
>(15) pc (/32): 0xB9337822>(16) xPSR (/32): 0x01000000>(17) msp (/32): 0x4C05B510>(18) psp (/32): 0x34621B6C
Wie bist Du da überhaupt hingekommen?
>>Sinnvoll wäre es auch, den Linker ein Mapfile erzeugen zu lassen...>>wie mache ich das bitte?
Schau' beim Klaus, Abschnitt "Toolchain konfig"
Linker Option: -Map=<mapfilename> eintragen (bei "Cross ARM C Linker").
(Dazu GNU Linker Manual lesen)
Hallo Gast,
danke nochmal,
>An Deinem 3. Screenshot im 1. Post.
Du meinst 0xf3af4804?
>Wie bist Du da überhaupt hingekommen?
Keine Ahnung, ich habe halt das Tutorial durchgearbeitet und dann kam
das so!?!
Ich hatte aktuell einen sehr ähnlichen Fehler und möchte meinen Fehler +
Lösung erläutern:
in dem Projektordner gibt es eine .cproject Datei. In dieser haben sich
in der gesamten Datei Leerzeichen eingeschlichen. Dank SVN hab ich die
Datei wieder in den Ursprung zurück versetzen können. Warum das passiert
ist, weiß ich nicht...
ruphy schrieb:> In dieser haben sich> in der gesamten Datei Leerzeichen eingeschlichen.
Die aber keinerlei Auswirkung haben, weil das XML ist und die außerhalb
der Daten sind.