|
AT Mega 128 - срочно изучаю, Вводные вопросы |
|
|
|
Jan 23 2008, 09:28
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

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

Частый гость
 
Группа: Новичок
Сообщений: 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 !!!
|
|
|
|
|
Jan 23 2008, 22:55
|

кекс
     
Группа: Свой
Сообщений: 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-го.
|
|
|
|
|
Jan 24 2008, 11:39
|

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

|
Цитата(haker_fox @ Jan 24 2008, 09:10)  Вы имеете в виду, что сами часы придется реализовать программно? Да. Я делал так - подключал кварц на 32768, получал прерывание раз в секунду (или в 1/2), дальше - набор переменных - секунды, минуты и т.д. Удобно, когда проц в спячке - на батарейной подпитке. Один недоделанный девайс у меня так полгода провалялся на полке. Включил - часы тикают идеально. Если надо, могу коды под CvAVR пригнать.
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Jan 24 2008, 17:21
|

Гуру
     
Группа: Свой
Сообщений: 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. Или да или нет  . Качеством коннкретного JTAG железа и софта определяется, однако а отнюдь не суперкачесвом некого отлаживаемого ядра. Цитата AVRовский ocd boundary scan (фича внутри чипа)... Эта фича отнюдь не AVR-овская и присутствует у подавляющего большинства чипов любого производителя.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 24 2008, 19:36
|

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

|
Цитата(zltigo @ Jan 24 2008, 20:21)  Не совсем понял, к чему это? Количество железных брейпойнтов ядром опроеделяется а не JTAG адаптером и даже с этой точки зрения ARM бывают разные. Ну а количество софтовых брекпойнотов определяется софтом отладчика, вообще не ограничено и тоже не зависит от JTAG. Ожидал такой поворот ;> речь там о железных точках ядра. Адаптеры были сказаны "к слову", долго правил пост но так и не смог найти более подходящего места для их вставки. Цитата Или да или нет  . Качеством коннкретного JTAG железа и софта определяется, однако а отнюдь не суперкачесвом некого отлаживаемого ядра. Ок в качестве аргумента приведу вот что: Запускаем отладку, снимаем питание с таргета (обесточиваем таргет, можно и отладчик отключить от чипа для пущей наглядности и включить обратно) Запитываем таргет и останавливаем отладку. AVR-овский отладчик молча остановится на текущей выполняемой команде. АРМовский вылетит с криками о потере таргета задолго до подачи питания. Цитата Эта фича отнюдь не AVR-овская и присутствует у подавляющего большинства чипов любого производителя. Я говорю про ее реализацию в AVR. К примеру в ARM нет ни eeprom, ни возможности программировать флеш через JTAG не загрузив в память и не выполнив специалную программу (чуть ли не для каждого конкретного чипа свою), которая будет "шить". Название одинаковое, реализация разная где-то лучше, где-то хуже. В AVR реализация лучше, но лишь только потому, что чип проще и ядро новее.
|
|
|
|
|
Jan 24 2008, 20:23
|

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

|
Цитата(defunct @ Jan 24 2008, 22:36)  AVR-овский отладчик молча остановится на текущей выполняемой команде. АРМовский вылетит с криками о потере таргета задолго до подачи питания. Кто такие "AVR-овский" кто такой "ARM-овский" типа любой? Ну детский сад просто  Цитата Я говорю про ее реализацию в AVR. .... Название одинаковое, реализация разная где-то лучше, где-то хуже "Ее" реализация при наличии такой фичи абсолютно стандартизирована комитетом JTAG в середине восьмидесятых. Цитата К примеру в ARM нет ни eeprom Где нет, где есть, где несколько килобайт RAM c батарейкой.. Много их с буковками ARM. Цитата , ни возможности программировать флеш через JTAG не загрузив в память и не выполнив специалную программу (чуть ли не для каждого конкретного чипа свою), которая будет "шить". Ну а в AVR типа святым духом  Программированием занимается программатор - его дело поддерживать чипы - он и поддерживает, причем безотносительно ядра чипа. Цитата В AVR реализация лучше, но лишь только потому, что чип проще и ядро новее. Ну насчет новее это прикольно... P.S. Я чего-то не понимаю к чему все эти панегрики - выбор за Автора поста сделан уже давно, так к чему все эти странные неуклюжие разговоры AVR vs ARM?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|