Open JOE1994 opened 4 years ago
How are you consuming ITM? For whatever it's worth, your example works for me with an ITM consumer that we have purpose built that consumes ITM via the TPIU; are you using the STLink/V2 on the Discovery and then OpenOCD? And is your program stopping, or is the ITM data being dropped?
How are you consuming ITM? For whatever it's worth, your example works for me with an ITM consumer that we have purpose built that consumes ITM via the TPIU; are you using the STLink/V2 on the Discovery and then OpenOCD? And is your program stopping, or is the ITM data being dropped?
Thank you so much for testing the example on your side! :smile_cat: I am using STLink/V2-1 on the Discovery and with OpenOCD. The program runs to completion and reaches the infinite loop at the end, and only the ITM data is dropped :crying_cat_face:
(Using gdb-multiarch
),
I tried executing the code instruction-by-instruction using the n
command
to see if doing that could make the program successfully run all invocations of iprintln!()
..
But pressing n
just once simply executes the program all the way to the end..
(gdb) n
Breakpoint 4, main () at src/main.rs:20
20 #[entry]
(gdb) n
(gdb) ^C
Program received signal SIGINT, Interrupt.
stim_practice::__cortex_m_rt_main () at src/main.rs:37
37 loop {
(gdb)
Update:
I tested the above example program on another board(Nucleo-429ZI
), and it also exhibits the same behavior :crying_cat_face:
So far I've tested two devices and they both exhibit the same behavior. Both belong to the STM32F4
series.
stm32f407g-disc1
Nucleo-F429ZI
At the moment, I'm not sure what's causing this. (guess: issue with OpenOCD?)
Maybe try with probe-rs' ITM support?
Hello :crab:, when running the program below that repeatedly calls
iprintln!()
, it always stops printing at the same point in code, not finishing the printing tasks. It should print "Hello World ~" 77 times in a loop, but the program always stops printing in the middle of 26th invocation ofiprintln!()
.logs from ITM are stored locally in itm.txt, and the log is always the same as below (no matter how many times I try running).
Is there a maximum limit of data that
iprintln!
can send in total? If not, I guess this should be considered a bug..Metadata
stm32f407g-disc1
board to run this program.rustc --version --verbose