Цитата(pokk @ Oct 29 2015, 09:36)

Сейчас разбираюсь с ошибкой:
Код
Error[Li005]: no definition for "__write" [referenced from putchar.o(dl7M_tln.a)]
Возникающей при выставление:
General Options -> Library Configuration -> Library low-level interface implementation ->None
Вместо
General Options -> Library Configuration -> Library low-level interface implementation -> stdout/stderr -> Via semihosting
Это значит, что применяете printf, а для потока STDOUT не назначили канал вывода.
А назначается он как раз через собственную реализацию функции __write.
Когда был включен semihosting, то реализация __write подставлялась из библиотек семихостинга, а теперь ее вам надо самому писать.
Либо как обычно переопределить дефайном типа так : #define printf my_printf
И написать свою функцию my_printf . Это будет легче и безопасней чем делать tailoring (адаптацию __write и еще кучи низкоуровневых функций) библиотек C на вашу платформу.
Хотя например в Keil выбрали путь адаптации и даже показывают как ее приспособить к файловой системе в RTOS RTX.
Но Keil-овский tailoring не подходит к IAR. Хотя в IAR есть пустые шаблоны для реализации адаптации, но надо помнить что между printf и __write лежит неизвестный код потребляющий неизвестно сколько стека и других ресурсов.