Symptom |
Solution |
Real-Time Agent not responding (1). |
Add RTA_Init() to the start of your
main() function if not using RTX or RL-ARM. |
Real-Time Agent not responding (2). |
Not allocating enough heap memory on the target
is a common problem. Make sure enough heap is allocated in
STARTUP.S for standard library use (plus any extra for
user heap requirements). |
Real-Time Agent not responding (3). |
The Real-Time Agent requires two
interrupt vectors on the interrupt controller, check that the
interrupts used do not conflict with interrupts used by your
project (see C:\KEIL\ARM\RV31\INC\RT_Agent.c - RTA Hardware
Specific Section, for the interrupt vectors used on your
hardware). |
Real-Time Agent Terminal Window gets no
data. |
To use the Real-Time Agent Terminal
Window and the RTA_printf() and RTA_scanf()
macros, I/O Retargeting must be enabled. |
Initial printf() / RTA_printf()
data is lost and not displayed in Real-Time Agent Terminal
Window, or is displayed corrupted. |
Initial terminal data from the target may be
lost because µVision is not ready for it, either because
it has stale data in it's buffer, or the debugger has not yet
initialized fully. The first case is cause by code running in
the target at the moment a new debug session is started and the
board reset is issued. The second case can be due to a reset problem on some devices. In either case, the
problem can be resolved by executing a blank printf() /
RTA_printf(), then a sufficient delay, before executing
the first real printf() / RTA_printf(). |
printf() / RTA_printf() data is
lost. |
Too much terminal data can overflow the
Real-Time Agent output buffers. If (for example) a
printf() is put in a tight loop of the main program
code, it will generate too much data for the Real-Time
Agent output buffers, and most data will be lost, resulting
in unintelligible data in the Real-Time Agent Terminal
Window. In this case, enabling Block on Write in the
Configuration Wizard will stop the data from being lost,
but will affect real-time performance. |
The Real-Time Agent reports 'Buffer
Overrun in Target' or other data related errors in the
µVision status bar. |
This is caused because the data rate from target to host is
too high, and is much more likely when using Task Switch
Monitoring and a high target clock speed. It can be
resolved in the following ways:
-
If it occurs intermittently, increase the Output
Buffer Size parameter for the buffer used for
Real-Time Agent data travelling from target to host.
This will account for bigger peaks in the data rate.
-
Set the Max JTAG
Clock to Return Clock (RTCK) or the maximum
available. This will increase the data rate between the
target and µVision.
-
Disable Task Switch Monitoring in the
Configuration Wizard.
If the problem persists please report it.
|