Немного по поискам, может кому-то облегчит их и сократит путь. И о
причинах. Главное - хотелось как и задумано пользоваться printf() как стандартной и всем понятой функцией просто подключив <stdio.h>. У меня - не получилось. Потому что не "просто вывести на
консоль", а консоль это stdout, который есть файл, который есть устройство, ... в доме который
построил Джек. В моём случае FILE (в т.ч. stdout) содержит поле _write с прототипом int (*) (_reent *, void *, const char *, int) и можно было бы заменить на свою функцию при инициализации, но представил, сколько всего бедный char переживёт, прежде чем доберётся до UART - плюнул и решил свой примерно xprintf через vsnprintf (флеш сейчас(пока что?) не экономлю). Строки --specs=*.specs задают компилятору файлы с информацией линкеру, у меня лежат рядом с библиотеками. То есть это lib/nano.specs Про specs
https://stackoverflow.com/questions/65453293/what-are-nosys-nano-rdimon-terms-when-using-arm-gccПро _write без IDE с автодополнением даже не увидел бы возможности, тоже примечательно.