cannoneer 0 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба Доброго времени суток. Пишу программу для AVR микроконтроллеров на ассемблере. Нужно скомпоновать объектные файлы. Как это можно сделать? На сколько я понимаю, для этого нужен линковщик. Но какой?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба Нужно скомпоновать объектные файлы. А объектные файлы чем созданы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leopoldius 0 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба На каком ассемблере. Телепатия не помогает увы... Если вы о Авр студии то на выходе получаете файл, который зашивается в МК, если о чем то другом пытаетесь спросить... то пожалуйста - приоткройте завесу тайны... Поподробнее что ли Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cannoneer 0 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Использую ассемблер для AVR. Компилятор от AVR Studio (avrasm32.exe). Самим AVR Studio не пользуюсь. Использую программу Tavrasm, которая и запускает компилятор; объектные файлы создаю тоже с ее помощью. Основная идея - разбить программу на отдельные модули, каждый из которых сохраняется в отдельном файле и отдельно компилируется; объединение должно происходить на этапе компоновки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 117 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Атмеловский ассемблер от AVRStudio такого не поддерживает. Возьмите гнутый ассемблер/линкир/все остальное из WinAVR, но исходники придется основательно перелопатить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cannoneer 0 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Спасибо за ответ. Жаль что не поддерживает. А какой "гнутый" ассемблер возможно использовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба В WinAvr-е есть и компилятор С, и ассемблер, и линковщик. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 117 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба А какой "гнутый" ассемблер возможно использовать?Да он один - avr-as (линкер - avr-ld). Входит в состав GNU binutils. Для виндовса можно найти в собранном виде, с документацией и С/С++ компилятором впридачу в составе пакета WinAVR. Он же более свежей сборки - в виде Atmel AVR Toolchain. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Атмеловский ассемблер от AVRStudio такого не поддерживает. Возьмите гнутый ассемблер/линкир/все остальное из WinAVR, но исходники придется основательно перелопатить. Что-то я не понял , что именно не поддерживает студийный asm? Компановку отдельных файлов в один проект - поддерживает. Порядок компановки файлов - тоже . Поясните , плиз Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 117 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Компановку отдельных файлов в один проект - поддерживает. Порядок компановки файлов - тоже . Раздельное ассемблирование каждого ассемблерного исходника в объектный файл и последующую линковку. Атмеловский ассемблер позволяет лишь тупо свалить несколько исходников в один файл директивой include и затем ассемблировать полученный текст. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Раздельное ассемблирование каждого ассемблерного исходника в объектный файл и последующую линковку. Атмеловский ассемблер позволяет лишь тупо свалить несколько исходников в один файл директивой include и затем ассемблировать полученный текст. А какая не всё равно, если объектные файлы линковщик на части разбить не сможет - в итоге получим тож на тож. Или нет? К тому же в каждом проекте есть свой файл inc общий обычно для всех файлов проекта в целом . А Для каждого отдельного файла свой inc и свои назначния переменых , буфферов переменных и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Не понимаю зачем для авр вообще нужен линковщик. Програмной памяти то не много. Неужели время трансляции напрягает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Програмной памяти то не много. Неужели время трансляции напрягает? Не, немного: 128kB-192kB-256kB..скоро обещают 384kB. Неужели время трансляции напрягает? Напрягает. 128кБ пересобирается за 1-2 минуты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба Напрягает. 128кБ пересобирается за 1-2 минуты. Это что , проект на asm занимает 128к? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба Это что , проект на asm занимает 128к? Нет проект на Си. А какая разница? На асм он занимал бы килобайтов 80-100 (правда вряд ли бы его удалось написать). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться