4.15.7 Extending or replacing the semihosting implementation

Targets can contain a semihosting implementation that provides libc functionality. Applications can use this libc functionality without a simulated operating system.

Such an implementation can be enabled using suitable CPU parameters. No external interface is involved in making it work. However, the concept of offloading work from the simulation to the host is generic and can be used beyond the libc set of functions.

Functions that need to return more data than an integer return value should write it directly into memory using memory_write(). A buffer consisting of a memory address and length is usually passed to the called function as an argument for this purpose.

Non-ConfidentialPDF file icon PDF version101196_0100_00_en
Copyright © 2018 Arm Limited or its affiliates. All rights reserved.