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

Доброго времени суток. Пишу программу для AVR микроконтроллеров на ассемблере. Нужно скомпоновать объектные файлы. Как это можно сделать? На сколько я понимаю, для этого нужен линковщик. Но какой??

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


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

На каком ассемблере. Телепатия не помогает увы...

 

Если вы о Авр студии то на выходе получаете файл, который зашивается в МК, если о чем то другом пытаетесь спросить... то пожалуйста - приоткройте завесу тайны... Поподробнее что ли

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


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

Использую ассемблер для AVR. Компилятор от AVR Studio (avrasm32.exe). Самим AVR Studio не пользуюсь. Использую программу Tavrasm, которая и запускает компилятор; объектные файлы создаю тоже с ее помощью. Основная идея - разбить программу на отдельные модули, каждый из которых сохраняется в отдельном файле и отдельно компилируется; объединение должно происходить на этапе компоновки.

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


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

Атмеловский ассемблер от AVRStudio такого не поддерживает. Возьмите гнутый ассемблер/линкир/все остальное из WinAVR, но исходники придется основательно перелопатить.

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


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

Спасибо за ответ. Жаль что не поддерживает. А какой "гнутый" ассемблер возможно использовать?

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


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

А какой "гнутый" ассемблер возможно использовать?
Да он один - avr-as (линкер - avr-ld). Входит в состав GNU binutils. Для виндовса можно найти в собранном виде, с документацией и С/С++ компилятором впридачу в составе пакета WinAVR. Он же более свежей сборки - в виде Atmel AVR Toolchain.

 

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


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

Атмеловский ассемблер от AVRStudio такого не поддерживает. Возьмите гнутый ассемблер/линкир/все остальное из WinAVR, но исходники придется основательно перелопатить.

Что-то я не понял , что именно не поддерживает студийный asm?

Компановку отдельных файлов в один проект - поддерживает.

Порядок компановки файлов - тоже .

Поясните , плиз

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


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

Компановку отдельных файлов в один проект - поддерживает.

Порядок компановки файлов - тоже .

Раздельное ассемблирование каждого ассемблерного исходника в объектный файл и последующую линковку. Атмеловский ассемблер позволяет лишь тупо свалить несколько исходников в один файл директивой include и затем ассемблировать полученный текст.

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


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

Раздельное ассемблирование каждого ассемблерного исходника в объектный файл и последующую линковку. Атмеловский ассемблер позволяет лишь тупо свалить несколько исходников в один файл директивой include и затем ассемблировать полученный текст.

 

А какая не всё равно, если объектные файлы линковщик на части разбить не сможет - в итоге получим тож на тож. Или нет?

К тому же в каждом проекте есть свой файл inc общий обычно для всех файлов проекта в целом . А Для каждого отдельного файла свой inc и свои назначния переменых , буфферов переменных и т.п.

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


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

Не понимаю зачем для авр вообще нужен линковщик.

Програмной памяти то не много. Неужели время трансляции напрягает?

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


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

Програмной памяти то не много. Неужели время трансляции напрягает?

Не, немного: 128kB-192kB-256kB..скоро обещают 384kB.

 

Неужели время трансляции напрягает?

 

Напрягает. 128кБ пересобирается за 1-2 минуты.

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


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

Напрягает. 128кБ пересобирается за 1-2 минуты.

Это что , проект на asm занимает 128к?

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


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

Это что , проект на asm занимает 128к?

 

Нет проект на Си. А какая разница?

На асм он занимал бы килобайтов 80-100 (правда вряд ли бы его удалось написать).

 

 

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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