|
Atmega8, программирование на "С" |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 26)
|
Mar 21 2009, 15:43
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
Цитата(MrYuran @ Mar 21 2009, 18:39)  Есть.
IAR - коммерческий.
WinAVR (AVR-GCC) - свободный.
Атмел бесплатно раздаёт AVR-Studio Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени?
|
|
|
|
|
Mar 21 2009, 15:45
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(kernel32ddl @ Mar 21 2009, 18:43)  Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени? Да вобщем все позволяют. Лучше конечно ИАР. Но и стоит соответственно. Хотя, если совесть не мучит, можно ломаный поставить
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Mar 21 2009, 15:55
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
Цитата(MrYuran @ Mar 21 2009, 18:45)  Да вобщем все позволяют.
Лучше конечно ИАР. Но и стоит соответственно. Хотя, если совесть не мучит, можно ломаный поставить А IAR через ByteBlaster будет работать?
|
|
|
|
|
Mar 21 2009, 17:33
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
Цитата(Сергей Борщ @ Mar 21 2009, 20:07)  Нет. Для AVR существуют другие отладчики. Т.е. его вообще нельзя использовать для ATMegи? Или я путаю простой программатор с отладчиком... Это не одно и тоже?
|
|
|
|
|
Mar 21 2009, 18:02
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
Цитата(Сергей Борщ @ Mar 21 2009, 20:55)  Немного путаете. Отладчик позволяет отлаживать, т.е. запускать программу и иметь возможность пошагового исполнения, чтения/записи регистров и т.д. Отладчик может выполнять функции программатора. В качестве программатора байт-бластер использовать можно, в качестве отладчика - нет. И программировать в этом случае придется не напрямую из ИАРа или студии, а запуская промежуточную программу (AVReal). Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?
|
|
|
|
|
Mar 22 2009, 04:00
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(kernel32ddl @ Mar 21 2009, 17:43)  Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени? Cтоит сказать, что ATMega8 (сам проц) - не поддерживает отладку. Если интересует именно отладка (пошаговое исполнение, точки останова, boundary scan и т.д. в схеме), то можно пойти двумя путями: 1. Взять pin-to-pin совместимый ATMega88 /168 у которого есть dW интерфейс и отлаживать его с помощью покупного AVR-Dragon'a. 2. Взять совместимый по периферии с Mega8, но несовместимый по ножкам ATMega16 у которого есть JTAG, и выполнять отладку с помощью эмулятора JTAGICE (схема последнего достаточно простая и достуная для повторения - в инете куча примеров, делается он на Max232 + такой же Mega16, который надо будет единожды прошить BB с помощью AVReal). Отадчик JTAGICE поддерживается и IAR'ом и AVR-Studio. Насчет AVR-Dragon'a, не знаю как в новых версиях IAR'а, но раньше поддерживался только AVR-Studio.
|
|
|
|
|
Mar 23 2009, 15:20
|
Местный
  
Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192

|
Цитата(kernel32ddl @ Mar 21 2009, 18:23)  В свое время приходилось много писать на "С" для DSP TMS. Если вышенаписанное - правда, то особых проблем с отладкой программ для АВР у Вас быть не должно. Но поскольку АВР - процессор намного менее мощный, чем TMS, то я бы не стал на Вашем месте особенно зацикливаться на внутрисхемной отладке - это глючно, медленно и большинство реалтаймовых задач просто не будут работать (например, 1-wire интерфейс для термометров Dallas - он требует очень точных временнЫх соотношений). Абсолютное большинство задач отладки для АВР решается с помощью последовательного порта и любой терминальной программы на PC. Плюс - Вы не зависите от глюков отладчика. Минус - а вдруг послед. порт используется в самой программе. На этот случай есть альтернативное решение - делаем еще один последовательный порт на любой ножке, но уже софтовый. Скоростей больших не надо. Даже 2400 бод уже годится для отладки.
|
|
|
|
|
Mar 23 2009, 15:47
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
Цитата(Kompot @ Mar 23 2009, 18:20)  Если вышенаписанное - правда... АТВЕЧАЮ, ВАСЯ! (с) Жорик Вартанов А если серьезно, то считаю возможность внутрисхемной отладки несомненным плюсом, скажу больше, для некоторых задач это просто жизненно необходимо. Другое дело что для тех задач которые я хочу осуществить с ATMegой - поиграться со светодиодами, кнопочками - особой нужды нет. Да и как я понял внутрисхемный отладчик будет стоит не дешево.
|
|
|
|
|
Mar 24 2009, 15:48
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 3-08-05
Из: Новосибирск
Пользователь №: 7 334

|
Цитата(kernel32ddl @ Mar 23 2009, 21:47)  Другое дело что для тех задач которые я хочу осуществить с ATMegой - поиграться со светодиодами, кнопочками - особой нужды нет. Да и как я понял внутрисхемный отладчик будет стоит не дешево. Для целей освоения микропроцессора на мой взгляд отладчик просто жезненно необходим, тем более что собирается из подручных компонентов за полчаса(AVRMiniICE), или покупается в магазине тысячи за две(AVRDragon). Если пробовал хотябы один раз, то отказаться уже невозможно, особенно для простых проектов, использование UART идёт лесом вместе с преобразователем уровней.
--------------------
Всяк хорошая мысля к нам приходит опосля.
|
|
|
|
|
Mar 24 2009, 15:52
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
Цитата(Proton @ Mar 24 2009, 18:48)  Если пробовал хотябы один раз, то отказаться уже невозможно Это точно Поищу схему, но вот люди говорят что ATMega8 не поддерживает внутрисхемную отладку.
|
|
|
|
|
Mar 27 2009, 01:35
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(kernel32ddl @ Mar 23 2009, 17:47)  Да и как я понял внутрисхемный отладчик будет стоит не дешево. Да нет, малость неправильно меня поняли. JTAGICE собирается на коленке. ATMega16 + MAX232. Смотрите схему "Evertool light" на этой страничке http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/В случае чего прошивка к JTAGICE'у идет вместе с AVR-Studio "...\Atmel\AVR Tools\JTAGICE\upgrade.ebn", конвертер прошивки ebn2hex здесь на форуме в разделе AVR. Цитата ATMega8 не поддерживает внутрисхемную отладку Ну на ней же мир не заканчивается. Mega16 такой же чип, все то же самое только ног больше и JTAG есть. Начните на нем. Отлаженную программу перенести с Mega16 на Mega8 всяко проще, чем писать без возможности отладки.
|
|
|
|
|
Mar 27 2009, 06:06
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Proton @ Mar 24 2009, 18:48)  Если пробовал хотябы один раз, то отказаться уже невозможно... Ага - 'думалка' отключается и действительно, а чего тут думать, что и как писать - надо трясти смотреть что отладчик покажет  и заплатки лепить. Короче, опасная штука отладчик для неокрепших писателей, когда инструмент тупо используется вместо всего и вся. Очень,очень частое наблюдаемое в реальности явление  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 27 2009, 19:21
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(zltigo @ Mar 27 2009, 20:43)  Я даже знаю, какой вопрос сразу задаст начинающий воспользовавшись отдладчиком при работе с периферией - а чего это у меня все не работает - это когда отладчик по полному незнанию заставят читать то, что читать нельзя. На моей памяти в этом форуме было немного таких прецедентов. Помню, что кто-то упорно пытался найти какое-то значение то ли в SPDR, то ли в UDR, и ничего не получалось. Но это единичный случай. В остальном вижу только позитив при использовании отладчика, порты посмотреть, выставить внешние сигналы для проверки схемы, проверить тикают ли таймеры, I2C стейт проверить, банально стек промониторить, и т.п..
|
|
|
|
|
Mar 27 2009, 20:00
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(defunct @ Mar 27 2009, 22:21)  Но это единичный случай. Да ну  как быть, напрмер, с дежурным воросами про "неработающие" контроллеры прерываний, да и любая более сложная нежели GPIO периферия имеющая сбрасываемые обращением флаги накрывается медным тазом. Цитата В остальном вижу только позитив при использовании отладчика, порты посмотреть, выставить внешние сигналы для проверки схемы, проверить тикают ли таймеры, I2C стейт проверить, банально стек промониторить, и т.п.. Все это позволяет и проcтейшая директива чтения/записи из консоли, хоть и без красотулечек. P.S. Не припомню, когда последний раз пользовался.... Зато осциллографом, анализаторами, протокол-тестерами - постоянно  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 28 2009, 00:58
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(zltigo @ Mar 27 2009, 22:00)  как быть, например, с дежурным воросами про "неработающие" контроллеры прерываний А ну и это тоже, но это также редкие явления. Цитата Все это позволяет и проcтейшая директива чтения/записи из консоли, хоть и без красотулечек. Это Вы с высоты ARM'а так говорите ;> в AVRку порой консоль просто не влазит, а если влазит - бывает некуда ее прикрутить, т.к. единственный UART и тот занят под 485-й. Отладчик кстати дает "бесплатную" консоль через JTAG. Куцую, тормозную,  но хоть такую, иногда актуально. Так что - позитив
|
|
|
|
|
Mar 28 2009, 06:40
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(defunct @ Mar 28 2009, 03:58)  ...единственный UART и тот занят под 485-й. Значит собственно весь функционал сего девайса через этот 485 и просматривается, а если еще и "светодиод" повесить ... Цитата Так что - позитив  А я и не утверждаю, что негатив и отладчики под все используемые контроллеры имею в обязательном порядке - но реально не пользуюсь - осваиваю и держу только, как аварийный вариант. Напомню, что я вступил в разговор с этой фразы: Цитата Если пробовал хотябы один раз, то отказаться уже невозможно... Пробовал и не один раз и не один контроллер (не говоря уже о PC), но наркотичесой эйфории не испытал. Зато результаты творчесва людей не вылезающих из отладчиков наблюдать приходится слишком часто  . Особенно страшная ситуация среди PCшных "программистов", где отладка на халяву и не умея связать пары слов сразу начинают "отлаживаться", т.е. заставлять что-то "работать" обвешивая заплатками.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 28 2009, 20:05
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(zltigo @ Mar 28 2009, 09:40)  Значит собственно весь функционал сего девайса через этот 485 и просматривается, а если еще и "светодиод" повесить ... Как это не удивительно, здесь я очень даже поддержу нашего уважаемого модератора, уарты у меня то же всегда заняты, но всю отладочную инфу я просто кидаю через 485(модбас). Цитата А я и не утверждаю, что негатив и отладчики под все используемые контроллеры имею в обязательном порядке - но реально не пользуюсь - осваиваю и держу только, как аварийный вариант. Напомню, что я вступил в разговор с этой фразы: И даже здесь поддержу... у меня например лежит JTAG MK2 тока я его последний раз подключал для AVR32 Каждый раз когда у меня возникает идея подключить его к AVR8 я нахожу кучу причин почему это не нужно делать  Да и для АРМ мне в смысле отладки вполне хватает 1 брейкпоинта и просмотра переменных, тч вполне хватает просто виглера...
|
|
|
|
|
Mar 28 2009, 20:28
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
А по-моему надо просто им пользоваться. Вы же сами пишете - не хочу!
Я пользовался и сниферами и мониторами. Тут один проект на S7-300 делал, так там вообще практически без отладки. Не вижу здесь никаких высот и преимуществ.
По-моему JTAG сделан людьми и для людей. Мне, к примеру, - дико удобно. Никто не говорит, что надо заморачиваться на этом. Если побайтно отлаживать протокол - не ваш уровень, так и не надо туда лезть. Принял пакет - просмотри буфер - убедись что всё Ok и дальше поехали. Порой достаточно одного взгляда на картину, чтобы хомут был выловлен.
Особый случай mega8.
Я сразу в одно из изделий запаиваю m88 и отлаживаю. Отладки на м8 просто не требуется. У меня ни разу не возникала. Просто включаешь - работает. Особенно приятно, что в таком корпусе сохранены почти все ноги для именно работы.
Отладка работает устойчиво до ужаса. Никаких проблем не возникает. Кроме клинических случаев, когда отлаживается сам принцип (проводятся исследования), то наладка проекта в среднем занимает 1-2 дня.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|