Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Портирование binutils (транслятора асемблера и иже с ним)
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
SM
Надо сделать транслятор ассемблера и все, что он за собой тянет, дабы он мог транслировать мнемонику разработанного мной ядра. Хочется именно binutils.

Мне хотелось бы оценить сложность задачи (ибо не представляю совершенно что там и как) и возможно найти того, кто бы смог это реализовать.

ЗЫ
Я долго думал, в какую тему запихать этот вопрос. Вроде непосредственно относится к микроконтроллерам, а вроде и к программированию, в общем запихал сюда.
yuri_t
Надо портировать, наверное, не только as но и ld, objdump, objcopy.
Я бы оценил такую работу как 3-6 месяцев full time job, 1 человек.
Если же говорить об компиляторе С с каким либо уровнем оптимизации - то
сильно зависит от системы команд. Если система команд похожа на
уже имеющуюся в GCC - то 6 мес -1 год, 2 человека, full time job (причем
32/64 bit - быстрее, 16/8 bit - медленее
SM
Цитата(yuri_t @ Jun 10 2007, 14:25) *
Надо портировать, наверное, не только as но и ld, objdump, objcopy.


Да, речь именно об этом. Спасибо за хоть какую-то оценку.
Stanislav Sedov
Цитата(SM @ Jun 9 2007, 10:51) *
Надо сделать транслятор ассемблера и все, что он за собой тянет, дабы он мог транслировать мнемонику разработанного мной ядра. Хочется именно binutils.

Мне хотелось бы оценить сложность задачи (ибо не представляю совершенно что там и как) и возможно найти того, кто бы смог это реализовать.

ЗЫ
Я долго думал, в какую тему запихать этот вопрос. Вроде непосредственно относится к микроконтроллерам, а вроде и к программированию, в общем запихал сюда.



На самом деле, работы не так много:
1) нужно портировать bfd (описание формата команд, ABI и проч.)
2) для as там есть генератор (cgen вроде), который генерирует код на С для составленного описания команд. RedHat сейчас использует его вместо ручного программирования.

ld и всё остальное трогать вообще не нужно, оно испольует bfd.
SM
Спасибо, но я уже сделал эту работу процентов так на 80, и теперь сам знаю что к чему. Причем за неделю.

P.S. cgen не использовал, у меня не все так просто.

P.P.S. Кроме bfd и as не надо забывать про libopcodes, в которой дизассемблятор. Он тоже в принципе нужен для полноценного порта.

P.P.P.S. А ведь кто-то мог бы деньжат подзаработать. Я неделю предложений ждал smile.gif
Oldring
Цитата(SM @ Jun 26 2007, 16:53) *
Спасибо, но я уже сделал эту работу процентов так на 80, и теперь сам знаю что к чему. Причем за неделю.


Для себя всегда быстрее делается smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.