, который нужно переписать в папку C:\Program Files\Atmel\Atmel Studio 6.0\tools\STK500\xml и перезапустить студио 6. После данных действий атмега128 шьется вроде нормально.
Проблема с сообщением СпойлерError 1 attempt to use poisoned "SIG_OUTPUT_COMPARE1A" G:\...\AVR\Proekts\AVRST5_test\AVRGCC1\AVRGCC1\Source\portable\GCC\ATMega323\port.c 456 7 AVRGCC1 так же решена. Нужно заменить старое название вектора прерываний на новое, см. файл iomXXX.h, там есть и старое название и 2 новых,однако старое название через #pragma определено для такого вида сообщения.
Вот никак не могу их связать. Когда стоит 4-тая без 6 все работает (STK500 шьет без проблем), как только ставлю 6-ю, 4-тая перестает видеть программатор,
Как то мне повезло, у меня дружат 4,5,6 студия никаких конфликтов.все в разных папках стоят внутри одной общей папки AVR.Только вот после обновления программатора дракон до новой версии старая перестает его воспринимать, говорит нужно обновление.
Заголовок сообщения: Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср дек 05, 2012 09:16:58
Друг Кота
Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19932 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
vitalik_1984 писал(а):
Только вот после обновления программатора дракон до новой версии старая перестает его воспринимать, говорит нужно обновление.
Да, есть такое. Не первый раз слышу.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: AVR studio 4 в вопросах и ответах
Добавлено: Чт дек 06, 2012 08:51:06
Друг Кота
Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19932 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
vitalik_1984 писал(а):
или чего получше.
Вроде прокатывает туда-сюда его обновлять.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
так можно дообновляться, помним ведь, что в нем простые смертные Мк использованы. Уж лучше добавить Мк в список пятой/шестой студии.Как было показано выше.
Наверное где то было, не нашел. Ну котятам, типа меня пригодится. Задался проблемой - работа в Atmel Studio 6. Бред в общем то, но как оказалась весьма полезно покопаться для общего понимания работы компиляторов и написания кода. Ни как не мог найти где в Atmel Studio 6 устанавливается тактовая частота кристалла. Предложение типа:
Цитата:
#define F_CPU 16000000UL // Или какую вам надо и не забивайте себе голову и другим.
Как оказалось не всегда работает. В некоторых случаях компилятор не лезет во все файлы и как следствие - ошибка в выполнении кода. Советуют даже, где можно и где нельзя, вставлять конструкции типа:
Код:
#ifndef F_CPU #define F_CPU 16000000UL #endif
И о чудо, при очередном гугленье нашел, вы не поверите где, на сайте «Рукодельница. Дамское Счастье», уважаю кошечек:
Цитата:
В меню Project=>[Имя проекта] Propeties… в закладке Toolchain жмем Configuration Manager… Active solution configuration: устанавливаем в Release, то же и в строке Configuration. Close. Дальше, непосредственно настройки компилятора. AVR/GNU C Compiler =>Symbols в поле Defined symbols (-D) добавляем строку F_CPU=16000000UL, в General снимаем галочку против Default char type is unsigned (-funsigned-char), в Optimization в поле Optimization Level выбираем Optimize for size (-Os). Дальше в AVR/GNU Assembler=> General в Assembler Flags: прописываем -DF_CPU=16000000UL.
Все. При компилировании уже везде расчет будет вестись от установленной частоты. И не надо много думать…
P.S. Еще плюс всех этих изысков - hex полученный при компиляции тестового прогона в Atmel Studio 6 почти на 30% меньше чем тот же код (символ в символ) в четверке.
_________________ Если птичка уже в одном прыжке от тебя, всё-таки побереги свой нос, может она за оконным стеклом???
Наверное где то было, не нашел. Ну котятам, типа меня пригодится. Задался проблемой - работа в Atmel Studio 6. Бред в общем то, но как оказалась весьма полезно покопаться для общего понимания работы компиляторов и написания кода. Ни как не мог найти где в Atmel Studio 6 устанавливается тактовая частота кристалла. Предложение типа:
Цитата:
#define F_CPU 16000000UL // Или какую вам надо и не забивайте себе голову и другим.
Как оказалось не всегда работает. В некоторых случаях компилятор не лезет во все файлы и как следствие - ошибка в выполнении кода. Советуют даже, где можно и где нельзя, вставлять конструкции типа:
Код:
#ifndef F_CPU #define F_CPU 16000000UL #endif
И о чудо, при очередном гугленье нашел, вы не поверите где, на сайте «Рукодельница. Дамское Счастье», уважаю кошечек:
Цитата:
В меню Project=>[Имя проекта] Propeties… в закладке Toolchain жмем Configuration Manager… Active solution configuration: устанавливаем в Release, то же и в строке Configuration. Close. Дальше, непосредственно настройки компилятора. AVR/GNU C Compiler =>Symbols в поле Defined symbols (-D) добавляем строку F_CPU=16000000UL, в General снимаем галочку против Default char type is unsigned (-funsigned-char), в Optimization в поле Optimization Level выбираем Optimize for size (-Os). Дальше в AVR/GNU Assembler=> General в Assembler Flags: прописываем -DF_CPU=16000000UL.
Все. При компилировании уже везде расчет будет вестись от установленной частоты. И не надо много думать…
P.S. Еще плюс всех этих изысков - hex полученный при компиляции тестового прогона в Atmel Studio 6 почти на 30% меньше чем тот же код (символ в символ) в четверке.
ага, теперь если вы отдадите свой проект другому человеку, то он не сможет его откомпелить, или ему придеться лезть в настройки и править, а это еще знать надо где а если у меня в работе 4-6 проектов и везде разные частоты кварца, каждый раз лезть и править при загрузки НЕТ увольте. трахаться я буду по желанию, а не по обходимости. дефайн надо определять не в главном хидер файле а в главном сишном файле. впрочем решать все одно вам, делайте как вам удобней.
Да я и не спорю. И наверное правильнее делать такие настройки "в главном сишном файле". Но я ж писал - это для котят. Которые еще не очень соображают как написать этот самый сишный файл. А попробовать писать очень хочется. Поправляйте, будем учится дальше.
_________________ Если птичка уже в одном прыжке от тебя, всё-таки побереги свой нос, может она за оконным стеклом???
И о чудо, при очередном гугленье нашел, вы не поверите где, на сайте «Рукодельница. Дамское Счастье», уважаю кошечек:
Цитата:
В меню Project=>[Имя проекта] Propeties… в закладке Toolchain жмем Configuration Manager… Active solution configuration: устанавливаем в Release, то же и в строке Configuration. Close. Дальше, непосредственно настройки компилятора. AVR/GNU C Compiler =>Symbols в поле Defined symbols (-D) добавляем строку F_CPU=16000000UL, в General снимаем галочку против Default char type is unsigned (-funsigned-char), в Optimization в поле Optimization Level выбираем Optimize for size (-Os). Дальше в AVR/GNU Assembler=> General в Assembler Flags: прописываем -DF_CPU=16000000UL.
Все. При компилировании уже везде расчет будет вестись от установленной частоты. И не надо много думать…
P.S. Еще плюс всех этих изысков - hex полученный при компиляции тестового прогона в Atmel Studio 6 почти на 30% меньше чем тот же код (символ в символ) в четверке.
Вообще дефайн #define F_CPU 1600000UL приводит к созданию ключа -DF_CPU=16000000UL посмотрите ключи в журнале компиляции. Так что не так важно каким образом будет он назначен. Главное если где то требуется данная константа ,где то перед использованием внутри хидеров нужно прописать
Код:
#ifndef F_CPU /* prevent compiler error by supplying a default */ # warning "F_CPU not defined for <util/delay.h>" # define F_CPU 1000000UL #endif
Так когда вдруг выдаст предупреждение и назначит по умолчанию, можно и error прописать без назначения по умолчанию.Хотя такой вариант и сам не сможет откомпилироваться из-за ошибки. А в мэйне дефайн по любому применится для всего проекта. И еще # defineF_CPU1000000UL нужно писать перед хидером, в котором он нужен.
Заголовок сообщения: Re: AVR studio 4 в вопросах и ответах
Добавлено: Пн янв 14, 2013 09:18:14
Друг Кота
Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19932 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
dt_andrew, какие люди!
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
hex полученный при компиляции тестового прогона в Atmel Studio 6 почти на 30% меньше чем тот же код (символ в символ) в четверке.
Ошибочка где то у вас вышла..... Я тут губу раскатал, неимоверными усилиями скачал и установил AVRSTUDIO6..... И обломался ..... Да экономия есть..... маленькая....., но не то что у вас получилось..... Да в принципе - 30% - это и не реально.... скорее всего чегото гдето вы не досмотрели.....
AVRST4
AVRST6
зы Сейчас глянул еще раз на вашу картинку AVR_6 и почемуто она выглядит совсем по другому чем у меня..... может это не выходного файла параметры.....
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения