10.11.1. Replacing the Write0() SWI call

Users of EmbeddedICE 2.04 or earlier may find problems with the semihosting SWI SYS_WRITE0, used by the examples in this chapter to print to the debugger console. Upgrade to the latest ICEagent (currently 2.07) to remedy this problem.

It is possible to make a temporary workaround to this problem by using the following code to replace the Write0() SWI call, though the recommended fix is to upgrade to ICEAgent 2.07.


/* Write a character */ __swi(SemiSWI) void _WriteC(unsigned op, char *c);#define WriteC(c) _WriteC (0x3,c)void Write0 (char *string){ int pos = 0; while (string[pos] != 0) WriteC(&string[pos++]);}

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0040D
Non-Confidential