Сделал как тут описано http://www.keil.co …IB/armlib_Chdchggb.htm
то есть вставил в один из своих исходников все эти функции.
Мой код:
#include <rt_sys.h>
#include <stdio.h>
void main(void)
{
FILE *f;
f = fopen("1","R");
}
получил
linking...
.\Obj\UDP.axf: Error: L6200E: Symbol _sys_open multiply defined (by sys_io.o and http_freertos.o).
.\Obj\UDP.axf: Error: L6200E: Symbol _sys_close multiply defined (by sys_io.o and http_freertos.o).
.\Obj\UDP.axf: Error: L6200E: Symbol _sys_write multiply defined (by sys_io.o and http_freertos.o).
.\Obj\UDP.axf: Error: L6200E: Symbol _sys_read multiply defined (by sys_io.o and http_freertos.o).
.\Obj\UDP.axf: Error: L6200E: Symbol _sys_istty multiply defined (by sys_io.o and http_freertos.o).
.\Obj\UDP.axf: Error: L6200E: Symbol _sys_seek multiply defined (by sys_io.o and http_freertos.o).
.\Obj\UDP.axf: Error: L6200E: Symbol _sys_flen multiply defined (by sys_io.o and http_freertos.o).
Target not created
причём файла sys_io.o не существует, и определить, какая именно .lib библиотека подключается -- сложно. Благо у меня винда под виртуалкой живёт, я могу inotifytools рекурсивно натравить на каталог с кейловскими библиотеками (они на расшаренном ресурсе).
Также обращаю внимание, что printf в кейл вызывает совершенно другие внутренние функции в отличие от GCC. Для GCC вопросов я не имею, там всё понятно.