V8.0.0 ITM Console

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by mubes on Thu Jan 07 06:51:48 MST 2016

Last night, having finally (with some greatly appreciated help from support!) gotten 8.0.0 up and running in my configuration, I thought I'd have a play with the ITM Console before returning to doing 'real work'.

First things first; in my by now well-established awkward process, I'm building from a makefile, so I haven't used the low-level _read/_write routines provided, but rather added the --specs=rdimon.specs option to my linker command line.

I'm very happy to report that, with this in place, printf and scanf both work correctly for me to the SWO ITM Console window.  There are, however, a couple of observations that might be down to the way I'm implementing it, or might be system limitations. I'd be interested to know which;

  [*] The 'rest' of the (very very useful) additional functionality (specifically, profiling) seems to be broken when the ITM Console is in use....or at least I can't get it to work.
  [*] Output appears to be line-buffered, which makes it a bit difficult to output prompts and get nice responses back. fflush(stdout) and setbuf(stdout,NULL) both fix this problem but, interestingly, fflush seems to result in faster output than setbuf....that's a client side, not LPCXpresso side, issue though.
  [*] Cursor handling is a little strange in the ITM Console output window - it doesn't always keep up with 'point'.

....none of these are showstoppers, and i/o functionality without the pain of setting up serial links is hugely useful, so please keep up the good work!