-
- В эклипсе в проекте убрал --specs=rdimon.specs поставил Use newlib-nano( --specs=nano.specs ) При Do not use syscalls( --specs=nosys.specs ) происходит что
описал ниже; при отключенной ругается на отсутствие _sbrk _write_r _close _lseek_r _read_r' _getpid_r _getpid
_fstat_r _fstat ; в подобном проекте видел заглушки на неиспользуемые и вызов из write() своего __io_putchar(). Вопрос по прежнему актуален: 1)где внятное описание этого всего Dingo(98 знак., 13.04.2023 16:38)
- А вот и в syscalls.c в исходниках с левого гитхаба newlib\libc\sys\arm\ с атрибутом weak Dingo(705 знак., 13.04.2023 17:42)
- Вот тут что-то есть: SciFi(1 знак., 13.04.2023 19:25, ссылка)
- Спасибо. Там ещё вариант просматривается, но надо разобраться ещё с
какими ключами либа в проекте используется: там и буфера есть, и
флаги, и... А для консоли достаточно *flush* реализовать, который
дёргается только когда в буфере место закончилось( его в свой
переписать и в фоне выводить в uart). С одной стороны понятно
обусловленность сложности: куча архитектур, платформ от железок до
вполне ОС, поддержка всего зоопарка. Разной сложности форматы
строк, расурсы и возможности Dingo(216 знак., 13.04.2023 20:27)
- У меня была ситуация, когда newlib съедал слишком много флеша. Я надёргал стандартных функций из dietlibc, там всё обезжиренное, в том числе семейство *printf. С тех пор так всегда и делаю. И внутри там всё довольно просто устроено, перенаправить printf куда надо можно довольно тривиально. - SciFi(13.04.2023 20:34)
- Спасибо. Там ещё вариант просматривается, но надо разобраться ещё с
какими ключами либа в проекте используется: там и буфера есть, и
флаги, и... А для консоли достаточно *flush* реализовать, который
дёргается только когда в буфере место закончилось( его в свой
переписать и в фоне выводить в uart). С одной стороны понятно
обусловленность сложности: куча архитектур, платформ от железок до
вполне ОС, поддержка всего зоопарка. Разной сложности форматы
строк, расурсы и возможности Dingo(216 знак., 13.04.2023 20:27)
- Вот тут что-то есть: SciFi(1 знак., 13.04.2023 19:25, ссылка)
- А вот и в syscalls.c в исходниках с левого гитхаба newlib\libc\sys\arm\ с атрибутом weak Dingo(705 знак., 13.04.2023 17:42)
- В эклипсе в проекте убрал --specs=rdimon.specs поставил Use newlib-nano( --specs=nano.specs ) При Do not use syscalls( --specs=nosys.specs ) происходит что
описал ниже; при отключенной ругается на отсутствие _sbrk _write_r _close _lseek_r _read_r' _getpid_r _getpid
_fstat_r _fstat ; в подобном проекте видел заглушки на неиспользуемые и вызов из write() своего __io_putchar(). Вопрос по прежнему актуален: 1)где внятное описание этого всего Dingo(98 знак., 13.04.2023 16:38)