Подскажите по Atmel Studio 6.0

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт май 01, 2014 11:31:03

Сообщение leshaast »

В Atmel Studio 6.0 при компиляции выходит : #warning "This file has been moved to <util/delay.h>." [-Wcpp]
Что это? Так программа вроде бы работает нормально.
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

вообще-то принято выкладывать не только сообщение об ошибке ил предупреждение, но и строку, на которую оно выводится...

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

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт май 01, 2014 11:31:03

Сообщение leshaast »

Warning 1 #warning "This file has been moved to <util/delay.h>." [-Wcpp] c:\program files\atmel\atmel studio 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/delay.h 36 2 Trubogib
строка 36 как я понял в файле delay.h и эта опасность то есть то нет. Перед закрытием компелируешь есть, закрываешь, открываешь, компелируешь нет опасности ???
Встал на лапы
Аватара пользователя
Сообщения: 136
Зарегистрирован: Чт янв 02, 2014 21:28:22

Сообщение servmv »

Глюк с установкой\ виндой, он же пишет: файл был перемещен, сделай проверку файловой системы, переустанови студию, поставь по свежей уже очно есть 6.2, на вирусы систему проверь
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

ну по-русски же сказал: приведите строку, на которую ругается компилятор! нет, продолжаем тень на плетень наводить.
servmv писал(а):Глюк с установкой\ виндой,
не нужно фантазий, никакого глюка нет - уверен на 99.9999% в старых версиях модуль delay.h размещался в папке "системных" модулей, а начиная с некоторой версии его поместили в подпапку util - о чем компилятор и сообщает.

уверен, что если топикстартер наконец-то покажет строку, на которую ругается компилятор, она будет выглядеть так:
#include <delay.h>
а правильно должна выглядеть так:
#include <util/delay.h>

P.S. есть еще вариант, что топикстатер пытается скормить студии CVAvr-овский исходник...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт май 01, 2014 11:31:03

Сообщение leshaast »

не совсем понимаю о какой строке идет речь (так как только начинаю в этой теме разбираться) когда жму на "варнинг" у меня открывается окно файла delay.h с варнингом на 36 строке. Программу писал сам (пытается скормить студии CVAvr-овский исходник...)
в программе прописано #include <avr/delay.h>, раньше тоже так писал все работало
В общем я еще полхо понимаю проходящие процессы, но когда выходит ошибка (error), то в студии указывается строка, а в моем случае выходит опасность (warning) и ссылки на строку в моей программе нет, как то так

P.S. еще раз напомню, что данная проблема то появляется, то исчезает (щас загрузил студию, прокомпелировал, все чисто), в ПРОТЕУСЕ все работает нормально, просто хочется понять что это и будет ли это как то отражаться на работе программы в "железе".
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

leshaast писал(а):в программе прописано #include <avr/delay.h>
я ранее написал, как должно быть.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт май 01, 2014 11:31:03

Сообщение leshaast »

ARV, спасибо. Исправил <avr/delay.h> на <util/delay.h> и студия ругаться перестала. Скажите пожалуйста, чем отличается библиотеки <avr/delay.h> от <util/delay.h> и то и это в студии присутствует, delay.h там еще где то есть, и того их минимум три, чем они отличаются друг от друга, или я что то не так понимаю???
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

да ничем оно не отличается! в новых версиях компилятора файл delay.h находится не в папке includes/avr, а в папке includes/util, только и всего! просто НОВЫЕ компиляторы об этом переносе ЗНАЮТ и автоматически используют ПРАВИЛЬНЫЙ путь, но выводят предупреждение при этом. старые компиляторы этой фичи не имеют.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

старые компиляторы этой фичи не имеют
в старых компиляторах, например WinAVR 2010 есть delay.h в папке includes/avr, но его содержимое такое:

Код: Выделить всё

#warning "This file has been moved to <util/delay.h>."
#include <util/delay.h>
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

вот именно это и выводит сообщение. я компилятором назвал "тулчейн" в целом - с папками и файлами. WinAVR 2010 - это уже НОВЫЙ компилятор, с перемещенным файлом. я говорил о еще более старых версиях :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

добавлю - старые версии компиляторов это которые до 2007 года
http://lists.gnu.org/archive/html/avr-l ... 00022.html
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт май 01, 2014 11:31:03

Сообщение leshaast »

Вопрос в том что студия при вводе #include<> выдает файлы разных библиотек и среди них присутствуют <avr/delay.h> , <util/delay.h> и <delay.h >, т.е. как я понимаю что все они есть, если это одно и тоже просто изменился адрес, то почему тогда присутствуют все три delay.h в разных директивах. Мож я че то не понимаю.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт май 01, 2014 11:31:03

Сообщение leshaast »

ARV писал(а):вы можете сравнить все предлагаемые файлы по содержимому, выбрать нужный и не морочить голову себе и другим.
ARV спасибо за Ваши консультации, помогли. Но в этом случае, можно было бы просто сказать не знаю, или не встречался с этим, или лень (или трудно) объяснять... Я вот не знаю, разбираюсь плохо поэтому и спрашиваю...

как то так
извиняйте если заморочил Вас :))
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

я вам уже сказал: раньше компилятор использовал файл delay.h, который размещался в одной папке, затем разработчики тулчейна переместили его в другую папку, а чтобы древние программы компилировались, сохранили на старом месте файл-заглушку, который генерирует варнинг и подключает файл из нового места... что вам еще нужно понять?

неужели не ясно, что avr/delay.h - это пустышка, внутри которой есть вывод варнинга и подключение util/delay.h?! то есть avr/delay.h это 100% то же самое, что и util/delay.h, но с бонусом в виде варнинга?!

если у вас есть еще третий delay.h в корневой папке - кто, кроме вас, может знать о его содержимом, если в стандартном комплекте тулчейна его там нет и быть не должно?! кто, кроме вас, сможет в него посмотреть и сделать вывод о его назначении?!

в чем проблема-то?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт май 01, 2014 11:31:03

Сообщение leshaast »

ARV писал(а):я вам уже сказал: раньше компилятор использовал файл delay.h, который размещался в одной папке, затем разработчики тулчейна переместили его в другую папку, а чтобы древние программы компилировались, сохранили на старом месте файл-заглушку, который генерирует варнинг и подключает файл из нового места... что вам еще нужно понять?

ARV спасибо, собственно это то что я хотел понять (услышать), может я не правильно вопрос формулировал, поэтому такая "заморочка" получилась.
Благодарю за проявленное терпение
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

Давно не появлялся на на этом форуме, но думаю здесь можно задать мой вопрос.
Использую внешнюю SRAM 32 Кбайта в связке с ATmega 128, пишу в Atmel Studio (недавно перешёл), тулчейн GCC - вопрос в том как указать компилятору что у меня памяти стало больше чем встроено в контроллере?
Долгий поиск привёл к вот этому сайту. Но там для 5 студии, попытки добавить предложенную запись не привела к успеху.
Кто может подсказать как договорится с компилятором?

неужели никто не сталкивался ?
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Встал на лапы
Аватара пользователя
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Сообщение _dark »

Для Modest наверное уже не актуально, но пусть будет...

в принципе там правильно в их контексте

Код: Выделить всё

void vXMEMInit(void)
{
    MCUCR |= (1<<SRE);   /* External memory interface enable */
    XMCRA = 0;
    XMCRB |= (1<<XMM1)|(1<<XMM0);//PC7..PC5 released pins
}
я в main вызываю ХRAM_ini() немного с другой настройкой

Код: Выделить всё

//-----------------------------------------------------------
void XRAM_ini(void)
{
	MCUCR = (1<<SRE) | (1<<SRW10); //__eeGET(0x1D);
	XMCRA = (0<<SRL2) | (0<<SRL1) | (1<<SRL1) | (1<<SRW01) | (1<<SRW00) | (1<<SRW11);	//__eeGET(0x1E);//
	XMCRB = (1<<XMBK) | (0<<XMM2) | (0<<XMM1) | (0<<XMM0);	// 60K XRAM
}
Последний раз редактировалось _dark Ср ноя 23, 2016 10:20:44, всего редактировалось 3 раза.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Modest писал(а):Кто может подсказать как договорится с компилятором?
насколько я могу понять, такая запись должна корректно восприниматься и современной студией. но вот память эта будет доступна только для ДИНАМИЧЕСКОГО выделения соответствующими функциями. статические переменные компилятор/линкер туда класть не будет.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Ответить

Вернуться в «AVR»