Mit der SW4STM32-IDE von www.openstm32.org habe ich jetzt semihosting
zum laufen gebracht, leider etwas unelegant:
- "-specs=nosys.specs -specs=nano.specs -specs=rdimon.specs -lc
-lrdimon" zu den Linkerflags zugefügt.
- "monitor arm semihosting enable" zu den Debug/Startup Optionen
zugefügt.
- "initialise_monitor_handles()" zum Start aufgerufen.
- syscalls.c vom Build ausgeschlossen.
Geht das eleganter? Z.b. per Präprozessor Makro?
Was ist rdimon für eine lib, gibt es die als Source?
syscalls.c bzw. die rdimon Lib müsste sich doch als Version mit oder
ohne Semihosting bauen per Präprozessor Makro bauen lassen?
Disclaimer: Ich bin ein Eclipse Newbie.
Code:
1 | #include "stm32f1xx.h"
|
2 | #include "stm32f1xx_nucleo.h"
|
3 |
|
4 | #include <stdio.h>
|
5 | #include <stdlib.h>
|
6 |
|
7 | extern void initialise_monitor_handles(void);
|
8 |
|
9 | int main(void)
|
10 | {
|
11 | int a = 1;
|
12 |
|
13 | initialise_monitor_handles();
|
14 |
|
15 | printf("Semihosting\n");
|
16 |
|
17 | for(;;) {
|
18 | printf("Counter = %d\n", a);
|
19 | a++;
|
20 | }
|
21 | }
|