Question
use_no_semihosting_swi doesn't work
Posted on June 17, 2011 at 19:25
I am running the simplest sample program that came with the Standard Peripheral Library Template (that lights 4 LEDs, displays a line on the UART, and 3 lines on the LCD). Using the Keil tool chain, I turned off Use MicroLib (I'd rather not use MicroLib so I can use C++ code), and the program stopped working (seems to go to a BKPT instruction). So I read ''Note for MDK-ARM in the StdLib help, and it said to use:
#pragma import(__use_no_semihosting_swi) But the Linker complains: .\STM3210C-EVAL\STM3210C-EVAL.axf: Error: L6915E: Library reports error: __use_no_semihosting_swi was requested, but _sys_exit was referenced .\STM3210C-EVAL\STM3210C-EVAL.axf: Error: L6915E: Library reports error: __use_no_semihosting_swi was requested, but _sys_open was referenced .\STM3210C-EVAL\STM3210C-EVAL.axf: Error: L6915E: Library reports error: __use_no_semihosting_swi was requested, but _ttywrch was referenced I tried making dummy routines for these 3 in main.c, and got rid of the complaints about _sys_exit and _ttywrch, but _sys_open still complains: .\STM3210C-EVAL\STM3210C-EVAL.axf: Error: L6200E: Symbol _sys_open multiply defined (by sys_io.o and main.o). How do I get around this problem, so I don't have to use MicroLib?