Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 30.06.2013, 09:01  
LEAS
Гражданин KAZUS.RU
 
Регистрация: 05.10.2006
Сообщений: 628
Сказал спасибо: 21
Сказали Спасибо 165 раз(а) в 92 сообщении(ях)
LEAS на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

Цитата:
Шаблоны: https://mysvn.ru/avr/templates/
Примеры: https://mysvn.ru/avr/examples/
Цитата:
при помощи плагина к проводнику
При импорте требует имя и пароль.
Реклама:
__________________
Быть,а не казаться.
LEAS вне форума  
Непрочитано 02.07.2013, 05:37  
Вячеслав Мезенцев
Частый гость
 
Аватар для Вячеслав Мезенцев
 
Регистрация: 11.09.2011
Адрес: Екатеринбург
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
Вячеслав Мезенцев на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

Это странно. Сейчас повторить не могу, т.к. обновился у себя до 1.8 версии subversion, а сервер mysvn почему-то до сих пор на 1.7.x. Вообще же, если по https можно смотреть исходники в браузере, то и скачать их анонимно тоже должно быть можно. Я специально включил анонимный доступ на чтение.

Вот новая демка: Демка проектов uSD и Tetris.
Вячеслав Мезенцев вне форума  
Непрочитано 06.10.2013, 18:24  
Вячеслав Мезенцев
Частый гость
 
Аватар для Вячеслав Мезенцев
 
Регистрация: 11.09.2011
Адрес: Екатеринбург
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
Вячеслав Мезенцев на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

- добавлен шаблон проекта для ATtiny2313.
- дополнен формат версии при автоматическом формировании (два шаблона: x.x.x.x и x.x.* - по аналогии с .Net).
- добавлен пример tinycmd - простой командный интерпретатор на C++ для ATtiny2313. Только для демонстрации работы C++ проекта. Работает в Proteus через виртуальный нуль-модем.
- добавлен проект json - пример работы с данными в этом формате (простейший парсер).
- добавлен проект efs - (только GNU) простая файловая система для работы с EEPROM (взято из openplayer).
- мелкие доработки прошлых примеров.

На картинке ниже показан результат работы для проекта efs. Описание структуры файловой системы и используемых методов приведён в прилагаемом руководстве.
Код:
            switch ( Key ) {

                // Очищаем EEPROM до смешения 240.
                case '0': {
                
                    for ( uint16_t n = 0; n ‹ 240; n++ ) eeprom_write_byte( ( uint8_t * ) n, 0 );

                    DrawMemory();
                    break;
                }

                // Создать файл.
                case '1': {

                    CEFS::CreateFile( & afile, 0xCF, "Настройки" );

                    CEFS::WriteFile( & afile, ( uint8_t * ) "-123456-", 0, 8 );

                    DrawMemory();
                    break;
                }

                // Удалить файл.
                case '2': {

                    CEFS::DeleteFile( & afile );
                    DrawMemory();
                    break;
                }

            }
Вложения:
Тип файла: pdf efs.pdf (173.2 Кб, 71 просмотров)
Вячеслав Мезенцев вне форума  
Непрочитано 07.10.2013, 22:58  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

Вячеслав, такой вопрос. Попробовал скомилировать ваш проект (tinycmd), но не вышло.
Output выглядит так:
Цитата:
1›------ Rebuild All started: Project: tinycmd, Configuration: Debug Win32 ------
1›Performing Makefile project actions
1›sed.exe: -e т√Ёрцхэшх #1, ёшьтюы 1: эхшчтхёЄэр* ъюьрэфр: `''
1›Project : error PRJ0019: A tool returned an error code from "Performing Makefile project actions"
Что это может быть? sed не той системы?
Команды Build all настройках такая:
Цитата:
make.exe build all 2›&1 | sed.exe -e 's/\(\w\+\):\([0-9]\+\):/\1(\2):/'
В Error list пишется следующее:
Цитата:
Error 1 error PRJ0019: A tool returned an error code from "Performing Makefile project actions" tinycmd tinycmd
И ещё вопрос, можно ли скомпилировать IAR AVR проект из Visual Studio?
Спасибо.
_Артём_ вне форума  
Непрочитано 10.10.2013, 10:21  
Вячеслав Мезенцев
Частый гость
 
Аватар для Вячеслав Мезенцев
 
Регистрация: 11.09.2011
Адрес: Екатеринбург
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
Вячеслав Мезенцев на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

Доброго, что касается компиляции, то посмотрите переменную path (set path). Расположите путь до WinAVR первым, тогда всё должно браться откуда надо. Я использую последнюю версию WinAVR-20100110 и не пробовал пока новый набор, который из Atmel Studio. В идеале я вообще планирую перевести все проекты на компилятор 4.7, чтобы избавиться от умных указателей. Пока вот так.

Попробуйте скомпилировать из командной строки тоже. В readme.txt есть команды компиляции.

Я сам хочу компилировать IAR проекты из студии, там в Makefile есть чужой набросок для этого, но у меня пока не дошли руки изучить параметры для сборки под iar. Было бы гораздо удобнее иметь 4 конфигурации ( gnu + iar | Release + Debug) и делать всё в студии... но это пока только планы.

tinycmd постоянно меняется, я его дорабатываю, чтобы работа была правильной. Рекомендую использовать ZOC/Pro 5.07 для работы с этим проектом, т.к. там используются ESC-последовательности для работы с терминалом и dos-овская кодировка. Можно использовать и PuTTY, но там нестандартные цвета выбраны по умолчанию.

Последний раз редактировалось Вячеслав Мезенцев; 10.10.2013 в 10:24.
Вячеслав Мезенцев вне форума  
Непрочитано 10.10.2013, 16:20  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Доброго, что касается компиляции, то посмотрите переменную path (set path).
Path посмотрел:
Цитата:
PATH=C:\Program Files\Atmel\AVR Tools\AVR Toolchain\bin
Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Расположите путь до WinAVR первым, тогда всё должно браться откуда надо.
Так и есть.

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
В идеале я вообще планирую перевести все проекты на компилятор 4.7, чтобы избавиться от умных указателей. Пока вот так.
Это вы о __flash? Для С++ они не работают. Увы.

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Попробуйте скомпилировать из командной строки тоже. В readme.txt есть команды компиляции.
Компилируется.

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Я сам хочу компилировать IAR проекты из студии, там в Makefile есть чужой набросок для этого, но у меня пока не дошли руки изучить параметры для сборки под iar.
Ок, почитаю.

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Было бы гораздо удобнее иметь 4 конфигурации ( gnu + iar | Release + Debug) и делать всё в студии... но это пока только планы.
Достаточно двух, имхо - gnu + iar | Release. Debug не нужен.
_Артём_ вне форума  
Непрочитано 10.10.2013, 18:25  
Вячеслав Мезенцев
Частый гость
 
Аватар для Вячеслав Мезенцев
 
Регистрация: 11.09.2011
Адрес: Екатеринбург
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
Вячеслав Мезенцев на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

Ну, это кому как. Debug разный может быть. Бывает отладка в железе, т.е. в реальном окружении, а бывает отладка в Proteus - облегчённый обвес. Частоты для них разные и скорости USART и т.д. Сейчас я ещё это не автоматизировал, приходится такие параметры исправлять вручную в зависимости от средств отладки. Смысл для меня в том, что студия может подсвечивать/тушить код препроцессора. Делая разные конфигурации и синхронизируя код и настройки можно видеть что включено, а что отключено. IAR'у до этого далеко, он вообще в плане редактора почти ноль.

Практически все мои проекты настроены на работу в Proteus, т.е. без реального железа. Это очень удобно. Когда всё более менее заработает в Proteus, тогда уже идёт в реальную отладку. Можно обратить внимание, что в каждом проекте есть .dsn-файл с проектом для Proteus;

Большинство ошибок я выявляю на этапе проверки в Proteus, а что-то специфическое - уже JTAG'ом. Практически все прошивки проверялись в работе и там, и там.

Жаль, что __flash не работает для C++, не знал. Умные указатели, к сожалению, покрывают только небольшую часть требований для работы с флеш. А я надеялся на идентичную работу в iar и gcc.

Последний раз редактировалось Вячеслав Мезенцев; 10.10.2013 в 18:33.
Вячеслав Мезенцев вне форума  
Непрочитано 10.10.2013, 22:52  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Ну, это кому как. Debug разный может быть. Бывает отладка в железе, т.е. в реальном окружении, а бывает отладка в Proteus - облегчённый обвес.
В этом вопросе - кому что нравится...
Я так ни разу этот протеус и не попробовал - jtag-а хватает.

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Смысл для меня в том, что студия может подсвечивать/тушить код препроцессора.
По идее фишка удобная, попробую на каком-нибудь своём проекте, настроенному по вашему варианту посмотреть как она код тушит.

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
IAR'у до этого далеко, он вообще в плане редактора почти ноль.
Кто его знает, может он догонит и перегонит студию в этом вопросе: редактор IAR-а - это не только EWB, но есть ещё вариант Eclipce+IAR Eclipce plugin, а у эклипсы с маскировкой кода всё ничем не хуже чем у VS2008. AtmelStudio 6 в этом вопросе деградировала по сравнению с VS2008 - убрали из неё (или VisualAssisX такую настройку) и теперь она ничего не может замаскировать; функция outlining-а у неё также значительно ухудшена. Испортили хорошую вещь...

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Практически все мои проекты настроены на работу в Proteus, т.е. без реального железа. Это очень удобно.
По сишному коду шагать можно в нём?

P.S. Насчёт настроек проекта - заработало. Заменил в настройках проекта Build command line на такое:
[HTML]
make.exe build 2›&1 | sed.exe -e s/\(\w\+\):\([0-9]\+\):/\1(\2):/
[/HTML]
Дело было в символах "'"(одиночная кавычка) - почему-то sed их не переваривал.
Осталось IAR запустить как makefile....
_Артём_ вне форума  
Непрочитано 10.10.2013, 23:53  
Вячеслав Мезенцев
Частый гость
 
Аватар для Вячеслав Мезенцев
 
Регистрация: 11.09.2011
Адрес: Екатеринбург
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
Вячеслав Мезенцев на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

iar-проект там так просто не собрать. Я знаю, что авторы скрипта сборки что-то там пытались написать, но насколько это успешно мне так до сих пор и не удалось узнать, т.е. я даже не пробовал. Ещё не известно какой давности этот Makefile и насколько он согласован и с какой версией iar cc.

Т.е. я планировал прочитать здоровую доку на процесс сборки и ключики, посмотреть как у меня это собирается в IAR и потом уже приступить к правке Makefile, но эта эпопея отложена до лучших времён. Я не такой дока в IAR'е.

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

Я лично шагал по листингам полученным в:
- BASCOM AVR - да, да, удивительно, но в Proteus можно даже по бейсику пройтись, т.к. их компилятор даёт на выходе объектный файл, поддерживаемый Proteus;
- IAR 6.10 - C/C++ -проекты (формат, кажется, ubrof8 ), первый выходной файл делаем в hex, а второй - ubrof8.
- avr-gcc - С/С++ - проекты, elf-файлы.

Диззассемблирование там по умолчанию для любых проектов. Ещё одно замечание. Вместе с Proteus устанавливается плагин для AVR Studio 4.xx, который можно видеть при её загрузке. Так вот, можно использовать родной отладчик AVR Studio 4, который подключается к виртуальному железу Proteus. Будет то же самое как с JTAG'ом, только железо виртуальное. Я иногда пользуюсь таким вариантом тоже.

Для такой работы только нужны конкретные версии ПО: Proteus 7.7SP2 build 9089 (у меня такой) и AVR Studio 4.xx, на остальных не пробовал или вообще работать не будет. Для AtmelStudio нет плагинов таких, а Proteus старших версий может не подключится к 4-ке.

Eclipse+IAR Eclipce plugin - не пробовал, сомневаюсь, что это выглядит лучше, чем связка AVR Studio 4 + Proteus, показанные ниже на картинке. Вообще, я Eclipse только для Java использую, а всё остальное после студии (а я ещё даже на 2012 не видел) смотрится не очень.

Последняя картинка - это то, как я отлаживаю в Proteus проект tinycmd. Вот так это всё выглядит: Proteus, виртуальный нуль модем, ANSI терминал и непосредственно работа командного интерпретатора. На снимке я поставил точку останова на приём клавиши Backspace, Proteus её поймал и показал, что я в теле условия. Дальше могу шагать и смотреть как эта команда отрабатывается. На картинке загружена прошивка от IAR'а, что видно по приглашению в терминале. gcc работает аналогично, разве что занимает чуть больше, что связано с дополнительными расходами на умные указатели и вообще gcc всегда выдаёт кода побольше, чем iar.

Формат версии прошивки у tinycmd настроен по шаблону x.x.*, как у .Net, где последние две цифры - это дата и время сборки начиная с эпохи 01.01.2000 г. Поэтому версия выглядит странно для тех, кто не программировал под .Net.
Миниатюры:
Нажмите на изображение для увеличения
Название: Proteus+Bascom.png
Просмотров: 150
Размер:	93.3 Кб
ID:	53039   Нажмите на изображение для увеличения
Название: Proteus+AVRStudio4.26.png
Просмотров: 197
Размер:	144.4 Кб
ID:	53040   Нажмите на изображение для увеличения
Название: Proteus+tinycmd.png
Просмотров: 126
Размер:	166.2 Кб
ID:	53043  


Последний раз редактировалось Вячеслав Мезенцев; 11.10.2013 в 00:14.
Вячеслав Мезенцев вне форума  
Непрочитано 11.10.2013, 14:29  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Шаблоны проектов на C++ для AVR [GCC, IAR]

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
iar-проект там так просто не собрать. Я знаю, что авторы скрипта сборки что-то там пытались написать, но насколько это успешно мне так до сих пор и не удалось узнать, т.е. я даже не пробовал. Ещё не известно какой давности этот Makefile и насколько он согласован и с какой версией iar cc.
Да, что-то не собирает, жаль.

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Вместе с Proteus устанавливается плагин для AVR Studio 4.xx, который можно видеть при её загрузке. Так вот, можно использовать родной отладчик AVR Studio 4, который подключается к виртуальному железу Proteus. Будет то же самое как с JTAG'ом, только железо виртуальное. Я иногда пользуюсь таким вариантом тоже.
Интересный вариант, можно будет попробовать.

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Eclipse+IAR Eclipce plugin - не пробовал, сомневаюсь, что это выглядит лучше, чем связка AVR Studio 4 + Proteus, показанные ниже на картинке.
Eclipse+IAR Eclipce plugin неправильно сравнивать с AVR Studio 4 + Proteus, потому что это разные вещи (и плагин у них под АРМ). Eclipse можно сравнивать с VS2008 - они редакторы без возможности отлаживать (под АВР).

Сообщение от Вячеслав Мезенцев Посмотреть сообщение
Вообще, я Eclipse только для Java использую, а всё остальное после студии (а я ещё даже на 2012 не видел) смотрится не очень.
Не соглашусь, Eclipse только VAX не хватает, в остальном оно и проще и лучше (настроить легче).
К тому у VS проблемы с разбором кода чаще проявляются:

Нажмите на изображение для увеличения
Название: vs_error.JPG
Просмотров: 92
Размер:	68.0 Кб
ID:	53060
например при макросе scmRTOS_CONTEXT_SWITCH_SCHEME равном 1 (и студии это известно) маскируется не тот участок кода который нужно. В эклипсе при этом всё правильно затеняется. Видимо не спроста в vs2010 эта опция пропала.
_Артём_ вне форума  
 

Закладки

Метки
atmega, avr-gcc, c++, iar, шаблон
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход от GCC к IAR forastr Микроконтроллеры, АЦП, память и т.д 3 08.07.2011 22:50
Прошу бескорыстных прогеров AVR написать софт для серии открытых проектов majorka65 Микроконтроллеры, АЦП, память и т.д 26 12.10.2010 04:16
gcc, iar, code vision AVR ? schotki Микроконтроллеры, АЦП, память и т.д 48 26.05.2009 20:15
помогите с IAR для AVR chipman Proteus, KiCAD и другие ECAD 1 02.05.2007 20:50


Часовой пояс GMT +4, время: 15:47.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot