Keil Logo

ARMLINK: L6915E: __use_no_semihosting_swi Was Requested

Information in this article applies to:

  • RealView MDK-ARM version: 3.46 and higher


I have updated MDK-ARM to version V3.46 and now when I try to build the Atmel examples I get the linker error:

Error: L6915E: Library reports error: __use_no_semihosting_swi was requested, but _sys_open was referenced

Before the update the Atmel examples compile and link without erros. How can I solve the problem?


You need to add the following definitions to file retarget.c.

struct __FILE { int handle;} ;

FILE __stdout;
FILE __stdin;
FILE __stderr;

Once you added the definitions the linker error should go away.

If not, to find out which objects are using the heap, link with --verbose --list=out.txt, search the output for the relevant symbol (in this case _sys_open ), and find out what object referenced it. Then use a retarget file to retarget from this function to a non-semihosting function. See the Semihosting section of the article ARM: Application Builds Without Error, But Does Not Run.



Last Reviewed: Monday, February 4, 2019

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.