реклама на сайте
подробности

 
 
> Atmega8, программирование на "С"
kernel32ddl
сообщение Mar 21 2009, 15:23
Сообщение #1


Участник
*

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



В свое время приходилось много писать на "С" для DSP TMS. Для этого пользовался средой Code Composer Studio, которая являлась одновременно и компилятором и отладчиком для данного процесссора при подключении оного через JTAG.
А есть ли аналогичная среда для контроллера ATMega8 и JTAG ByteBlaster? Откуда можно скачать если есть?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 26)
MrYuran
сообщение Mar 21 2009, 15:39
Сообщение #2


Беспросветный оптимист
******

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



Есть.

IAR - коммерческий.

WinAVR (AVR-GCC) - свободный.

Атмел бесплатно раздаёт AVR-Studio


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Mar 21 2009, 15:43
Сообщение #3


Участник
*

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



Цитата(MrYuran @ Mar 21 2009, 18:39) *
Есть.

IAR - коммерческий.

WinAVR (AVR-GCC) - свободный.

Атмел бесплатно раздаёт AVR-Studio

Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 21 2009, 15:45
Сообщение #4


Беспросветный оптимист
******

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



Цитата(kernel32ddl @ Mar 21 2009, 18:43) *
Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени?

Да вобщем все позволяют.

Лучше конечно ИАР.
Но и стоит соответственно.
Хотя, если совесть не мучит, можно ломаный поставить


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Mar 21 2009, 15:55
Сообщение #5


Участник
*

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



Цитата(MrYuran @ Mar 21 2009, 18:45) *
Да вобщем все позволяют.

Лучше конечно ИАР.
Но и стоит соответственно.
Хотя, если совесть не мучит, можно ломаный поставить

А IAR через ByteBlaster будет работать?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 21 2009, 17:07
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(kernel32ddl @ Mar 21 2009, 17:55) *
А IAR через ByteBlaster будет работать?
Нет. Для AVR существуют другие отладчики.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Mar 21 2009, 17:33
Сообщение #7


Участник
*

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



Цитата(Сергей Борщ @ Mar 21 2009, 20:07) *
Нет. Для AVR существуют другие отладчики.

Т.е. его вообще нельзя использовать для ATMegи?

Или я путаю простой программатор с отладчиком... Это не одно и тоже?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 21 2009, 17:55
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(kernel32ddl @ Mar 21 2009, 19:33) *
Или я путаю простой программатор с отладчиком... Это не одно и тоже?
Немного путаете. Отладчик позволяет отлаживать, т.е. запускать программу и иметь возможность пошагового исполнения, чтения/записи регистров и т.д. Отладчик может выполнять функции программатора. В качестве программатора байт-бластер использовать можно, в качестве отладчика - нет. И программировать в этом случае придется не напрямую из ИАРа или студии, а запуская промежуточную программу (AVReal).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Mar 21 2009, 18:02
Сообщение #9


Участник
*

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



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

Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 21 2009, 19:15
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(kernel32ddl @ Mar 21 2009, 20:02) *
Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?
Да. Вызов AVReal можно встроить в меню Tools оболочки IARa. Но вы не зацикливайтесь на IARe - посмотрите и на на WinAVR.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Mar 21 2009, 19:17
Сообщение #11


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(kernel32ddl @ Mar 21 2009, 23:02) *
Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?

Именно так, кроме того в IAR можно скомпилить файл, который можно передать в AVR Studio для отладки, кстати отладку можно производить и в IAR.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 22 2009, 04:00
Сообщение #12


кекс
******

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Mar 22 2009, 05:13
Сообщение #13


Участник
*

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



Всем большое спасибо за ответы! Буду думать smile.gif
Go to the top of the page
 
+Quote Post
Kompot
сообщение Mar 23 2009, 15:20
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192



Цитата(kernel32ddl @ Mar 21 2009, 18:23) *
В свое время приходилось много писать на "С" для DSP TMS.


Если вышенаписанное - правда, то особых проблем с отладкой программ для АВР у Вас быть не должно.

Но поскольку АВР - процессор намного менее мощный, чем TMS, то я бы не стал на Вашем месте особенно зацикливаться на внутрисхемной отладке - это глючно, медленно и большинство реалтаймовых задач просто не будут работать (например, 1-wire интерфейс для термометров Dallas - он требует очень точных временнЫх соотношений).

Абсолютное большинство задач отладки для АВР решается с помощью последовательного порта и любой терминальной программы на PC. Плюс - Вы не зависите от глюков отладчика. Минус - а вдруг послед. порт используется в самой программе. На этот случай есть альтернативное решение - делаем еще один последовательный порт на любой ножке, но уже софтовый. Скоростей больших не надо. Даже 2400 бод уже годится для отладки.
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Mar 23 2009, 15:47
Сообщение #15


Участник
*

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



Цитата(Kompot @ Mar 23 2009, 18:20) *
Если вышенаписанное - правда...

АТВЕЧАЮ, ВАСЯ! (с) Жорик Вартанов

А если серьезно, то считаю возможность внутрисхемной отладки несомненным плюсом, скажу больше, для некоторых задач это просто жизненно необходимо. Другое дело что для тех задач которые я хочу осуществить с ATMegой - поиграться со светодиодами, кнопочками - особой нужды нет. Да и как я понял внутрисхемный отладчик будет стоит не дешево.
Go to the top of the page
 
+Quote Post
Proton
сообщение Mar 24 2009, 15:48
Сообщение #16


Частый гость
**

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



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


--------------------
Всяк хорошая мысля к нам приходит опосля.
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Mar 24 2009, 15:52
Сообщение #17


Участник
*

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



Цитата(Proton @ Mar 24 2009, 18:48) *
Если пробовал хотябы один раз, то отказаться уже невозможно
Это точно biggrin.gif
Поищу схему, но вот люди говорят что ATMega8 не поддерживает внутрисхемную отладку.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 01:35
Сообщение #18


кекс
******

Группа: Свой
Сообщений: 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 всяко проще, чем писать без возможности отладки.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 27 2009, 06:06
Сообщение #19


Гуру
******

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



Цитата(Proton @ Mar 24 2009, 18:48) *
Если пробовал хотябы один раз, то отказаться уже невозможно...

Ага - 'думалка' отключается и действительно, а чего тут думать, что и как писать - надо трясти смотреть что отладчик покажет sad.gif и заплатки лепить. Короче, опасная штука отладчик для неокрепших писателей, когда инструмент тупо используется вместо всего и вся. Очень,очень частое наблюдаемое в реальности явление sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Палыч
сообщение Mar 27 2009, 06:29
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(zltigo @ Mar 27 2009, 09:06) *
Короче, опасная штука отладчик для неокрепших писателей
Не соглашусь... Имхо, отладчик позволяет быстро выявить те места в знаниях работы периферии МК, в которых у неопытного разработчика - пробелы. Ну, а затем - внимательное чтение соответствующих разделов DS.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 27 2009, 18:43
Сообщение #21


Гуру
******

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



Цитата(Палыч @ Mar 27 2009, 09:29) *
Не соглашусь... Имхо, отладчик позволяет быстро выявить те места в знаниях работы периферии МК

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 19:21
Сообщение #22


кекс
******

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



Цитата(zltigo @ Mar 27 2009, 20:43) *
Я даже знаю, какой вопрос сразу задаст начинающий воспользовавшись отдладчиком при работе с периферией - а чего это у меня все не работает - это когда отладчик по полному незнанию заставят читать то, что читать нельзя.

На моей памяти в этом форуме было немного таких прецедентов. Помню, что кто-то упорно пытался найти какое-то значение то ли в SPDR, то ли в UDR, и ничего не получалось. Но это единичный случай.

В остальном вижу только позитив при использовании отладчика, порты посмотреть, выставить внешние сигналы для проверки схемы, проверить тикают ли таймеры, I2C стейт проверить, банально стек промониторить, и т.п..
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 27 2009, 20:00
Сообщение #23


Гуру
******

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



Цитата(defunct @ Mar 27 2009, 22:21) *
Но это единичный случай.

Да ну smile.gif как быть, напрмер, с дежурным воросами про "неработающие" контроллеры прерываний, да и любая более сложная нежели GPIO периферия имеющая сбрасываемые обращением флаги накрывается медным тазом.
Цитата
В остальном вижу только позитив при использовании отладчика, порты посмотреть, выставить внешние сигналы для проверки схемы, проверить тикают ли таймеры, I2C стейт проверить, банально стек промониторить, и т.п..

Все это позволяет и проcтейшая директива чтения/записи из консоли, хоть и без красотулечек.
P.S.
Не припомню, когда последний раз пользовался....
Зато осциллографом, анализаторами, протокол-тестерами - постоянно smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 28 2009, 00:58
Сообщение #24


кекс
******

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



Цитата(zltigo @ Mar 27 2009, 22:00) *
как быть, например, с дежурным воросами про "неработающие" контроллеры прерываний

А ну и это тоже, но это также редкие явления.

Цитата
Все это позволяет и проcтейшая директива чтения/записи из консоли, хоть и без красотулечек.

Это Вы с высоты ARM'а так говорите ;> в AVRку порой консоль просто не влазит, а если влазит - бывает некуда ее прикрутить, т.к. единственный UART и тот занят под 485-й.
Отладчик кстати дает "бесплатную" консоль через JTAG. Куцую, тормозную, sad.gif но хоть такую, иногда актуально.
Так что - позитив smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 28 2009, 06:40
Сообщение #25


Гуру
******

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



Цитата(defunct @ Mar 28 2009, 03:58) *
...единственный UART и тот занят под 485-й.

Значит собственно весь функционал сего девайса через этот 485 и просматривается, а если еще и "светодиод" повесить ...
Цитата
Так что - позитив smile.gif

А я и не утверждаю, что негатив и отладчики под все используемые контроллеры имею в обязательном порядке - но реально не пользуюсь - осваиваю и держу только, как аварийный вариант.
Напомню, что я вступил в разговор с этой фразы:
Цитата
Если пробовал хотябы один раз, то отказаться уже невозможно...

Пробовал и не один раз и не один контроллер (не говоря уже о PC), но наркотичесой эйфории не испытал. Зато результаты творчесва людей не вылезающих из отладчиков наблюдать приходится слишком часто sad.gif. Особенно страшная ситуация среди PCшных "программистов", где отладка на халяву и не умея связать пары слов сразу начинают "отлаживаться", т.е. заставлять что-то "работать" обвешивая заплатками.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение Mar 28 2009, 20:05
Сообщение #26


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(zltigo @ Mar 28 2009, 09:40) *
Значит собственно весь функционал сего девайса через этот 485 и просматривается, а если еще и "светодиод" повесить ...
Как это не удивительно, здесь я очень даже поддержу нашего уважаемого модератора,
уарты у меня то же всегда заняты, но всю отладочную инфу я просто кидаю через 485(модбас).
Цитата
А я и не утверждаю, что негатив и отладчики под все используемые контроллеры имею в обязательном порядке - но реально не пользуюсь - осваиваю и держу только, как аварийный вариант.
Напомню, что я вступил в разговор с этой фразы:
И даже здесь поддержу... у меня например лежит JTAG MK2 тока я его последний раз подключал для AVR32

Каждый раз когда у меня возникает идея подключить его к AVR8 я нахожу кучу причин почему это не нужно делать smile.gif

Да и для АРМ мне в смысле отладки вполне хватает 1 брейкпоинта и просмотра переменных,
тч вполне хватает просто виглера...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 28 2009, 20:28
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



А по-моему надо просто им пользоваться. Вы же сами пишете - не хочу!

Я пользовался и сниферами и мониторами. Тут один проект на S7-300 делал, так там вообще практически без отладки. Не вижу здесь никаких высот и преимуществ.

По-моему JTAG сделан людьми и для людей. Мне, к примеру, - дико удобно. Никто не говорит, что надо заморачиваться на этом. Если побайтно отлаживать протокол - не ваш уровень, так и не надо туда лезть. Принял пакет - просмотри буфер - убедись что всё Ok и дальше поехали.
Порой достаточно одного взгляда на картину, чтобы хомут был выловлен.

Особый случай mega8.

Я сразу в одно из изделий запаиваю m88 и отлаживаю. Отладки на м8 просто не требуется. У меня ни разу не возникала. Просто включаешь - работает. Особенно приятно, что в таком корпусе сохранены почти все ноги для именно работы.

Отладка работает устойчиво до ужаса. Никаких проблем не возникает. Кроме клинических случаев, когда отлаживается сам принцип (проводятся исследования), то наладка проекта в среднем занимает 1-2 дня.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01647 секунд с 7
ELECTRONIX ©2004-2016