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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> AT Mega 128 - срочно изучаю, Вводные вопросы
RHnd
сообщение Jan 23 2008, 09:28
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Здравствуйте!
Уволился у нас один разработчик, который среди прочего работал с ATMega128. Сейчас начальству срочно захотелось кое-что изменить в его проектах и меня кинули закрывать эту брешь. Сам я больше по FPGA, хотя C владею, с микроконтроллерами работал. Но вот с Atmel работал достаточно давно, и то с AT90S1200 под AVR Studio и на ассемблере.
Сейчас срочно зачитываюсь мануалом по Mega128 и хочу задать ряд вопросов:
1) Уволившийся разработчик работал под CompositeStudio (вроде, так пишется?), а, как я понял из форума, большинство пользуется WinAVR или IAR (правильно?). Так вот, стоит ли мне разрабатывать в той же среде, где и был проект разработан изначально, или же поставить что-то другое? Какие преимущества?
2) Ну это, скорее, не вопрос, а размышления. Хотя, может опытные коллеги что-то подскажут. smile.gif Железо, которое есть - там стоит мега и переферия входного и выходного каналов. Никаких лампочек/кнопочек. Вот я думаю - может, стоит сначала сделать какую-нить маленькую отладочную платку с мегой? На сколько большая у меги обвеска? И насколько функционален дебаггер?
3) С продукцией Atmel знаком весьма поверхностно. Расскажите, а какое место вообще занимает AT Mega128 среди атмеловских контроллеров? Похоже, не самый простенький контроллер, но, вроде, и не Hi-End? Просто хочется представлять, что это вообще за зверь и на сколько мощен.

Заранее большое спасибо за ответы.

PS: Да, я знаю, что rtfm спасет мир. Я уже читаю мануалы и уверен, что когда дочитаю и потыкаюсь с железом, то многие вопросы отпадут сами. Но, к сожалению, начальство хочет услышать от меня какие-то предварительные оценки и суждения уже сейчас. sad.gif Помогите, плиз.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jan 23 2008, 10:00
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 RHnd
1) про CompositeStudio не слышал. На счёт работы с авр-ками воопсче - тут надо посмотреть код что разработчик писал - по читабельности бывает так , что быстрее написать свой чем разбираться в чужом, тогда лучше WinAVR или IAR - помощней продукты так думаю.
2) На счёт платы - был бы усарт заведён на вых.разъём - тогда в принципе можно и на готовой плате поотлаживаться. На счёт макетки воопсче - полезная вещь - только 1 нъюанс - 128-я в дипе не бывает а под QFP корпуса надо макетки специальные - в принципе есть счас - но это платка - где тупо выводятся все порты на пинхэды - тут в опсчем смотреть надо- мож просче сварганить свою отладочную да отдать чтоб изготовили. На счёт обвески - минимум - это кварц , 2 кондёра на него, 2 кондёра на питание , пару резюков и пару ледов - для индикации - вот я так думаю мин набор. Максимальный набор - в принципе зависит от разработчика и может быть достаточно обширен.
На счёт отладчика - 128-ю мегу можно заливать как по СПИ так и по житагу - по житагу можно так же отлаживаться при наличии житаг-айс - очень удобно.
3) 128-я мега - это типа старшее семейство мег (64- младшенькая ну и там по возрастаюсчей) - у неё вроде есть аппаратный драйвер работы со срам и много чего вкусного - сам не работал, ток читал ДШ.

Вот вроде бы простенькие ответы на ваши вопросы.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 23 2008, 15:54
Сообщение #3


Гуру
******

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



Если планируется сколь-нибудь длительная и перспективная работа, то лучше переползти на IAR или GCC. Основное преимущество данных компиляторов - их многоплатформенность. Разные процы - единый подход. Ну и конечно эффективность.

С точки зрения макетки - как правило удобнее отлаживать в готовом устройстве. Для этого только разъём необходимо предусмотреть. С точки зрения удобства отладки - AVR очень хорош. Есть конечно нарекания (например остановы по условию дерьмово реализованы) но в целом - очень неплохо.

С точки зрения кристалла м128 - кристалл среднего поколения. Это уже не 11200/4414 но на смену уже идут 640/1280/2560/1281. Это кристаллы более нового поколения с более мощной переферией и более единообразным подходом.

А переползёте на IAR/GCC так там можно и at91sam7s64 к примеру. Уже менее 5$.
Go to the top of the page
 
+Quote Post
Freeze Anti
сообщение Jan 23 2008, 17:57
Сообщение #4


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

Группа: Новичок
Сообщений: 153
Регистрация: 29-03-07
Из: Саратов
Пользователь №: 26 613



Насколько я знаю, компиллятор IARа разрабатывался специально, чтоб программировать AVRки... параллельно с разработкой самих AVRок и с учетом пожеланий производителей этих процессоров... ИМХО, классная штука! очень удобная, но стоит слишком уж больших денег...

В состав WinAVRа входит только компиллятор AVR-GCC и блокнот Programmer's Notepad... Конечно, можно отлаживать при помощи AVRStudio, но почему то у меня очень глючно это все происходит... в общем, нужно создать файл coff... а вот он у меня кривой какой-то... сишные части в нем плохо соответствуют ассемблерным, и в процессе отладки можно будет наблюдать останов программы на строчке с комментариями и подобный идиотизм... не всегда, к счастью... иногда он и нормально все делает...

В IARе есть замечательнейший отладчик CodeSPY... гораздо лучше связки WinAVR - AVRStudio...

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

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

А если хотите знать, насколько мощна микросхема - читайте DataSheet... там на первой же странице ее основные характеристики... не пойму постановку вопроса...


--------------------
!!! All you need is LOVE !!!
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jan 23 2008, 21:11
Сообщение #5


Начинающий профессионал
*****

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



Проект на mega128, связка winavr+eclipse+avrstudio. Через jtagmkII заливка и отладка, когда надо. В основном реал-тайм и отладчик не помогает, вывод в COM по необходимости. Кое-что симулировал в avrstudio (без периферии в основном).
При правильно сделанном makefile проблем с симуляцией и отладкой нет.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 23 2008, 22:55
Сообщение #6


кекс
******

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



Цитата
И насколько функционален дебаггер?

Внутрисхемный дебаггер (JTAGICE / JTAGICE-MKII) будет функциональнее ARM'овского вдвое по количеству брекпоинтов (4, против двух у ARM), и по стабильности работы раз эдак в 10. AVRовский ocd boundary scan (фича внутри чипа) позволяет читать и менять через JTAG все, в т.ч. можно шить флеш, eeprom и т.п. и даже не терять контантакт с чипом когда ядро остановлено инструкцией sleep.

Цитата
Просто хочется представлять, что это вообще за зверь и на сколько мощен.

128kb flash / 4kb RAM - не много и не мало.
16MIPS честных MIPS - достаточно для реализации IP-телефона.

сам камень как уже отметили - среднего уровня, содержит довольно стандартный на сегодняшний день набор периферии - 2xUART, SPI, I2C, 4k EEPROM!, 8-ми канальный 10-ти битный АЦП, компаратор, 2x16-битных таймера, 2x8-битных таймера, асинхронный вход для подключения часового кварца (в ДШ это называют RTC, хотя какой это к черту RTC), 8-ми битную шину внешней памяти - 64k адресного пространства, WDT, супервизор питания (BOD).

Самым большим достоинством в сравнении с МК других семейств является набор очень быстрых (1-но тактовые как на запись так и на чтение) и мощных (до 40ma) портов GPIO. Еще к достоинствам можно отнести:
- простоту и надежность защиты содержимого внутренней памяти "LOCKS".
- неприхотливость к питанию (в стресс тестах устройства с m128 подавали вместо +5V на шину питания - +15В - сгорало почти все (стабилизаторы 5->3, внешняя память, mac), выживали только мега, микросхемы 74HC серии и драйвер 485-го.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Jan 24 2008, 06:06
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(SasaVitebsk @ Jan 23 2008, 18:54) *
С точки зрения удобства отладки - AVR очень хорош. Есть конечно нарекания (например остановы по условию дерьмово реализованы) но в целом - очень неплохо.


А где в АВР-студии остановы по условию??? Можно поподробней? Иногда очень полезны были бы, но я что-то ничего такого не нашел... Или имеется в виду останов по записи в память?
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 24 2008, 06:10
Сообщение #8


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(defunct @ Jan 24 2008, 06:55) *
(в ДШ это называют RTC, хотя какой это к черту RTC)

Вы имеете в виду, что сами часы придется реализовать программно?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Jan 24 2008, 11:39
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Цитата(haker_fox @ Jan 24 2008, 09:10) *
Вы имеете в виду, что сами часы придется реализовать программно?


Да.
Я делал так - подключал кварц на 32768, получал прерывание раз в секунду (или в 1/2),
дальше - набор переменных - секунды, минуты и т.д.
Удобно, когда проц в спячке - на батарейной подпитке. Один недоделанный девайс у меня так полгода провалялся на полке. Включил - часы тикают идеально.

Если надо, могу коды под CvAVR пригнать.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 24 2008, 12:31
Сообщение #10


Гуру
******

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



Цитата(Непомнящий Евгений @ Jan 24 2008, 10:06) *
А где в АВР-студии остановы по условию??? Можно поподробней? Иногда очень полезны были бы, но я что-то ничего такого не нашел... Или имеется в виду останов по записи в память?

Ну да я имел ввиду data breakpoint по терминологии Atmel. Реализовано супер дерьмово. Практически невозможно пользоваться.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Jan 24 2008, 12:39
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(SasaVitebsk @ Jan 24 2008, 15:31) *
Ну да я имел ввиду data breakpoint по терминологии Atmel. Реализовано супер дерьмово. Практически невозможно пользоваться.

А чего вам в них не хватает? Можно указать любой адрес и останов по записи...
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 24 2008, 17:07
Сообщение #12


кекс
******

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



Цитата(haker_fox @ Jan 24 2008, 09:10) *
Вы имеете в виду, что сами часы придется реализовать программно?

Да, только программно. sad.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 24 2008, 17:21
Сообщение #13


Гуру
******

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



Цитата(defunct @ Jan 24 2008, 01:55) *
Внутрисхемный дебаггер (JTAGICE / JTAGICE-MKII) будет функциональнее ARM'овского вдвое по количеству брекпоинтов (4, против двух у ARM)

Не совсем понял, к чему это? Количество железных брейпойнтов ядром опроеделяется а не JTAG адаптером и даже с этой точки зрения ARM бывают разные. Ну а количество софтовых брекпойнотов определяется софтом отладчика, вообще не ограничено и тоже не зависит от JTAG.
Цитата
, и по стабильности работы раз эдак в 10.

Или да или нет smile.gif. Качеством коннкретного JTAG железа и софта определяется, однако а отнюдь не суперкачесвом некого отлаживаемого ядра.
Цитата
AVRовский ocd boundary scan (фича внутри чипа)...

Эта фича отнюдь не AVR-овская и присутствует у подавляющего большинства чипов любого производителя.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 24 2008, 19:36
Сообщение #14


кекс
******

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



Цитата(zltigo @ Jan 24 2008, 20:21) *
Не совсем понял, к чему это? Количество железных брейпойнтов ядром опроеделяется а не JTAG адаптером и даже с этой точки зрения ARM бывают разные. Ну а количество софтовых брекпойнотов определяется софтом отладчика, вообще не ограничено и тоже не зависит от JTAG.

Ожидал такой поворот ;>
речь там о железных точках ядра. Адаптеры были сказаны "к слову", долго правил пост но так и не смог найти более подходящего места для их вставки.

Цитата
Или да или нет smile.gif. Качеством коннкретного JTAG железа и софта определяется, однако а отнюдь не суперкачесвом некого отлаживаемого ядра.

Ок в качестве аргумента приведу вот что:
Запускаем отладку, снимаем питание с таргета (обесточиваем таргет, можно и отладчик отключить от чипа для пущей наглядности и включить обратно)
Запитываем таргет и останавливаем отладку.
AVR-овский отладчик молча остановится на текущей выполняемой команде.

АРМовский вылетит с криками о потере таргета задолго до подачи питания.

Цитата
Эта фича отнюдь не AVR-овская и присутствует у подавляющего большинства чипов любого производителя.

Я говорю про ее реализацию в AVR. К примеру в ARM нет ни eeprom, ни возможности программировать флеш через JTAG не загрузив в память и не выполнив специалную программу (чуть ли не для каждого конкретного чипа свою), которая будет "шить".

Название одинаковое, реализация разная где-то лучше, где-то хуже. В AVR реализация лучше, но лишь только потому, что чип проще и ядро новее.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 24 2008, 20:23
Сообщение #15


Гуру
******

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



Цитата(defunct @ Jan 24 2008, 22:36) *
AVR-овский отладчик молча остановится на текущей выполняемой команде.
АРМовский вылетит с криками о потере таргета задолго до подачи питания.

Кто такие "AVR-овский" кто такой "ARM-овский" типа любой? Ну детский сад просто sad.gif
Цитата
Я говорю про ее реализацию в AVR.
....
Название одинаковое, реализация разная где-то лучше, где-то хуже

"Ее" реализация при наличии такой фичи абсолютно стандартизирована комитетом JTAG в середине восьмидесятых.
Цитата
К примеру в ARM нет ни eeprom

Где нет, где есть, где несколько килобайт RAM c батарейкой.. Много их с буковками ARM.
Цитата
, ни возможности программировать флеш через JTAG не загрузив в память и не выполнив специалную программу (чуть ли не для каждого конкретного чипа свою), которая будет "шить".

Ну а в AVR типа святым духом smile.gif Программированием занимается программатор - его дело поддерживать чипы - он и поддерживает, причем безотносительно ядра чипа.
Цитата
В AVR реализация лучше, но лишь только потому, что чип проще и ядро новее.

Ну насчет новее это прикольно...

P.S.
Я чего-то не понимаю к чему все эти панегрики - выбор за Автора поста сделан уже давно, так к чему все эти странные неуклюжие разговоры AVR vs ARM?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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