ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
1300969 Топик полностью
VVB (14.04.2023 06:38, просмотров: 243) ответил Dingo на printf(), __io_putchar, _write(), --specs=nosys.specs, --nano.specs и вот это вот всё: хочу сделать печать на UART при использовании printf(). Что для этого надо для arm-none-eabi? Понятно, что можно сделать через snprintf() и свой буфер, но есть впечатление, что это изобретение велосипеда. Вот только беда - к существующему нет внятного описания. Или я поисковикам вопрос не смог задать правильно.
Конкретно printf() в конце концов вызывает write(), и тебе надо переопределить write() так, как тебе надо. 

В библиотеке GNU ARM Embedded Tools, предоставляющей реализацию write(), могут находиться другие задействованные функции, тогда линкер будет ругаться, и тебе потребуется не только свою write() предоставить, но и несколько других системных функций (в общем случае они станут известны из анализа ругательств линкера).