I am trying to understand how semihosting is implemented using the ICE infrastructure with ARM. Specifically, I am interested in knowing how software interrupts (SWIs) within the ARM processor interact with overlying MulitICE emulators once a semihosting operation (such as printf) is encountered.From what I can see this interrupt handling routine is inserted into the executable by libraries that are linked into the application, but have not been able to find their implementation. Any information in this regard would be greatly helpful. Also are there public docs describing the protocol used in interaction between a MultiICE emulator and an EmbeddedICE module within an ARM part? Thanks,
-Bhanu