Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос новичка о выборе семейства МК
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
Страницы: 1, 2
Alex B._
Цитата(_Pasha @ May 6 2008, 10:29) *
Аргумент против:
...
На кой мне этот ужас ? Мне нужен один конкретный чип для конретного устройства, а не краткое содержание всемирной истории в картинках. Результат освоения - намного хуже, чем какой-нить меги640.

Ну и правильно. Мухи отдельно, котлеты отдельно. А что, вы хотите еррату тоже в даташит включать? имхо такие "аргументы" говорят только о квалификации разработчика... =(
defunct
Цитата(zltigo @ May 6 2008, 09:40) *
Только попытку выдать баг(чрезмерную разномастность AVR) за фичу(вот вам все-в-одном флаконе). Я спрашиваю - что будем делать потребуется другой AVR чип осваивать?

Осваивать-то ничего не понадобится. Останется только найти "5" отличий о чем dxp выше раз 5 отметил.

И найти эти 5 отличий разобравшись с одним чипом не так уж сложно. Да малость неприятно, но разве это смертельно? или как-то влияет на скорость освоения первого МК?

Цитата
А идею Atmel-овской SAMBA для ARM поняли? Если да, то какие проблемы?

И да и нет. Бутлоадер который непонятно как использовать, без нормального к нему софта вещь бестолковая и ненужная. С SAMBA хоть программу ясно где взять. А TI посылает на softbaugh smile.gif)

Ок - можно потратить время на поиски third party софта, но я просто отмечаю те нюансы которые тормозят освоение.

Цитата
Как я понимаю, это и послужило причиной всего нижеизложенного

Да конечно. Мой личный опыт освоения MSP, на грабли - наступил, почему бы не описать? ;>

Цитата
Не знаю, что это за чип и даже семейство, то ADC более, чем приличные и очень навороченные. UART вполне минималистичен (следствие того, что это одна из функций мнгофункционального узла), но тем не менее одного поля с AVR.

На сайте TI про фичи чипа было написано - ADC Slope, UART timer. Когда первый раз знакомишься с семейством не уделяешь много внимания на приписки к знакомым фичам.
Цитата
Не передергивайте - у TI не один документ на все MSP430 - у них документы по семействам.

Вот по этому документу и выбирал свой первый чип, т.е. фичи меня полностью устраивали, но как мне знать, что ADC slope - это значит "возможность построения АЦП на компараторе?!", а UART timer относится только к BSL?

Цитата
Я спрашиваю - что будем делать потребуется другой AVR чип осваивать?

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

Если что-то уже стало нормальным, обыденным и правильным, то это не значит, что это удобно для освоения другим. Возникшая дискуссия это подтверждает.


dxp: Сорри отвечу позже.
zltigo
Цитата(defunct @ May 6 2008, 11:08) *
С SAMBA хоть программу ясно где взять.

На их-же сайте. Брать SLAA096D и приложения к нему. Все лежит даже более открыто, чем SAMB-а по поискам которой здесь переодически вопросы задают smile.gif.
Все в исходниках (исходники, правда типа обдолбанным студентом писаны ), но есть. Протокол само собой тоже описан. Прямо сейчас все это хозяйство собираюсь причесать, встоить терминалку...





Цитата(defunct @ May 6 2008, 11:08) *
Тупо перенести код от старого, некоторые фичи заработают сразу, некоторые не заработают...

Методом тыков, втыков и ошибок sad.gif Не нравится мне такой подход к делу совершенно, как и использовние каких-нибудь мутных неведомо кем писанных "библиотек"...
defunct
Цитата(zltigo @ May 6 2008, 12:46) *
Методом тыков, втыков и ошибок sad.gif Не нравится мне такой подход к делу совершенно, как и использовние каких-нибудь мутных неведомо кем писанных "библиотек"...

Не того рода тыки и втыки.
Периферия у AVR'ов практически одинаковая. Если не пользовать asm и цифры вместо названий бит, то "скрытые" глюки невозможны, просто некоторые модули не откомпилятся, вот там и смотреть почему.
Да и никто не заставляет Вас прыгать между AVR чипами, выберите совместимую линейку типа m48-88-168, m8-16-32, m64-128 и пользуйте только ее.

C NXP ведь то же самое smile.gif
rezident
Беседа плавно перетекает в очередной римейк виртуальной войны "AVR vs other MCU". Господа, вам не надоело еще? laughing.gif
defunct
Цитата(rezident @ May 6 2008, 13:10) *
Беседа плавно перетекает в очередной римейк виртуальной войны "AVR vs other MCU". Господа, вам не надоело еще? laughing.gif

Нет Боже упаси, никакой войны! smile.gif Молчу также про other МК.
Ничего не имею против того чтобы начать с C51 - здорово дисциплинирует, или с ARM7 - наилучшее соотношение цена/производительность и очень перспективен (относительно прост в освоении если не поскупиться на средства отладки). И к одному и ко второму есть чудесная отладочная среда - Keil.
zltigo
Цитата(defunct @ May 6 2008, 11:52) *
Периферия у AVR'ов практически одинаковая.

"Чуть-чуть беременная sad.gif", отличается, но самую малость.... и так далее.
Цитата
и цифры вместо названий бит, то "скрытые" глюки невозможны

Это конечно святое, только вот откуда эти буквы вместо цифр взять? Взять от производителя конкретного компилятора и попасть к нему в зависимость, или самому описать переносимо и независимо?
Если второе, то придется САМОМУ вычитывать.
Цитата
и пользуйте только ее.

Ну очень дельный совет smile.gif. Все стало на свои места - используйте один еслинственный контроллер и проблем с изучением документации на другие простот не будет smile.gif
Цитата
C NXP ведь то же самое smile.gif

В заметно меньшей степени, но да. Что не делает ему чести.


Цитата(rezident @ May 6 2008, 12:10) *
Беседа плавно перетекает в очередной римейк виртуальной войны "AVR vs other MCU".

Речь идет о достаточно серьезном вопросе - с чего начинать работу с контроллерами сегодня. Подчеркиваю СЕГОДНЯ, а не вчера или в прошлом веке.
defunct
Цитата(zltigo @ May 6 2008, 13:27) *
"Чуть-чуть беременная sad.gif", отличается, но самую малость.... и так далее.

Ну не знаю переносил один и тот же код между добрым десятком МК, основные проблемы - наличие/отсутсвие порта "X", наличие/отсутсвие таймера "X", наличие/отсутсвие второго уарта, настройки WDT, настройки внешних прерываний, определение статуса сброса. С остальной периферией (OSCCAL, TWI (i2c), SPI, ADC, AC, EEPROM) - никаких вопросов.

Цитата
Это конечно святое, только вот откуда эти буквы вместо цифр взять? Взять от производителя конкретного компилятора и попасть к нему в зависимость, или самому описать переносимо и независимо? Если второе, то придется САМОМУ вычитывать.

Для AVR - первое. В тех двух компиляторах которые можно отнести к правильным инструментам, есть буквенные названия бит, совпадающие с названиями в ДШ. А когда два независимых производителя предоставляют поддержку буквенных имен - проблем нет, всегда есть возможность сравнить.

Цитата
Ну очень дельный совет smile.gif. Все стало на свои места - используйте один еслинственный контроллер и проблем с изучением документации на другие простот не будет smile.gif

А что с MSP не возникает проблема наличия/отсутсвия периферийных блоков в пределах семейства?
zltigo
Цитата(defunct @ May 6 2008, 12:53) *
А что с MSP не возникает проблема наличия/отсутсвия периферийных блоков в пределах семейства?

Возникает и глупостей проистекающих из того, что не раньше было и "просто добавили" тоже хватает. Просто не нужно кого-то чрезменно идеализировать а другого наоборот демонизировать.
vesago
Выскажу и я свое мнение. Я работал в следующей последовательности PIC-51-LPC2000-AVR-MSP430. Имхо наиболее приятные в освоении LPC2000. Понравилась документация, с программированием гемора нет. Работает все в точности как и написано. В общем недостатков не нашел. Крайне дружелюбные. Придется правда раскошелиться на мтлинк за $70. От авр тоже приятные впечатления. Сейчас ставлю его везде - цена подкупает и удобство использования. Недавно сотряпал пару-тройку приборов на MSP430. Постараюсь их применять только в крайнем случае - если критично будет энергопотребление. В данном случае подпишусь под каждым словом defunct. Имхо старт с данного семейства может убить энтузиазм в освоении uC. Документация мне понравилась.
GetSmart
Цитата(vesago)
От авр тоже приятные впечатления. Сейчас ставлю его везде - цена подкупает и удобство использования.
AVR or LPC ?
vesago
AVR. В моей местности по цене ему нет конкуренции.
SIA
Цитата(dxp @ May 6 2008, 09:28) *
Я не хочу тут дискутировать на тему правильности/неправильности технических решений (как у Атмела, так и у меня), тут можно спорить, что лучше/хуже. Я тут хотел просто продемонстрировать миазмы этого подхода атмеловского: другой чип - другая документация, и не надо обольщаться насчет полной совместимости и взаимозаменяемости. Другой чип - все, бери читай всю доку полностью и внимательно. Иначе, лови преведы вроде вышеописанного.

На самом деле не открою тайны, если скажу, что Атмел так доку выпускает не принципиальным соображениям, по вынужденной необходимости. У них не было (а возможно и по сей день нет) стабильности в выпуске МК. Постоянно что-то доделывается, переделывается, уточняется. А происходит это потому, что руководит стремление как можно быстрее на рынок выкинуть продукцию и застолбить нишу. Хорошенько подумать, чтоб потом не переделывать, времени нет.

В этой ситуации другого выхода, кроме как выпускать на каждый конкретный чип полную документацию всем чохом, просто нет. Вот они берут за базу доку от ближайшего кристалла, правят ее в части изменений. А вам предлагается "найти пять отличий". С чем вас и поздравляю. Хоть бы они бы уж выкладывали бы рядом и мелкий файлик с отличиями - это сильно облегчило бы работу с документацией.

Вот такие они - реалии "грамотного подхода" и "уважения к пользователю". sad.gif

Примерно та же фигня, кстати, и на ARM-ах :-( Кто во что горазд. Зато много и дешево.
defunct
Цитата(dxp @ May 6 2008, 09:28) *
С докой не разобрались просто, вот и все.

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

Цитата
Ой, что же это вы купили-то? Поглядите на АЦП в MSP430F16x. Поглядите на USART'ы в нем же. И сравните с меговскими. Вот тогда будет LOL.

Купил самых мелких 1101 или 1101A.

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

Да в этом что-то есть. Но меня интересовали не столько фичи толстых чипов, сколько основная фича - микропотребление. Отсюда и выбор - самый мелкий МК. Спросите что же я надеялся получить от мелкого чипа за $2? Ну хотя бы то, что есть в самом мелком из AVR за 0.3$. А ведь и того нет.


Цитата
Вы не разобрались с документацией - после атымеловского подхода, согласен, нормальный выглядит поначалу странно.
...
skip

Спасибо за guide по документации TI, может пригодится.
Но я все равно останусь при своем мнении - "нормальный подход" не есть "удобный для освоения подход". Возможно "нормальный подход" удобен для миграции, но его удобство для быстрого старта сомнительно.

Цитата
Думаете, это мой фантазии? Нисколько. Рассказываю про грабли, на которые я сам наступал.

Была у меня плата с мегой163. Там, в частности, использовался UART. В обработчике прерываний я данные из UDR не забирал, только флаг сбрасывал, а сам принятый байт забирал уже процессе (задаче, треде), выполняющем функцию приемника пакетов. Флаг приемника UART'а в AVR как сбрасывается? Правильно - путем чтения из UDR. Все замечательно работало.

Странно как-то построена у вас обработка.
Прочитав UDR я бы не наделся на то, что он каким-то чудом сохранит свое состояние на неопределенный период времени. Точно также как я бы не надеялся на то, что SPDR сохранит свое значение после вычитки. Это не только к AVR относится.

Цитата
Потом пришлось мигрировать на мегу16.
...
skip
Потом уже заподозревал сам МК, стал его фишки проверять. Нашел. Оказывается эти деятели в Атмеле
...
Я тут хотел просто продемонстрировать миазмы этого подхода атмеловского: другой чип - другая документация

Не убедили. Открыл даташит на m163 (чип под который изначально был писан Ваш код) - там ни слова о том, что повторное чтение из UDR даст тот же результат. Уж больно надуманный случай описываете.
Как можно читать volatile регистр и надеяться на то, что он сохранит свое состояние?!
А если там действительно все гладко, то FIFO m16 никак не повлияло бы.

Цитата
Другой чип - все, бери читай всю доку полностью и внимательно[/b]. Иначе, лови преведы вроде вышеописанного.

Выше описал свой подход миграции.
Переносим как есть. Ловим преведы некоторых фич, открываем ДШ, смотрим разделы тех фич которые отказываются работать, час и перенос завершен.

Цитата(dxp @ May 6 2008, 09:39) *
Какой язык у вас в "нормальные" попадает? Я пишу на С++. На С тоже можно с не меньшим успехом.

nevermind, почему-то запало, что под BF имеется только некая смесь ASM с C подобным синтаксисом.

Цитата
А вот что вы будете делать с тем фактом, что Blackfin на 200 МГц имеет потребление порядка 50 мВт, причем его мегагерцы поди поэффективнее будут чего у седьмого АРМа. Как вы этот момент рвать "собрались". smile.gif

по производительности рвать собирался запараллелив несколько ARM'ов в MPP. ;>
Потребление мне правда неважно - в энергетике на потребление никто не смотрит.
Но вот с освоением за счет того, что C/С++ компиляторы под BF таки есть, то рвать сложнее получается.

Цитата
Да и по удобству тоже не фонтан. Не знаю, в них дело или в самом МК, но доступно всего 2 аппаратных точки останова.

Всегда было 4. Может где старые точки остались?

Цитата
Ну, конечно, два адресных пространства вместо одного - это проще. Обычное дело - чем больше чего-то, тем проще. И необходимость во всяких там __flash - это тоже несомненно неоспоримый плюс по сравнению с отсутствием оного.

Ясное дело проще, отсортировано все и сведено на нет число Run-time багов связанных с исполнением кода из RAM. Сразу ясно где RAM, где ROM, где EEPROM.

А вот с общим адресным пространством надо помнить какая память с какого адреса начинается, обходить дыры...


Цитата
Кроме того, конкретно у AVR (я уже начинаю уставать это говорить) безобразный указатель стека (SP который), мало указателей для работы с данными (полноценных всего два - Y и Z). Если бы вы посравнивали реализацию адресной арифметики (основы работы с памятью) на AVR и MSP430, вы бы поняли, о чем я говорю - как компилятор извращается с одним указателем Z в IAR или как ему приходится городить stack frame на входе в функцию. Брр...

Я с этим знаком, и оно меня нисколечки не волнует. Как-то делает и хорошо, на то он и компилятор.

Цитата
Правда? А мне говорили, что ARM7 - это архитектура von Neumann, а ARM9 - Harvard. Мелочь, конечно.

да нет что-то вам переврали..
Пересел с 7-ки на 9-ку, потом на 11. Не заметил особой разницы.
Первоисточник тут
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.