Перейти к содержанию
    

Не могу собрать проект 'Hello Wirld !'

Ага, теперь собралось. У меня не хватало флагов -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 вроде нормальный.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или я что-то не понял, или мне всё равно придётся переписывать большинство этих функций:)
Да я и сам пока не до конца воткнулся ещё. Попробовал собрать - собралось. Не тестировал ещё, т.к. резко на другую задачу перекинулся.

Но из последнего что запомнил - тут по ходу дела write настроен либо на вывод через SWO либо через RDI (про RDI я вообще не в теме ещё).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тут по ходу дела write настроен либо на вывод через SWO либо через RDI (про RDI я вообще не в теме ещё).

Судя по коду, он пишет число 88 (ENOTSOCK) в errno, и возвращает -1. Короче, очередная заглушка, которую опять же надо переопределять:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Судя по коду, он пишет число 88 (ENOTSOCK) в errno, и возвращает -1. Короче, очередная заглушка, которую опять же надо переопределять:)
Ваша правда.

Ну а чтобы в RDI пошло надо линковать с -lrdimon.

+

-specs=rdimon.specs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

очередная заглушка, которую опять же надо переопределять:)
Попробовал сегодня поэкспериментировать.

Достаточно в проекте c подключенной libnosys переопределить свой _write и всё начинает работать.

По сложности уже сопоставимо с avr-gcc, где требовалось реализовать лишь putc.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С одной стороны, это может сделать нашу жизнь проще, с другой - я уже привык, что все заглушки в исходниках, и я точно знаю, как они устроены:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...