Обсуждаем контроллеры компании Atmel.
Ответить

Помогите разобраться с компиляцией.

Пт авг 11, 2017 17:47:07

В общем пытаюсь откомпилировать этот проект:

Установил WinAVR - вроде как его студия видит.

Создал проект (в студии 4.18) и перенес в него все *.c, *.s (в чем разница ?) и *.h

Жму Ctrl+F7 и понеслось :

C:/Program Files/Atmel/WinAVR/avr/include/stdint.h:116: Error: unknown opcode `typedef'

Тоесть ругань на внутреннюю WinAVR библиотеку или я чего-то не понимаю.
Вложения
adpcm_src.zip
(15.84 KiB) Скачиваний: 237

Re: Помогите разобраться с компиляцией.

Пт авг 11, 2017 18:37:22

Наверное надо поставить смайлик :facepalm:

По скольку ругается на opcode, то видимо исходный сишный код Вы пытаетесь скомпиллить как ассемблерный.

Re: Помогите разобраться с компиляцией.

Пт авг 11, 2017 20:06:08

Не исключу. Ни разу не сталкивался с компиляцией Сишных проектов. Но надо-ж когда-то начинать. В свойствах проекта стоит Си. К тому-ж тогда он с первой строчки main.c должен был-бы завопить.

Re: Помогите разобраться с компиляцией.

Ср авг 16, 2017 07:46:05

все *.c, *.s (в чем разница ?)

По расширению обычно определяют тип файла:
.s (строчная) - исходник на gnu-as, одном из диалектов ассемблера, не нуждающийся в препроцессоре
.S (заглавная) - то же, но перед компиляцией будут обработаны #include, #define и тому подобные директивы препроцессора
Впрочем, не уверен, справится ли WinAVR: в windows нет разницы между заглавными и строчными буквами. Но каким-то образом они хранятся, так что может и обрабатывать.
.asm - AVR assembler (речь идет о конкретном применении, наверняка другие ассемблеры тоже считают его своим)
.c - исходник на С
.cpp - исходник на С++
.h - заголовочный файл к C/C++

Для подробностей по расширениям man gcc

Re: Помогите разобраться с компиляцией.

Ср авг 16, 2017 21:36:03

Спасибо. Но все-ж как правильно открыть такой проект (вложение в перврм сообщении темы) в AVR Studio + WinAVR или это вообще для другого компилятора ?

Re: Помогите разобраться с компиляцией.

Чт авг 17, 2017 12:27:50

Спасибо. Но все-ж как правильно открыть такой проект (вложение в перврм сообщении темы) в AVR Studio + WinAVR или это вообще для другого компилятора ?


Я никогда не работал c AVR Studio, но:
1) собираетесь компилить C-проекты (на скамом деле с+asm), то азы надо знать! Хотябы "по диагонали" книжку по C прочитать. Чем отличается файл с исходником C и asm-файл уж точно нужно понимать :-)
2) там в комплекте есть Makefile, может просто в командной строке make запустить?
Код:
make hex

Либо читайте про среду AVR Studio, либо ей можно готовый Makefile "скормить", либо добавляйте все файлы и необходимые опции.

Re: Помогите разобраться с компиляцией.

Чт авг 17, 2017 17:34:29

открыть такой проект... в AVR Studio + GCCAVR

корявенько, но компилируется, для WinAVR в настройках проекта Project->Configuration Options->Custom Options->External Tools птичку поставить Use AVR Toolchain
Adpcm.zip
(59.05 KiB) Скачиваний: 211

Re: Помогите разобраться с компиляцией.

Пт авг 18, 2017 08:14:22

Спасибо. Но все-ж как правильно открыть такой проект (вложение в перврм сообщении темы) в AVR Studio + WinAVR или это вообще для другого компилятора ?


Я никогда не работал c AVR Studio, но:

Либо читайте про среду AVR Studio, либо ей можно готовый Makefile "скормить", либо добавляйте все файлы и необходимые опции.


Ну вот в том и вопрос, как это проект скомпилировать в AVRстудии (ибо из под нее возможна внутрисхемная отладка) - соответственно для тех кто знает. Ассемблер знаю, немного умею, отличить смогу - но вопрос стоял - куда эти файлы подключать.

+ в Makefile есть, как минимум 1 константа на которую ссылается какой-то из файлов.
Ответить