AHTOXA 15 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Ага, теперь собралось. У меня не хватало флагов -nodefaultlibs и -lc. Хм, фигня какая-то: 08001938 <_write>: 8001938: f240 2308 movw r3, #520 ; 0x208 800193c: f2c2 0300 movt r3, #8192 ; 0x2000 8001940: 2258 movs r2, #88; 0x58 8001942: 601a str r2, [r3, #0] 8001944: f04f 30ff mov.w r0, #4294967295 8001948: 4770 bx lr Или я что-то не понял, или мне всё равно придётся переписывать большинство этих функций:) (Хотя код _sbrk вроде нормальный.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Или я что-то не понял, или мне всё равно придётся переписывать большинство этих функций:)Да я и сам пока не до конца воткнулся ещё. Попробовал собрать - собралось. Не тестировал ещё, т.к. резко на другую задачу перекинулся. Но из последнего что запомнил - тут по ходу дела write настроен либо на вывод через SWO либо через RDI (про RDI я вообще не в теме ещё). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба тут по ходу дела write настроен либо на вывод через SWO либо через RDI (про RDI я вообще не в теме ещё). Судя по коду, он пишет число 88 (ENOTSOCK) в errno, и возвращает -1. Короче, очередная заглушка, которую опять же надо переопределять:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Судя по коду, он пишет число 88 (ENOTSOCK) в errno, и возвращает -1. Короче, очередная заглушка, которую опять же надо переопределять:)Ваша правда. Ну а чтобы в RDI пошло надо линковать с -lrdimon. + -specs=rdimon.specs Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 2 сентября, 2013 Опубликовано 2 сентября, 2013 · Жалоба очередная заглушка, которую опять же надо переопределять:)Попробовал сегодня поэкспериментировать. Достаточно в проекте c подключенной libnosys переопределить свой _write и всё начинает работать. По сложности уже сопоставимо с avr-gcc, где требовалось реализовать лишь putc. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 2 сентября, 2013 Опубликовано 2 сентября, 2013 · Жалоба С одной стороны, это может сделать нашу жизнь проще, с другой - я уже привык, что все заглушки в исходниках, и я точно знаю, как они устроены:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться