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

Re: С чего начать программировать микроконтроллеры?

Вт окт 06, 2015 22:40:21

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

Re: С чего начать программировать микроконтроллеры?

Вт окт 06, 2015 23:03:58

Alexeyslav писал(а):А какой смысл простые вещи делать на 32-битных камнях, которые в этих делах выезжают только за счет большой скорости? Смысл мигалку делать на 32-битном камне?

Куда выезжают ?
И не пофиг тебе на 8 или 128 битах делать, если это не дороже и не сложнее ? А даже наоборот.
Кроме 5 вольтового питания, могущих небольшой мощности мосфеты открывать ногами без драйвера, не вижу ни одного плюса у старых 8 биток. И то, для узкого применения.

Re: С чего начать программировать микроконтроллеры?

Вт окт 06, 2015 23:10:42

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

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 00:18:52

Alexeyslav писал(а):А 32-битки для простых задач там где не нужно перемножать по нескольку чисел за раз слишком сложны в программировании простых вещей.

Ерунда абсолютная. И я тут это неоднократно демонстрировал.
У меня сомнения, устриц то пробовал ?

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 06:15:16

Alexeyslav - я полностью поддержу точку зрения Satyr-а. Помню как его "пинали" на форуме подобными Вашим "аргументами" года 3-4 назад. За это время многие здесь освоили ARM и выступлений против них поубавилось практически до нуля (по крайней мере они мне на глаза не попадались). Все кто освоил эту технологию здесь убедились, что Satyr был полностью прав, агитируя за неё. Да и Вы также думать будете когда всерьёз попробуете ARM. И дело совсем не в скорости ARM и их способности перемножать числа. Никто не мешает тактировать ядро на малых скоростях порядка 4 мгц и ниже. Попробовав, поймёте, что неправы также и насчет сложности разработки программ под ARM. Я смотрю у Вас на сайте все программы для AVR на АСМе. У семейства CM0 всего 56 инструкций, меньше чем у мег. Их даже выпускают в легко паяемых корпусах. Более того, некоторые производители (например, TI, Freescale) ставят в модели ARM начального уровня практически ту-же периферию их из 8/16-битных моделей, тем самым еще более облегчая переход. Наконец, ARMы некоторых производителей могут работать и от 5В, если это кому-то ещё надо. Делать сегодня что-то на AVR - чипах разработанных более полутора десятков лет назад и с тех под мало чем изменившихся - это быть динозавром. А советовать их начинающим приравниваю к политической диверсии (не хотите ARM посмотрите, например, на MSP430 - об AVR потом и не вспомните). Я учил своих студентов программированию 8/16/32-бит архитектур, и новичкам действительно не важно сколько там бит. Они воспринимают ARM не тяжелее и не легче чем другие архитектуры. Стоит лишь начать.

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 07:50:34

Ser60 писал(а):Alexeyslav - я полностью поддержу точку зрения Satyr-а. Помню как его "пинали" на форуме подобными Вашим "аргументами" года 3-4 назад. За это время многие здесь освоили ARM и выступлений против них поубавилось практически до нуля (по крайней мере они мне на глаза не попадались). Все кто освоил эту технологию здесь убедились, что Satyr был полностью прав, агитируя за неё.
Оно-то все, конечно, так, только у АВР есть одно бесспорное достоинство - наличие совершенно бесплатной АВР Студии 4.19. А тут ставь что-то пиратское, а если бесплатное - то монструозное... Ну и прошивка пятью проводками, хотя сейчас это уже не так актуально, поскольку портов LPT уже, практически, не осталось. Впрочем, простейший преобразователь уровней на компорт, которые еще есть, PonyProg и вперед! А еще АВР у нас, допустим, валяются в любой лавке, стукнула идея в голову, тут же пошел, купил и развлекайся, а любые АРМ надо заказывать, со сроком доставки месяц-два, захочешь побыстрее, так за доставку попросят раз в 5-10 больше цены этого АРМ.

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 08:57:40

afz писал(а):только у АВР есть одно бесспорное достоинство - наличие совершенно бесплатной АВР Студии 4.19. А тут ставь что-то пиратское...

для STM32F0/L0, заменителей тини и атмега, IDE Keil с хорошим компилятором от самого производителя ядра (ARM) сейчас совершенно бесплатен
http://www.compel.ru/2015/03/20/keil-uv ... ranicheniy
afz писал(а):Впрочем, простейший преобразователь уровней на компорт, которые еще есть, PonyProg и вперед!

и потом сразу к фуз доктору. В STM32 имеется встроенный бутлоадер - можно шить тоже через компорт с преобразователем уровней или через USB2RS232. Отладчик/программатор для STM можно купить у китайцев на али за 2$ или использовать встроенный в Дискавери или легко спаять самому. Сколько стоит отладчик для AVR?
afz писал(а):А еще АВР у нас, допустим, валяются в любой лавке

У нас STM теперь валяются в любой лавке

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:04:24

Проблема СТМ32 (да и всех АРМов, а так же блекфинов-шарков или ТМС320) в том, что если не требуется непрерывно строчить один проект за другим (есть и иные задачи проектирования - например, внешняя и достаточно сложная схемотехника или общие идеи построения изделий), то каждый раз тратишь туеву хучу времени на восстановление информации о нюансах архитектуры ядра и периферии. По сути разбираешься заново с даташитами, где некоторые моменты толком не разжеваны и приходится постигать эмпирически.
Простейшие архитектуры ничего этого не требуют.

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:24:31

afz писал(а):только у АВР есть одно бесспорное достоинство - наличие совершенно бесплатной АВР Студии 4.19.

Чего ??? :shock:
Ну, в принципе на этом можно и заканчивать слушать некомпетентные доводы.

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:26:19

afz писал(а):Впрочем, простейший преобразователь уровней на компорт, которые еще есть, PonyProg и вперед!

А для залива АРМов по твоему что нужно ? :)))

Нафига со знаниями абсолютный ноль о предмете лезть спорить и чтото доказывать ?

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:29:40

Друзья, Судьба решила кое-что за меня, и ближайшее моё будущее будет посвящено STM32. С ними я пока медленно и потихоньку разбираюсь, но возник один глупый вопрос... Чисто на вскидку, реальность ли -- Linux на Cortex-M3, или это всё глупости?

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:31:02

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

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

Никто палкой тебя не гонит инициализировать PLL - можешь на скорости, которая как правило ~1/6-1/12 от максимальной, RC генератора работать -))
Сложно с прерываниями, DMA ? тормози как на 8 битках поллингом - все в твоей власти -))

Да и принципы работы и инициализации схожей периферии на всем одинаковы. Ну а знать наизусть глупости типа конкретных адресов регистров - это уж к аутистам.

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:33:42

просто КОТ писал(а):Linux на Cortex-M3, или это всё глупости?

В M ядрах нет MMU, так что настоящий линукс не пойдет.
Но есть а-ля линуксы, типа ucLinux и подобных, которые предоставляют API, делающий возможным легкое портирование линуксовых программ на MCU

Линуксы - это A ядра. Вприницпе тоже ничего сложного, но плату делать дорого. В LQFP чтото еще у фрискейла есть из MPU, а есть ли держат ли они SDRAM или бывает ли DDR2 не в BGA (в BGA плата вообще дорого) не помню, но 4 слоя это теоретический минимум, а с BGA не меньше 6 -))

Да и зачем тебе на MCU линус ? Я и на A5 без линукса и без ОС вообще обхожусь -))
Последний раз редактировалось Satyr Ср окт 07, 2015 09:40:14, всего редактировалось 2 раз(а).

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:36:21

Лично для меня нет никакого смысла осваивать новое, т.к. темпы появления этого нового (и, соответственно, устаревания современного) таковы, что успеть не реально. разрабатывают ядра/контроллеры/архитектуры целые компании с неограниченным бюджетом и огромными коллективами, а осваивать все это приходится в одну голову в свободное от работы и домашних забот время.

к моменту, когда я стал чувствовать себя абсолютно уверенно в 51-ом семействе уже вовсю набирали обороты AVR. к моменту, когда в AVR я стал ориентироваться свободно, уже вовсю распространились ARM-ы. я все время в аутсайдерах. но смысла стремиться в лидеры нет никакого. этот смысл есть только для профессионалов. кстати, уровень этих профессионалов так же весьма и весьма невысок, ибо в глубину они так же, как и я, не успевают погрузиться.

мне кажется, холиварить совершенно ни к чему.

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

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:44:34

ARV писал(а):Лично для меня нет никакого смысла осваивать новое, т.к. темпы появления этого нового (и, соответственно, устаревания современного) таковы, что успеть не реально.

Мысли шире - гнаться за конкретным контроллером - это, действительно, для профессионалов.
Новое ядро ? Там не революционное, а эволюционное развитие. M0, M0+, M3, M4 - для разработчика, по большому счету, разница в добавляющихся по немногу инструкциях и скорости. Ну, с M7 поинтереснее...
А архитектура - то, что принципиально - так она уж больше 10 лет как появилась (я про Cortex, ARMv5 и ниже будем считать чем то другим, там идейно иного хватает).
10 лет - это дикий темп ?

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:48:13

Любезный Сатир, не нужно фантазировать относительно меня.
Речь не о том, что я не знаю как работать с ДМА или таймерами.
Просто в тех же ПИК24-дсПИК33 вопросы инициализации периферии, включая клоки, ДМА, ядра, и всего прочего структурно выглядят много-много проще, чем у АРМов.
И связано это с тем, что все что сделано специально, то гораздо более юзабельно, чем полуфабрикат. Правда, специальные решения менее универсальны и более дОроги, но всякому овощу - своя грядка.
Я не испытываю никакого восторга от работы с СТМ32. Все как обычно. У меня не появилось никакой технической мотивации по переводу иных своих изделий на СТМ. Хотя я упорно пытался ее найти. Финансовый выигрыш если вообще есть - ничтожен, технические параметры порой даже хуже, но чаще идентичны ДЛЯ МОИХ ПРИМЕНЕНИЙ.
Однако, как только целесообразность СТМ оказалась выше, я немедленно его и использовал.

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:49:50

Задумайтесь о том, что ничего не вечно и те же AVR рано или поздно кончатся.
Ну и как для идея для более конкретных размышлений - буквально летом Atmel приступил к выпуску сверхлегких - как по цене, так и по корпусам и обвязке МК на Cortex-M0 - ATSAMDxxx.
Долго ли аттини и атмеги выдержат внутреннюю конкуренцию ?
Как давно появлялось чтото новое линейках аттини и атмега ?

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:51:15

КРАМ писал(а):Просто в тех же ПИК24-дсПИК33 вопросы инициализации периферии, включая клоки, ДМА, ядра, и всего прочего структурно выглядят много-много проще, чем у АРМов.

Ты уверен, что тут элемент привычности не доминирует ? -))

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:55:08

Сатир, то есть тупо теоретически я могу запустить на 64-ногом клопе почти настоящий ПК? Меня вот именно это цепляет.

И да, если у МК есть Direct Memory Access интерфейс, с возможностью подключения внешней памяти... Это никак не сгладит отсутствие MMU? Я просто слабо себе пока представляю оба этих "предмета". Но читаю даташит и офигеваю...

Re: С чего начать программировать микроконтроллеры?

Ср окт 07, 2015 09:59:22

просто КОТ писал(а):Сатир, то есть тупо теоретически я могу запустить на 64-ногом клопе почти настоящий ПК? Меня вот именно это цепляет.

нуу, смотря что считать настоящим.
боюсь, чисто по ногам не хватит 64 -)))
тупо интерфейсы сдрам, флеша, дисплея, пары дырок УСБ да питания - это больше

на вскидку, самое мелкое и простенькое, чтото типа Freescale i.mx23x - там ного от 160, хотя корпус LQFP

И да, если у МК есть Direct Memory Access интерфейс, с возможностью подключения внешней памяти... Это никак не сгладит отсутствие MMU?

memory management unit. если на пальцах это то, что на x86 реализует 'защищенный режим'. Виртуализацию адресного пространства и изоляцию процессов.
На МК, говоря образно, выше аналога Win95 ты не прыгнешь :)))

На МК начиная с M3 бывает (и чаще есть, чем нет) MPU - там появляются сущности приоритетного и не приоритетного кода и изоляция (8 вроде) зон памяти друг от друга со шлюзованием через супервайзера.
Но адресное пространство общее для всех задач. Вобщем такое ультра-легкое решение для хоть какой безопасности несколькоих процессов под ОС реального времени
Последний раз редактировалось Satyr Ср окт 07, 2015 10:02:07, всего редактировалось 1 раз.
Ответить