We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Is semihosting supported in uVision4 on the cortex-m3 series of devices?
When I try it, I end up at a BKPT instruction, which gives me a bad feeling that "no, uVision doesn't support it", but documentation is pretty sparse so I might just be doing something wrong...
As I understand it, the M3 uses the 'bkpt' for semi-hosting. See the app note. I'm no expert so take this with a large grain of doubt.
Bradford
www.keil.com/.../armccref_bgbjjgij.htm
Yeah, that's the action that's taken by the target.
The debugger is supposed to recognize the BKPT and do the requested semihosting task.
That the debugger is just stopping at the BKPT makes me think that uVision doesn't support it. The operation should be transparent to the user and just happen 'in the background'.
We're using uVision4 together with a Cortex-M4 processor and ULINK Pro Cortex debugger. Semihosting (specifically, redirection of printf() to the uVision printf window, which is all I'm doing with it) works absolutely fine. You have to use a suitable retarget.c file, as supplied by Keil; have you done this? Further reading: http://www.keil.com/support/man/docs/gsac/gsac_retargetcortex.htm and http://www.keil.com/support/man/docs/armlib/armlib_chdjfbfb.htm
I'm actually more interested in the "fopen", "fread", etc. than simply printf().