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

 
 
> Как сделать смешаный проект?, С *.c и *.asm файлами
777777
сообщение Apr 30 2008, 04:22
Сообщение #1


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



И calling convention я нигде не найду sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mdmitry
сообщение Apr 30 2008, 08:55
Сообщение #2


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Возможно, Вам надо отредактировать makefile в плане подключения исходных текстов на ассемблере и ключей запуска для ассемблера. Кажется, в makefile в текущей версии не все поправили в флагах. Посмотрите bugreports на предыдущие выпуски Winavr. Где-то были сообщения о флагах. И еще, прототипы функций в *.с должны быть указаны.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
777777
сообщение Apr 30 2008, 09:19
Сообщение #3


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Кое-что начало получаться (хотя и не все sad.gif ), но главная проблема, которую я увидел - ассемблерный файл транслируется вовсе не AVR-овским ассемблером. Подозреваю что это транслятор, который берет промежуточный ассемблерный файл, который получается после компиляци C-файла. Он не понимает никаких директив - ни .equ, ни .def

PS. А без мейкфайла, непосредственно в IDE нельзя указать что файл является ассемблерным?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 30 2008, 09:30
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(777777 @ Apr 30 2008, 12:19) *
Подозреваю что это транслятор, который берет промежуточный ассемблерный файл, который получается после компиляци C-файла.

после компиляции с-файла получается объектный файл, не имеющий ничего общего с ассемблером
Цитата
PS. А без мейкфайла, непосредственно в IDE нельзя указать что файл является ассемблерным?

Какая ИДЕ?
мэйк-файл нужен по любому, только формируете его либо вы (как вам надо), либо оболочка (как посчитает нужным)
на ассемблерность файла указывает его расширение (.s)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
777777
сообщение Apr 30 2008, 09:59
Сообщение #5


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(MrYuran @ Apr 30 2008, 13:30) *
после компиляции с-файла получается объектный файл, не имеющий ничего общего с ассемблером

Не факт. Помнится, в юниксе на ЭВМ smile.gif СМ-4 c-шный компилятор создавал сначала ассемблерный файл, причем именно с расширением .s, а из него уже получал объектный. Скоре всего gcc тоже генерирует сначала ассемблерный файл и сразу передает его транслятору.
Цитата(MrYuran @ Apr 30 2008, 13:30) *
Какая ИДЕ?
мэйк-файл нужен по любому, только формируете его либо вы (как вам надо), либо оболочка (как посчитает нужным)

Да это понятно. Я и имел в виду - генерировать его из ИДЕ с помощью флажков. Впрочем, мне это уже удалось
Цитата(MrYuran @ Apr 30 2008, 13:30) *
на ассемблерность файла указывает его расширение (.s)

Увы. Кроме того, удалось догадаться о наличии в этом ассемблере директивы .global smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 777777   Как сделать смешаный проект?   Apr 30 2008, 04:22
- - MrYuran   А вчём проблема? посмотрите примеры из состава GCC...   Apr 30 2008, 05:01
|- - 777777   Цитата(MrYuran @ Apr 30 2008, 09:01) А в ...   Apr 30 2008, 05:38
|- - aesok   Цитата(777777 @ Apr 30 2008, 09:38) Где о...   Apr 30 2008, 06:38
|- - mdmitry   Цитата(777777 @ Apr 30 2008, 13:19) PS. А...   Apr 30 2008, 09:36
|- - Сергей Борщ   Цитата(777777 @ Apr 30 2008, 12:19) но гл...   Apr 30 2008, 10:34
|- - 777777   Цитата(Сергей Борщ @ Apr 30 2008, 14:34) ...   Apr 30 2008, 11:23
||- - Сергей Борщ   Цитата(777777 @ Apr 30 2008, 14:23) И нав...   Apr 30 2008, 12:25
||- - 777777   В общем, все получилось за исключением одной ...   May 1 2008, 11:45
|- - xelax   Цитата(Сергей Борщ @ Apr 30 2008, 14:34) ...   May 4 2008, 05:46
- - InsolentS   Пишу так Код EXPORT Test EXTERN func1 ...   May 3 2008, 20:23
|- - 777777   Цитата(InsolentS @ May 4 2008, 00:23) Пиш...   May 4 2008, 11:03
|- - aesok   Цитата(777777 @ May 4 2008, 15:03) В нем ...   May 4 2008, 11:46
|- - 777777   Цитата(aesok @ May 4 2008, 15:46) Опишите...   May 4 2008, 13:02
- - aaarrr   ИМХО, правильнее было бы так: Код EXPORT Test ...   May 3 2008, 20:54
|- - InsolentS   Хмм..в случае с Си действительно работает. А как ж...   May 3 2008, 21:18
|- - meister   Цитата(InsolentS @ May 4 2008, 01:18) Хмм...   May 4 2008, 05:51
- - ReAl   GNU as для AVR поддерживает байтовую адресацию фле...   May 4 2008, 19:42
- - _Pasha   Пока большинство с успехом пользуется С, у меня пр...   May 29 2008, 13:25
- - singlskv   Цитата(_Pasha @ May 29 2008, 17:25) Плаги...   May 29 2008, 15:33


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

 


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


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