Jump to content

    
Sign in to follow this  
kernel32ddl

Atmega8, программирование на "С"

Recommended Posts

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

Share this post


Link to post
Share on other sites
Если пробовал хотябы один раз, то отказаться уже невозможно
Это точно :biggrin:

Поищу схему, но вот люди говорят что ATMega8 не поддерживает внутрисхемную отладку.

Share this post


Link to post
Share on other sites
Да и как я понял внутрисхемный отладчик будет стоит не дешево.

Да нет, малость неправильно меня поняли. 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 всяко проще, чем писать без возможности отладки.

Share this post


Link to post
Share on other sites
Если пробовал хотябы один раз, то отказаться уже невозможно...

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

Share this post


Link to post
Share on other sites
Короче, опасная штука отладчик для неокрепших писателей
Не соглашусь... Имхо, отладчик позволяет быстро выявить те места в знаниях работы периферии МК, в которых у неопытного разработчика - пробелы. Ну, а затем - внимательное чтение соответствующих разделов DS.

Share this post


Link to post
Share on other sites
Не соглашусь... Имхо, отладчик позволяет быстро выявить те места в знаниях работы периферии МК

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

Share this post


Link to post
Share on other sites
Я даже знаю, какой вопрос сразу задаст начинающий воспользовавшись отдладчиком при работе с периферией - а чего это у меня все не работает - это когда отладчик по полному незнанию заставят читать то, что читать нельзя.

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

 

В остальном вижу только позитив при использовании отладчика, порты посмотреть, выставить внешние сигналы для проверки схемы, проверить тикают ли таймеры, I2C стейт проверить, банально стек промониторить, и т.п..

Share this post


Link to post
Share on other sites
Но это единичный случай.

Да ну :) как быть, напрмер, с дежурным воросами про "неработающие" контроллеры прерываний, да и любая более сложная нежели GPIO периферия имеющая сбрасываемые обращением флаги накрывается медным тазом.

В остальном вижу только позитив при использовании отладчика, порты посмотреть, выставить внешние сигналы для проверки схемы, проверить тикают ли таймеры, I2C стейт проверить, банально стек промониторить, и т.п..

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

P.S.

Не припомню, когда последний раз пользовался....

Зато осциллографом, анализаторами, протокол-тестерами - постоянно :).

Share this post


Link to post
Share on other sites
как быть, например, с дежурным воросами про "неработающие" контроллеры прерываний

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

 

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

Это Вы с высоты ARM'а так говорите ;> в AVRку порой консоль просто не влазит, а если влазит - бывает некуда ее прикрутить, т.к. единственный UART и тот занят под 485-й.

Отладчик кстати дает "бесплатную" консоль через JTAG. Куцую, тормозную, :( но хоть такую, иногда актуально.

Так что - позитив :)

Share this post


Link to post
Share on other sites
...единственный UART и тот занят под 485-й.

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

Так что - позитив :)

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

Напомню, что я вступил в разговор с этой фразы:

Если пробовал хотябы один раз, то отказаться уже невозможно...

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

Share this post


Link to post
Share on other sites
Значит собственно весь функционал сего девайса через этот 485 и просматривается, а если еще и "светодиод" повесить ...
Как это не удивительно, здесь я очень даже поддержу нашего уважаемого модератора,

уарты у меня то же всегда заняты, но всю отладочную инфу я просто кидаю через 485(модбас).

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

Напомню, что я вступил в разговор с этой фразы:

И даже здесь поддержу... у меня например лежит JTAG MK2 тока я его последний раз подключал для AVR32

 

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

 

Да и для АРМ мне в смысле отладки вполне хватает 1 брейкпоинта и просмотра переменных,

тч вполне хватает просто виглера...

Share this post


Link to post
Share on other sites

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

 

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

 

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

Порой достаточно одного взгляда на картину, чтобы хомут был выловлен.

 

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

 

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

 

Отладка работает устойчиво до ужаса. Никаких проблем не возникает. Кроме клинических случаев, когда отлаживается сам принцип (проводятся исследования), то наладка проекта в среднем занимает 1-2 дня.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this