реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Линковщик
cannoneer
сообщение Mar 20 2012, 16:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 10-06-11
Пользователь №: 65 609



Доброго времени суток. Пишу программу для AVR микроконтроллеров на ассемблере. Нужно скомпоновать объектные файлы. Как это можно сделать? На сколько я понимаю, для этого нужен линковщик. Но какой??
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 20 2012, 16:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(cannoneer @ Mar 20 2012, 19:04) *
Нужно скомпоновать объектные файлы.

А объектные файлы чем созданы?
Go to the top of the page
 
+Quote Post
Leopoldius
сообщение Mar 20 2012, 22:10
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 23-03-11
Из: Россия
Пользователь №: 63 824



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

Если вы о Авр студии то на выходе получаете файл, который зашивается в МК, если о чем то другом пытаетесь спросить... то пожалуйста - приоткройте завесу тайны... Поподробнее что ли
Go to the top of the page
 
+Quote Post
cannoneer
сообщение Mar 21 2012, 07:49
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 10-06-11
Пользователь №: 65 609



Использую ассемблер для AVR. Компилятор от AVR Studio (avrasm32.exe). Самим AVR Studio не пользуюсь. Использую программу Tavrasm, которая и запускает компилятор; объектные файлы создаю тоже с ее помощью. Основная идея - разбить программу на отдельные модули, каждый из которых сохраняется в отдельном файле и отдельно компилируется; объединение должно происходить на этапе компоновки.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 21 2012, 09:31
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
cannoneer
сообщение Mar 21 2012, 09:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 10-06-11
Пользователь №: 65 609



Спасибо за ответ. Жаль что не поддерживает. А какой "гнутый" ассемблер возможно использовать?
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 21 2012, 10:16
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



В WinAvr-е есть и компилятор С, и ассемблер, и линковщик.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 21 2012, 10:42
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Mar 21 2012, 17:27
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(Сергей Борщ @ Mar 21 2012, 13:31) *
Атмеловский ассемблер от AVRStudio такого не поддерживает. Возьмите гнутый ассемблер/линкир/все остальное из WinAVR, но исходники придется основательно перелопатить.

Что-то я не понял , что именно не поддерживает студийный asm?
Компановку отдельных файлов в один проект - поддерживает.
Порядок компановки файлов - тоже .
Поясните , плиз


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 21 2012, 20:05
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (ILYAUL @ Mar 21 2012, 19:27) *
Компановку отдельных файлов в один проект - поддерживает.
Порядок компановки файлов - тоже .
Раздельное ассемблирование каждого ассемблерного исходника в объектный файл и последующую линковку. Атмеловский ассемблер позволяет лишь тупо свалить несколько исходников в один файл директивой include и затем ассемблировать полученный текст.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Mar 21 2012, 20:26
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(Сергей Борщ @ Mar 22 2012, 00:05) *
Раздельное ассемблирование каждого ассемблерного исходника в объектный файл и последующую линковку. Атмеловский ассемблер позволяет лишь тупо свалить несколько исходников в один файл директивой include и затем ассемблировать полученный текст.


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


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 21 2012, 20:41
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Не понимаю зачем для авр вообще нужен линковщик.
Програмной памяти то не много. Неужели время трансляции напрягает?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 21 2012, 21:05
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(zombi @ Mar 21 2012, 22:41) *
Програмной памяти то не много. Неужели время трансляции напрягает?

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

Цитата(zombi @ Mar 21 2012, 22:41) *
Неужели время трансляции напрягает?


Напрягает. 128кБ пересобирается за 1-2 минуты.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Mar 22 2012, 08:37
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(_Артём_ @ Mar 22 2012, 01:05) *
Напрягает. 128кБ пересобирается за 1-2 минуты.

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


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 22 2012, 11:37
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(ILYAUL @ Mar 22 2012, 10:37) *
Это что , проект на asm занимает 128к?


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

Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 23:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01489 секунд с 7
ELECTRONIX ©2004-2016