schau mal bitte in die examples des MCBSTM32.
Dort findest du Code, der leicht lesbar ist und läuft, ohne driver
library.
Ausserdem findest du in der datei "retarget.c" in einigen der Beispiele
ein minimal retargeting, was du verwenden solltest.
Ebenso kannst du die ITM_Sendchar() Funktion aus der CMSIS verwenden,
die daten kommen beim Debuggen im ITM/printf Viewer (View Menue) an.
Terminalsequenzen sind auch möglich seit UV4, ausserdem gibt es ein paar
neue interessante Terminal Modes.
Eingabe ist auch möglich (memory write), direkt im ITM window, entweder
aktuelle CMSIS GetChar, oder:
1 | volatile unsigned int ITM_RxBuffer; // 0x5AA55AA5 is handshake value
|
2 |
|
3 | // ITM Serial Window Input Watch and Init function
|
4 | void ITMRx_InInit(void) {
|
5 | ITM_RxBuffer = 0x5AA55AA5;
|
6 | }
|
7 |
|
8 | int ITMRx_Getc(void) {
|
9 | int recChar=0; // zero is default if no new char recv
|
10 |
|
11 | if(ITM_RxBuffer != 0x5AA55AA5)
|
12 | {
|
13 | recChar = ITM_RxBuffer & 0xff;
|
14 | ITM_RxBuffer = 0x5AA55AA5;
|
15 | }
|
16 | return(recChar);
|
17 | }
|
DL und Code zu mischen ist meist eine schlechte Idee, am besten die DL
als Beispielcode nutzen.
VG,
/th.