EVE 1.0
Debug interfaces
Collaboration diagram for Debug interfaces:

Enumerations

Functions

static int32_t call_semihost (uint32_t cmd, const void *msg)
 

Detailed Description

Semihosting is a mechanism that enables code running on an ARM target to communicate and use the Input/Output facilities on a host computer that is running a debugger.

Examples of these facilities include keyboard input, screen output, and disk I/O. For example, you can use this mechanism to enable functions in the C library, such as printf() and scanf(), to use the screen and keyboard of the host instead of having a screen and keyboard on the target system.

This is useful because development hardware often does not have all the input and output facilities of the final system. Semihosting enables the host computer to provide these facilities.

Semihosting is implemented by a set of defined software instructions, that generate exceptions from program control. The application invokes the appropriate semihosting call and the debug agent then handles the exception. The debug agent provides the required communication with the host.

For more details please check http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471g/Bgbjjgij.html

Enumeration Type Documentation

anonymous enum

Semihosting opcodes, please check ARM documentation for more details

Definition at line 68 of file semihosting.h.

anonymous enum

angel_SWIreason_ReportException reason codes.

Definition at line 98 of file semihosting.h.

Function Documentation

static int32_t call_semihost ( uint32_t  cmd,
const void *  msg 
)
inlinestatic

Performs a semihosting call

Parameters
cmdThe semihosting command
msgThe semihosting message
Returns
Return value of the executed command

Definition at line 128 of file semihosting.h.