Hi,
I measured time from request to response using external tools (oscilloscope). Response time increased when printf() to debug output is used.
Problem was in insufficient buffer space. There are no delays when output data fits into semihosting buffer. So first problem solved.
Second problem is in FastSemihosting option “When out of buffer space: Discard further data”.
I expected that data will be discarded, and no delays will occurs. But delays increased, and no output was discarded. What I do wrong?
Test project attached: buffer size 32 bytes, we write to semihosting directly 10 times by 1000 bytes.
Call stack: _write() –> WriteToFastSemihostingChannel() –> WriteRawFastSemihostingData() –> return 0;
Although we returned 0 from WriteRawFastSemihostingData(), function WriteToFastSemihostingChannel() can’t exit from loop untill data sent.
Thank you for your support!
Attachments:
You must be
logged in to view attached files.