Jump to content

    
Sign in to follow this  
kernel32ddl

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

Recommended Posts

В свое время приходилось много писать на "С" для DSP TMS. Для этого пользовался средой Code Composer Studio, которая являлась одновременно и компилятором и отладчиком для данного процесссора при подключении оного через JTAG.

А есть ли аналогичная среда для контроллера ATMega8 и JTAG ByteBlaster? Откуда можно скачать если есть?

Share this post


Link to post
Share on other sites
Есть.

 

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

 

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

 

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

Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени?

Share this post


Link to post
Share on other sites
Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени?

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

 

Лучше конечно ИАР.

Но и стоит соответственно.

Хотя, если совесть не мучит, можно ломаный поставить

Share this post


Link to post
Share on other sites
Да вобщем все позволяют.

 

Лучше конечно ИАР.

Но и стоит соответственно.

Хотя, если совесть не мучит, можно ломаный поставить

А IAR через ByteBlaster будет работать?

Share this post


Link to post
Share on other sites
Нет. Для AVR существуют другие отладчики.

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

 

Или я путаю простой программатор с отладчиком... Это не одно и тоже?

Share this post


Link to post
Share on other sites
Или я путаю простой программатор с отладчиком... Это не одно и тоже?
Немного путаете. Отладчик позволяет отлаживать, т.е. запускать программу и иметь возможность пошагового исполнения, чтения/записи регистров и т.д. Отладчик может выполнять функции программатора. В качестве программатора байт-бластер использовать можно, в качестве отладчика - нет. И программировать в этом случае придется не напрямую из ИАРа или студии, а запуская промежуточную программу (AVReal).

Share this post


Link to post
Share on other sites
Немного путаете. Отладчик позволяет отлаживать, т.е. запускать программу и иметь возможность пошагового исполнения, чтения/записи регистров и т.д. Отладчик может выполнять функции программатора. В качестве программатора байт-бластер использовать можно, в качестве отладчика - нет. И программировать в этом случае придется не напрямую из ИАРа или студии, а запуская промежуточную программу (AVReal).

Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?

Share this post


Link to post
Share on other sites
Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?
Да. Вызов AVReal можно встроить в меню Tools оболочки IARa. Но вы не зацикливайтесь на IARe - посмотрите и на на WinAVR.

Share this post


Link to post
Share on other sites
Отлично, теперь все стало ясно. Т.е. в IAR как я понял можно скомпилировапть hex файл программы написанной на "С" для заливки в контроллер, который потом шьется AVRealом через BB?

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

Share this post


Link to post
Share on other sites
Ну а какой лучше? Какой-нить из них позволят отлаживать программу в реальном времени?

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.

Share this post


Link to post
Share on other sites
В свое время приходилось много писать на "С" для DSP TMS.

 

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

 

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

 

Абсолютное большинство задач отладки для АВР решается с помощью последовательного порта и любой терминальной программы на PC. Плюс - Вы не зависите от глюков отладчика. Минус - а вдруг послед. порт используется в самой программе. На этот случай есть альтернативное решение - делаем еще один последовательный порт на любой ножке, но уже софтовый. Скоростей больших не надо. Даже 2400 бод уже годится для отладки.

Share this post


Link to post
Share on other sites
Если вышенаписанное - правда...

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

 

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

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