Codeblock и winavr .... и возникшая проблема от сего синтеза

Обсуждаем контроллеры компании Atmel.
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Codeblock и winavr .... и возникшая проблема от сего синтеза

Сообщение Catdawr »

Здравствуйте друзья, помогите разобраться, вот у меня codeblock (с winavr) и студия АВР. Так как студия на моем компютере немного долго включается, компилирует тоже ( код из нескольких строк с морганием диодом и пары delay-ев занял секунд 10) и проекты долго включает.... ну тут комп такой, что с ним только не делал, но сейчас не об этом. И вот, значит codeblock. Идентичный код( моргалок со студии), компилированный с код блока ведет себя странно. Ну именно delay. Пара варнингов типо :

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

warning: "F_CPU" redefined
warning: this is the location of the previous definition
warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
Вот и всё что он мне говорит. А вот, собственно, что выходит - заливаю hex в протеус, и там где стоит delay в коде он его игнорирует, и все что стоит за ним. По ошибкам ничего конкретного не нашел. вот код
Спойлер

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


#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>



int main(void)
{
DDRD= 0x03;
PORTD=0x00;

    while(1){
 
    if  (PIND&(1<<PD2)){

	   _delay_ms(200);
	    PORTD |= (1<<PD0);
	    _delay_ms(200);
	    PORTD &= ~(1<<PD0);
    }
    }
    return 0;
}

То есть, в данном случае проверка кнопки есть, реакции нету. Если уберу первый _delay_ms(200) - загорится, если нажать кнопку, ... и будет продолжать гореть ни разу не моргнув.

Надо заметить, что студия на этот код не ругается и делает работоспособным, но делает это чертовски мееееееедленно.
Может, знает кто в чем дело?
Реклама
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Ivanoff-iv »

антивирь? (какую нибудь песочницу включает)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

WinAvr устарел давно. Установите Atmel AVR Toolchain и укажите к нему пути в настройках компилятора.
Включите оптимизацию.
уберите #define F_CPU 1000000UL
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение mrFox »

У CodeBlock F_CPU задается в project / build options -> закладка defines
и #define F_CPU в коде лишняя о чем и сообщает компилятор
дальше сообщение, что задержка не будет работать как положенно
А всякие "чудеса" происходят от разных опций компилятора под студию и кодеблок
посмотрите какие настройки стоят в студии и какие в кодеблоке

PS самая низкопотребляемая по памяти компиляция - make all
редактор - в винде notepad++, под linux есть Geany
Реклама
Эиком - электронные компоненты и радиодетали
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

антивирь? (какую нибудь песочницу включает)
- у меня антивирь порядошный, о таком он сообщает
WinAvr устарел давно. Установите Atmel AVR Toolchain и укажите к нему пути в настройках компилятора.
Включите оптимизацию.
-Убрать winavr, поставить Atmel AVR Toolchain, хорошо. Надо будет найти как включать оптимизацию :)))
А всякие "чудеса" происходят от разных опций компилятора под студию и кодеблок
посмотрите какие настройки стоят в студии и какие в кодеблоке
-Ам, а есть предложения, на какие настройки обратить внимание?
Реклама
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

Надо будет найти как включать оптимизацию :)))
Переключите цель сборки на release.
Далее project,build options,слева-release, ищете optimization, -O.
Была у меня такая проблема уже :))
Реклама
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

Спасибо всем, кто отозвался.

Добавлено after 2 hours 38 minutes 59 seconds:
Re: Codeblock и winavr .... и возникшая проблема от сего синтеза
Ох, мне походу еще и помощь с установкой Atmel AVR Toolchain. вообще, не нашел там никакой установки... есть- avr8-gnu-toolchain-osx-3.5.4.468-darwin.any.x86_64.tar.gz Если его разархивировать, и указать в "GNU GCC ... for AVR" и toolchain executables-е папку bin, то .... программа, всё равно, не компилируется. И просто исходную папку указывал, тоже ничего.
Как, собстно, надо то? Поясните пожалуйста.
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

Т.к у Вас уже есть студия - посмотрите где-нибудь в C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

...Да, где то там я их нашел). Поставил оптимизацию... Теперь он не ругается ( ни одного варнинга ), но продолжает решительно игнорировать delay-и.
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

При создании проекта правильно указали F_CPU?
Если нет, то project / build options -> закладка defines.
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

Убрал из кода переназначение F_CPU. Менял в "билд опшоне"- изменений никаких.
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

Что у Вас во вкладке Settings->compiller->Search directories-> Compiller и Linker?
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

Абсолютное ничего, а нет, пордон, это я не туда зашел ( это был просо GNU GCC compiler).... В GNU GCC compiler for AVR по 2 строки почти идентичные
C:\WinAVR\avr\include ... \lib
C:\WinAVR-20100110\avr\include ... \lib
Последний раз редактировалось Catdawr Вс авг 06, 2017 22:37:10, всего редактировалось 1 раз.
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

Тогда Project->build options->compiller->Search directories-> Compiller и Linker?
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

Тогда Project->build options->compiller->Search directories-> Compiller и Linker?
А вот тут уже пусто
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

GNU GCC compiler for AVR поставьте по умолчанию пока.
Поменяйте эти пути на те, что в студии.
Т.е. compiller C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include
linker C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\lib
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

Да , я понял, но результата не дало. стоит ВинАвр-овские удалить?

Добавлено after 1 minute 53 seconds:
Re: Codeblock и winavr .... и возникшая проблема от сего синтеза
... Не важно, уже сделал, толку нет
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

Я сдаюсь, у меня в железе всё работает. Не поленился и залил в attiny85 :))
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

Дак в том то и дело. Что в студии работает а в Кблоке- нет... Ладно попробую его переустановить, еще что нибудь потыкаю, а пока спасибо за потраченое в пустую ваше время)
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

Дак в том то и дело, что у меня тоже в Коде-блоке :dont_know:
Ответить

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