Что это? Так программа вроде бы работает нормально.
Подскажите по Atmel Studio 6.0
- Сообщения: 39
- Зарегистрирован: Чт май 01, 2014 11:31:03
В Atmel Studio 6.0 при компиляции выходит : #warning "This file has been moved to <util/delay.h>." [-Wcpp]
Что это? Так программа вроде бы работает нормально.
Что это? Так программа вроде бы работает нормально.
- Реклама
вообще-то принято выкладывать не только сообщение об ошибке ил предупреждение, но и строку, на которую оно выводится...
скорее всего вы используете исходник, созданный для древней версии компилятора, в котором указан в директиве include файл, в новой версии находящийся в другом месте.
скорее всего вы используете исходник, созданный для древней версии компилятора, в котором указан в директиве include файл, в новой версии находящийся в другом месте.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 39
- Зарегистрирован: Чт май 01, 2014 11:31:03
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 и эта опасность то есть то нет. Перед закрытием компелируешь есть, закрываешь, открываешь, компелируешь нет опасности ???
строка 36 как я понял в файле delay.h и эта опасность то есть то нет. Перед закрытием компелируешь есть, закрываешь, открываешь, компелируешь нет опасности ???
- Сообщения: 136
- Зарегистрирован: Чт янв 02, 2014 21:28:22
Глюк с установкой\ виндой, он же пишет: файл был перемещен, сделай проверку файловой системы, переустанови студию, поставь по свежей уже очно есть 6.2, на вирусы систему проверь
ну по-русски же сказал: приведите строку, на которую ругается компилятор! нет, продолжаем тень на плетень наводить.
уверен, что если топикстартер наконец-то покажет строку, на которую ругается компилятор, она будет выглядеть так:
#include <delay.h>
а правильно должна выглядеть так:
#include <util/delay.h>
P.S. есть еще вариант, что топикстатер пытается скормить студии CVAvr-овский исходник...
не нужно фантазий, никакого глюка нет - уверен на 99.9999% в старых версиях модуль delay.h размещался в папке "системных" модулей, а начиная с некоторой версии его поместили в подпапку util - о чем компилятор и сообщает.servmv писал(а):Глюк с установкой\ виндой,
уверен, что если топикстартер наконец-то покажет строку, на которую ругается компилятор, она будет выглядеть так:
#include <delay.h>
а правильно должна выглядеть так:
#include <util/delay.h>
P.S. есть еще вариант, что топикстатер пытается скормить студии CVAvr-овский исходник...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- Сообщения: 39
- Зарегистрирован: Чт май 01, 2014 11:31:03
не совсем понимаю о какой строке идет речь (так как только начинаю в этой теме разбираться) когда жму на "варнинг" у меня открывается окно файла delay.h с варнингом на 36 строке. Программу писал сам (пытается скормить студии CVAvr-овский исходник...)
в программе прописано #include <avr/delay.h>, раньше тоже так писал все работало
В общем я еще полхо понимаю проходящие процессы, но когда выходит ошибка (error), то в студии указывается строка, а в моем случае выходит опасность (warning) и ссылки на строку в моей программе нет, как то так
P.S. еще раз напомню, что данная проблема то появляется, то исчезает (щас загрузил студию, прокомпелировал, все чисто), в ПРОТЕУСЕ все работает нормально, просто хочется понять что это и будет ли это как то отражаться на работе программы в "железе".
в программе прописано #include <avr/delay.h>, раньше тоже так писал все работало
В общем я еще полхо понимаю проходящие процессы, но когда выходит ошибка (error), то в студии указывается строка, а в моем случае выходит опасность (warning) и ссылки на строку в моей программе нет, как то так
P.S. еще раз напомню, что данная проблема то появляется, то исчезает (щас загрузил студию, прокомпелировал, все чисто), в ПРОТЕУСЕ все работает нормально, просто хочется понять что это и будет ли это как то отражаться на работе программы в "железе".
я ранее написал, как должно быть.leshaast писал(а):в программе прописано #include <avr/delay.h>
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 39
- Зарегистрирован: Чт май 01, 2014 11:31:03
ARV, спасибо. Исправил <avr/delay.h> на <util/delay.h> и студия ругаться перестала. Скажите пожалуйста, чем отличается библиотеки <avr/delay.h> от <util/delay.h> и то и это в студии присутствует, delay.h там еще где то есть, и того их минимум три, чем они отличаются друг от друга, или я что то не так понимаю???
да ничем оно не отличается! в новых версиях компилятора файл delay.h находится не в папке includes/avr, а в папке includes/util, только и всего! просто НОВЫЕ компиляторы об этом переносе ЗНАЮТ и автоматически используют ПРАВИЛЬНЫЙ путь, но выводят предупреждение при этом. старые компиляторы этой фичи не имеют.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
в старых компиляторах, например WinAVR 2010 есть delay.h в папке includes/avr, но его содержимое такое:старые компиляторы этой фичи не имеют
Код: Выделить всё
#warning "This file has been moved to <util/delay.h>."
#include <util/delay.h>вот именно это и выводит сообщение. я компилятором назвал "тулчейн" в целом - с папками и файлами. WinAVR 2010 - это уже НОВЫЙ компилятор, с перемещенным файлом. я говорил о еще более старых версиях 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
добавлю - старые версии компиляторов это которые до 2007 года
http://lists.gnu.org/archive/html/avr-l ... 00022.html
http://lists.gnu.org/archive/html/avr-l ... 00022.html
- Сообщения: 39
- Зарегистрирован: Чт май 01, 2014 11:31:03
Вопрос в том что студия при вводе #include<> выдает файлы разных библиотек и среди них присутствуют <avr/delay.h> , <util/delay.h> и <delay.h >, т.е. как я понимаю что все они есть, если это одно и тоже просто изменился адрес, то почему тогда присутствуют все три delay.h в разных директивах. Мож я че то не понимаю.
вы можете сравнить все предлагаемые файлы по содержимому, выбрать нужный и не морочить голову себе и другим.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 39
- Зарегистрирован: Чт май 01, 2014 11:31:03
ARV спасибо за Ваши консультации, помогли. Но в этом случае, можно было бы просто сказать не знаю, или не встречался с этим, или лень (или трудно) объяснять... Я вот не знаю, разбираюсь плохо поэтому и спрашиваю...ARV писал(а):вы можете сравнить все предлагаемые файлы по содержимому, выбрать нужный и не морочить голову себе и другим.
как то так
извиняйте если заморочил Вас
я вам уже сказал: раньше компилятор использовал файл delay.h, который размещался в одной папке, затем разработчики тулчейна переместили его в другую папку, а чтобы древние программы компилировались, сохранили на старом месте файл-заглушку, который генерирует варнинг и подключает файл из нового места... что вам еще нужно понять?
неужели не ясно, что avr/delay.h - это пустышка, внутри которой есть вывод варнинга и подключение util/delay.h?! то есть avr/delay.h это 100% то же самое, что и util/delay.h, но с бонусом в виде варнинга?!
если у вас есть еще третий delay.h в корневой папке - кто, кроме вас, может знать о его содержимом, если в стандартном комплекте тулчейна его там нет и быть не должно?! кто, кроме вас, сможет в него посмотреть и сделать вывод о его назначении?!
в чем проблема-то?
неужели не ясно, что avr/delay.h - это пустышка, внутри которой есть вывод варнинга и подключение util/delay.h?! то есть avr/delay.h это 100% то же самое, что и util/delay.h, но с бонусом в виде варнинга?!
если у вас есть еще третий delay.h в корневой папке - кто, кроме вас, может знать о его содержимом, если в стандартном комплекте тулчейна его там нет и быть не должно?! кто, кроме вас, сможет в него посмотреть и сделать вывод о его назначении?!
в чем проблема-то?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 39
- Зарегистрирован: Чт май 01, 2014 11:31:03
ARV писал(а):я вам уже сказал: раньше компилятор использовал файл delay.h, который размещался в одной папке, затем разработчики тулчейна переместили его в другую папку, а чтобы древние программы компилировались, сохранили на старом месте файл-заглушку, который генерирует варнинг и подключает файл из нового места... что вам еще нужно понять?
ARV спасибо, собственно это то что я хотел понять (услышать), может я не правильно вопрос формулировал, поэтому такая "заморочка" получилась.
Благодарю за проявленное терпение
- Сообщения: 1138
- Зарегистрирован: Сб апр 03, 2010 08:57:35
Давно не появлялся на на этом форуме, но думаю здесь можно задать мой вопрос.
Использую внешнюю SRAM 32 Кбайта в связке с ATmega 128, пишу в Atmel Studio (недавно перешёл), тулчейн GCC - вопрос в том как указать компилятору что у меня памяти стало больше чем встроено в контроллере?
Долгий поиск привёл к вот этому сайту. Но там для 5 студии, попытки добавить предложенную запись не привела к успеху.
Кто может подсказать как договорится с компилятором?
неужели никто не сталкивался ?
Использую внешнюю SRAM 32 Кбайта в связке с ATmega 128, пишу в Atmel Studio (недавно перешёл), тулчейн GCC - вопрос в том как указать компилятору что у меня памяти стало больше чем встроено в контроллере?
Долгий поиск привёл к вот этому сайту. Но там для 5 студии, попытки добавить предложенную запись не привела к успеху.
Кто может подсказать как договорится с компилятором?
неужели никто не сталкивался ?
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Для Modest наверное уже не актуально, но пусть будет...
в принципе там правильно в их контексте
я в main вызываю ХRAM_ini() немного с другой настройкой
в принципе там правильно в их контексте
Код: Выделить всё
void vXMEMInit(void)
{
MCUCR |= (1<<SRE); /* External memory interface enable */
XMCRA = 0;
XMCRB |= (1<<XMM1)|(1<<XMM0);//PC7..PC5 released pins
}
Код: Выделить всё
//-----------------------------------------------------------
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 раза.
насколько я могу понять, такая запись должна корректно восприниматься и современной студией. но вот память эта будет доступна только для ДИНАМИЧЕСКОГО выделения соответствующими функциями. статические переменные компилятор/линкер туда класть не будет.Modest писал(а):Кто может подсказать как договорится с компилятором?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


