|
Какой контроллер выбрать в образовательных целях., Определяюсь с выбором контроллера для самообразования. |
|
|
|
Oct 8 2011, 05:33
|
Группа: Новичок
Сообщений: 7
Регистрация: 21-06-11
Из: г. Усолье-Сибирское Иркутской обл.
Пользователь №: 65 813

|
Доброго всем времени суток!
Задача состоит в выборе, отладочной платки для изучения данного типа контроллеров(ARM). Я довольно свободно програмирую на АСМе для AVR(ATmega328p) но вот хочется чего-то нового. Я недавно начал изучать эту тему.
Смотрел здесь: http://www.starterkit.ru/html/index.php
Выбрал примерно следующее: http://www.starterkit.ru/html/index.php?name=shop&op=view&id=2 и http://www.starterkit.ru/html/index.php?name=shop&op=view&id=36 - просто интересный девайс
Что вы по этому поводу думаете? Или всёж не стоит брать это, а выбрать что-то другое и в совсем другом месте?
|
|
|
|
|
Oct 8 2011, 09:09
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414

|
А зачем Вам плата с ПЛИС, а не только МК? Это ж прилично её удорожает...
Что касается этой конкретной, то подозреваю, что у тамошнего МК (AT91SAM9260) куча аппаратных ошибок, как это имеет место быть у 9261 (со вторым я сталкивался, а с первым нет, поэтому утверждать на 100% не могу). С этой точки зрения лучше брать плату на AT91SAM9G45: сам процессор быстрее плюс ошибок почти нет (исправили почти всё). Если нужно непременно с ПЛИС, у Стартеркита есть такая платка; правда, она подороже будет (8000, если не ошибаюсь).
|
|
|
|
|
Oct 8 2011, 10:36
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(0b11011110 @ Oct 8 2011, 08:33)  Задача состоит в выборе, отладочной платки для изучения данного типа контроллеров(ARM). Если Linux не нужен, то берите LPC21xx или AT91SAM7xxx. ST брать не советую, для начала он слишком сложен. А если нужен Linux, то потребуется как минимум ARM9, например, тот же AT91SAM9XE512. Да, и об асме забудьте. По крайней мере на время. Придется изучить Си, без него в программировании ARM'ов делать нечего ...
|
|
|
|
|
Oct 8 2011, 10:51
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414

|
Ну, насчёт асма лично у меня прямо противоположное мнение. Изучить архитектуру без изучения ассемблера в принципе невозможно. А вот от Си/Си++ я вижу лишь один вред. Если уж писать на языке высокого уровня, то на надёжном (Паскаль, Ада и им подобные), а не на рассадниках ошибок...
У LPC21xx, помнится, тоже море ошибок было, так что, если уж брать ARMv4T, то лучше LPC24xx (например, LPC2478: у Стартеркита есть платки на нём).
|
|
|
|
|
Oct 8 2011, 11:06
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(SII @ Oct 8 2011, 13:51)  Ну, насчёт асма лично у меня прямо противоположное мнение. Изучить архитектуру без изучения ассемблера в принципе невозможно. А вот от Си/Си++ я вижу лишь один вред. Если уж писать на языке высокого уровня, то на надёжном (Паскаль, Ада и им подобные), а не на рассадниках ошибок...
У LPC21xx, помнится, тоже море ошибок было, так что, если уж брать ARMv4T, то лучше LPC24xx (например, LPC2478: у Стартеркита есть платки на нём). Не будем спорить. Мне не переубедить вас, а вам - меня. Я просто высказал свою точку зрения ...
|
|
|
|
|
Oct 8 2011, 11:42
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414

|
О чём спорить? О языках? Так я не спорю, а тоже высказываю свою точку зрения вкупе с очень краткой аргументацией. Ну а если насчёт выбора контроллера, то всё достаточно просто: ИМХО, лучше изучение начинать с чего-нибудь не шибко глючного, поскольку обход аппаратных ошибок -- то ещё удовольствие, да и определённой квалификации требует. Ну а у старых АТМЕЛов и НХП багоглюков, увы, хватает... Поэтому, собственно, я и называю в качестве возможных кандидатов AT91SAM9G45 или LPC2478: они не безошибочны, но ошибок там очень мало по сравнению с их предшественниками.
Кстати, есть ещё один вариант: изучать не "настоящий" ARM, а ARMv6-M или ARMv7-M (более известны по названию своих ядер -- Cortex-M; отличаются от прочих ARMов совершенно другой системной архитектурой, в частности, обработкой прерываний, и отсутствием "родной" системы команд ARM), для чего у того же Стартеркита можно взять платку на LPC1788 (по ногам совместима с LPC2478, кстати, но сам процессор более быстрый и имеет несколько более богатую периферию).
|
|
|
|
|
Oct 8 2011, 15:28
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
Цитата лучше брать плату на AT91SAM9G45 Присоединяюсь. Цитата Изучить архитектуру без изучения ассемблера в принципе невозможно. А вот от Си/Си++ я вижу лишь один вред . Отсоединяюсь. Начиная с АВР забил полностью на изучение даже системы команд, не говоря об ассемблере. Надо иметь представление о том, что какие команды примерно делают. В основном требуется для реализации переключателей задач. Да и то.... Ассемлер не нужен. Тем более - в начале.
--------------------
On the road again (Canned Heat)
|
|
|
|
|
Oct 8 2011, 16:16
|

старший лаборант
     
Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097

|
Смотря какие задачи. Если поставили вписаться в 90 центов и 2 килобайта (а 32 кБ за цельный доллар никак не катят) - нужен. Маразм, конечно, но могу похвастаться, что пока вписываюсь. Маньяк  Касательно армов, то да, асм разве что для диспетчеров задач RTOS, в остальных местах пока не встречался - м.б., плохо искал. Система команд кортексов пока без надобности, это при том, что с ARM/Thumb шапочно знаком, MSP430 не чужие, с AVR близко дружу, а 51 - совсем родные...
--------------------
Китайская комплектация - европейское качество! ;)
|
|
|
|
|
Oct 10 2011, 05:22
|
Местный
  
Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846

|
Цитата(SII @ Oct 10 2011, 00:29)  Не такие уж большие. Если хорошо освоил ассемблер одной архитектуры -- считай, быстро разберёшься с ассемблерами 95% других архитектур (а 5% на всякие извращения оставим, где придётся несколько поднапрячь извилины). Разобраться-то может и не проблема - проблема в том, как это использовать.  Команды в ARM настолько "многовариантны" (до трех операндов с опциональным сдвигом), что человеку очень трудно выбрать оптимальный вариант. В результате ЯВУ в 99% случаев дает лучший код
--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
|
|
|
|
|
Oct 10 2011, 09:33
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414

|
Код (лучший, худший, такой же -- неважно) даёт не ЯВУ, а компилятор этого самого ЯВУ. И результат крайне сильно зависит от компилятора. Например, кейловский Си, когда я решил проверить небольшую подпрограммку, давал код, чуть ли не вдвое более качественный, чем GCC. Правда, написанный вручную на ассемблере был ещё лучше, но уже ненамного.
Ну а насчёт указанных Вами 99%... Скажу грубо: если эта цифра соответствует действительности, то 99% программистов, работающих с АРМом -- дебилы, причём не столько в ругательном, сколько в медицинском смысле. У АРМа очень простая система команд, и грамотное её использование никаких проблем для человека с вполне заурядными умственными способностями не представляет (у ИА-32, например, куда сложней и запутанней). Никакой особой многовариантности там, кстати, нет, так что оптимальный вариант чаще всего один, и он самоочевиден. Конечно, чтобы научиться "на автопилоте" выбирать именно лучший вариант, нужна практика, но так в любой области: нужно набить руку, чтобы стать мастером.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|