Основы программирования микроконтроллеров. Лекция в МИРЭА

  Переглядів 198,666

Samsung Innovation Campus

Samsung Innovation Campus

6 років тому

Олег Артамонов - генеральный директор компании Unwired Devices («Беспроводные устройства»).
Уровень: продвинутый (для понимания необходимо знание языка программирования С)
Темы лекции:
1) Чем отличаются микрокомпьютер, микроконтроллер и микропроцессор и в каких случаях их уместно использовать
2) История и нынешнее состояние 8-, 16- и 32-битных микроконтроллеров
3) Основы программирования для семейства STM32
4) Многозадачность в системах реального времени на примере RIOT OS
Лекция состоялась 9 декабря 2017 года в МИРЭА, для слушателей учебного курса IoT Академия Samsung. За лекцией следовал мастер-класс, на котором студентам самим предстояло выполнить сложные задания на микроконтроллерах STM32 ARM Cortex M-3.

КОМЕНТАРІ: 302
@merzott
@merzott 4 роки тому
лекция отличная! но скоро чтобы помигать светодиодом нужно будет развернуть ОС, установить питон, подключить интернет, отправить обработку нейронки на суперкомпьютер, заплатить криптой и посмотреть рекламу.
@user-gp4do2jg1e
@user-gp4do2jg1e 2 роки тому
Вот мне как человеку далекому от программирования интересно с чего вдруг такой вывод? Насколько я знаю, запрограммировать контроллер можно и с помощью обычного блокнота, да придется поработать самому написать программаторы, спаять шнурки. Но я не думаю что супер компуктер захочет копаться в каждом отдельно неподключенным деревянным компом
@johnrom8787
@johnrom8787 Рік тому
Прерывание по таймеру { PORTA ^=~ 0x01; } ;
@justdoitjustdoit5752
@justdoitjustdoit5752 Рік тому
З
@justdoitjustdoit5752
@justdoitjustdoit5752 Рік тому
З
@user-nc1zf7fi4e
@user-nc1zf7fi4e Рік тому
@@user-gp4do2jg1e Насколько я знаю, запрограммировать контроллер с помощью обычного блокнота НЕЛЬЗЯ. Хотя... могу ошибаться... 🙂
@user-soboleva
@user-soboleva 6 років тому
Спасибо , отличная лекция!
@user-mk9sq5tp1x
@user-mk9sq5tp1x 5 років тому
Несколько лет работал на 8 битных AVR и PIC, когда сел за STM32, то сразу же начал писать на CMSIS. И ничего сложного в этом не увидел и всем советую. Понятно же, что чем ниже уровень абстракции, тем гибче управление, настройка и больше возможностей для оптимизации, за счет того, что программист ПОНИМАЕТ, что происходит в микроконтроллере. Так же работал с ОС FreeRTOS и сделал вывод для себя, ОС я использую для быстрого написание какой-либо не замысловатой программы, для серьезных же проектов, где требуется ТОЧНОСТЬ, только CMSIS, только прямое обращение к регистрам с полным пониманием происходящего внутри. Первая часть выступления прекрасна, спасибо автору.
@TheSteamate
@TheSteamate 5 років тому
Как изучить его, если нет опыта?
@wlasov
@wlasov 5 років тому
Молодец, возьми с полки пирожок. Я тоже когда управляю машиной, двигаю пальцами поршни и колесо поворачиваю рукой 👍😊
@denisyegorov5109
@denisyegorov5109 5 років тому
А как вот начать с CMSIS? Есть где то уроки готовые, так сказать для совсем тупых.
@oleg_fedyushkin
@oleg_fedyushkin 5 років тому
Я так понимаю, что вы довольно давно занимаетесь микроконтролерами.Не подскажите,по своему ощущению, как дела в этой области и какие перспективы?
@wlasov
@wlasov 5 років тому
на ассемблере надо сразу писать под арм, с++ для лохов и школьников!
@igordzhenkov5860
@igordzhenkov5860 5 років тому
Красава мужик. Очень понятно для новичков.
@John.Doe.2025
@John.Doe.2025 4 роки тому
Однозначно! Даже гуру, который писал библиотеку под эту ось, не смог записать пять строк кода HELLO WORLD, которые компилить пришлось с 15 минут. Афуеть не встать. Где же те времена когда компиляция заканчивалась ещё до того как успеешь Ф9 отжать.
@EvgeniyYatsenko
@EvgeniyYatsenko 4 роки тому
отличная лекция!
@_kipovets_85
@_kipovets_85 2 роки тому
Спасибо большое!
@stigfromsouth
@stigfromsouth 5 років тому
спасибо за лекцию !!!
@vlsext
@vlsext 3 роки тому
я новичёк, с 4-5 месяцами по-вечерам ардуины и возможно, моё мнение не особо что-то отражает. Однако, что я ожидал - это увидеть чуть более продвинутое использование, параллельное использование разных ресурсов и спящий режим. Что я увидел: та же фигня, что и в ардуино. Т.е. микроконтроллер - дофига умеет, но всё сводится к (не)доверию к высокоуровневым функциям/библиотекам. На ардуино столкнулся с блокирующими функциями SPI/I2C. Причём а) сразу из доков не понятно было, что они блокирующие, б) в подавляющем случае всех самопальных и официальных библиотек - так. А МК, оказывается, умеет передавать параллельно. И нашёл я это только в глубине официальных примеров. Как проблема параллельности и реального времени решается на ардуино - на таймерах, на прерываниях и написанием неких switch-case кусков или зачатков операционки без плюшек. Почему? Потому что мало места, мало памяти. Запустить RTOS на ардуино можно, но только ради самой RTOS, ей там ну очень тесно. По STM32 с RTOS пока смотрю и вижу, что в общих чертах - это как: был у тебя ардуино с самопальными switch-case кусками, а теперь - STM32 с RTOS с блэкджеками-шлюхами(зачёркнуто) с потоками, сообщениями, буферами, стеками, которая работает как тот самый ардуино на switch-case кусках, потому что жрёт достаточно много как памяти, так и времени. Т.е., блокирующая функция отправки куска данных через медленный интерфейс (кстати, я увидел в видео коммент, что она блокирующая) - решается потоками с выделением стеков с запасом на вдруг-прерывания-разного-приоритета-вложенности-должно-хватить-на-все. Вместо переписывания той функции по хорошему. Упрощение пользователю-программисту? Три строчки кода? Да ладно! Это точно то, что нужно в микроконтроллерах, а не в десктопах и прочих серверах? Если это мед-оборудование или иное критическое, то пользователь должен будет влезть в потроха той RTOS, тех библиотек и прошманать каждую на предмет, что там творится. Для домашнего самодельного 3d принтера - сойдёт, конечно. Подумаешь, иногда, соплю в начале повесит, которую можно потом напильником спилить и фиг выловишь, почему, но если поставить паузу в 5с после инициализации, то вроде бы пропадает. "Почему 5? Ну, эмпирически. При 4х изредка ещё бывает сопля. Почему не 10? Ну, ждать 10 не хочется." ))) Быстрая разработка? Да ладно! Пять раз по 2 минуты ждать, когда сборка закончится ошибкой и покажет в чём эта дурацкая опечатка/отсутствие include? Это точно надо показывать новичкам? Может, лучше показать, как IDE все такие мелкие ошибки сразу подчёркивает и их исправление идёт мимоходом само-собой? ...я тут подумал, может просто вырос из моргать ледом или опрашивать датчик раз в 100 миллисекунд... Или использовать МК с тонной интерфейсов ради одного-двух и бездействия остальных. С одной стороны - глаза разбегаются и текут слюни, когда видишь его аппаратные возможности, с другой - смотришь, как всё в RTOS в 10-20 раз будет тормозить, пока потоки переключаются, и как-то странно становится - для использования RTOS нужно рассчитывать, что у тебя не будет заявленных 200МГц, дели на 20. И памяти в 192Кб не будет, нужно всё тоже поделить на стеки для потоков. И флеша будет тоже прилично меньше, но там походу график забитости по мере подключения модулей нелинейный и зависит от нужности модуля (частоты использования) vs написания "самопальной фигни для дёрганья один раз вот этого интерфейса в самом начале с константами". Может я не прав. Читал теорию про RTOS и STM32, пытаясь определиться, плата F4R Discovery куплена, лежит пока. Но ощущения такие.
@user-yx9vb5pp5o
@user-yx9vb5pp5o 19 днів тому
А можете рассказать как вы вообще начинали?У меня ардуинка год лежит ,решил взять за неё,но хочу не просто что-то делать на ней ,а структурировано подойти к изучению микроэлектроники (начиная от её проектирования ,устройства ,и прочего ).Что можете посоветовать ?С чего начать ,какие книжки можно почитать?
@engineer39notebook
@engineer39notebook 4 роки тому
спасибо, доходчиво
@user-rq6rx5cp7i
@user-rq6rx5cp7i 2 роки тому
Отличный материал с отличной подачей. Жаль, что наткнулся на видео только сейчас :)
@volodymyr.melnyk
@volodymyr.melnyk 3 роки тому
на одном дыхании, спасибо!
@Lersu73
@Lersu73 4 роки тому
Спасибо. Ждал такой материал. Подача человеческая и профессиональная.
@valerya4532
@valerya4532 4 роки тому
Спасибо за работу, как будто побывал на курсах повышения :))
@user-pc9br8yt6j
@user-pc9br8yt6j 4 роки тому
ПРИЯТНО было бы с вами поработать, IF you in Москва. Считаю хорошим началом. Но для изучения надо спустится c RTOS, HAL,SPL мимо вообще, запоминаем что есть CMSIS, и в какой нибудь среде( uvision, cubeide, eclipse) вставляем ASM(*.S) и изучаем все регистры ARMv7(8) + peripherals(stm,ti...). Компилируем, смотрим debug: Disasm, common reg, FPU; как компилируется код . Дальше поднимаемся выше CMSIS+C. Уже потом HAL и если нужно RTOS.
@HaterCheaters
@HaterCheaters 8 місяців тому
8:30 залезь может. можно CheatEngine найти нужное значение в оперативной памяти и поменять на нужное. например 16141 поменять на 15414
@patriotRND
@patriotRND 4 роки тому
Всё очень просто, когда профи компилирует с 10 раза хело ворлд! Отличная реклама!
@user-tz8cu7pe9d
@user-tz8cu7pe9d 4 роки тому
Тоже поржал с такого подхода)))
@alexboiko8822
@alexboiko8822 4 роки тому
Он мог подготовиться и сделать с первого раза, но вместо этого наглядно показал новичкам как компилятор подсказывает что не так. И вы, возможно, ещё не знаете что такое сложно. А если кого отпугнёт, то ему же лучше, что раньше. Лично для меня докладчик подал материал очень эффективно.
@alexgorohov
@alexgorohov 3 роки тому
@@alexboiko8822 явно не знают, что такое сложно
@deniskhakimov
@deniskhakimov 10 місяців тому
Поначалу казалось, что так и было задумано, т.е. цель была в том, чтобы продемонстрировать аудитории лёгкость, с которой решаются типовые ошибки в процессе разработки. Однако после склейки понял, что он, как это принято у нас в РФ, тупо забил на подготовку и понадеялся на авось. В итоге лектор потратил 18 минут (если верить часам на его рабочем столе) на решение проблем даже в столь примитивной задаче, используя при этом язык высокого уровня! 😮
@user-xy4sv9cl6v
@user-xy4sv9cl6v 6 місяців тому
Вы не заметили, что конец лекции уже в другой аудитории. Т.е. лектор так и не смог скомпилировать "простенькую" задачку и доделывал работу на дому. И это при том, что он сам писал эти таймеры...
@andreyterekhov8530
@andreyterekhov8530 Рік тому
Супер!
@101picofarad
@101picofarad 5 років тому
А оно на esp32 работает? Можно где-то подъем сервера вайфай через riot на эспрессиве посмотреть?
@dudanov
@dudanov 4 роки тому
1:38:40 "...пишет высокоуровневый код, алгоритм мигания светодиода..." ))))) верно, но улыбнуло)))
@user-yt2qy6th2j
@user-yt2qy6th2j 5 років тому
Очень хорошая лекция,но не для начинающих.Эта лекция подойдёт для тех,кто раньше программировал какие-нибудь микроконтроллеры,например avr. Если не программировали,то материал будет выглядеть непонятным и сложным. Скоро планирую изучать stm32 и эти лекции очень помогают
@Ma_X64
@Ma_X64 3 роки тому
найди мужика в кепке на ютубе. Канал еще как-то по-дурацки называется типа narod32 или narod.ru. У него самый плотный контент по примерам на разных контроллерах и, к тому же, он разбирает всякие ошибки линковщика и компилятора, возникающие тупо из-за неправильных настроек среды или проблем с путями, чего многие другие "обучальщики" не делают.
@user-gx7yd6jd9g
@user-gx7yd6jd9g 2 роки тому
@@Ma_X64 Называется narodstream, а "мужик в кепке" это Владимир. Он просто монстр, мегалодон в программировании и слово мужик к нему не особо подходит. Скорее так можно назвать нынешнего лектора. Вылез на трибуну с понтом и тут же в трёх соснах запутался.
@kukkuyokka65
@kukkuyokka65 5 років тому
Отличная, мегаёмкая вводная лекция - без обескураживающих провалов и переходов от дубины к ракетам. Зашла замечательно (но это, конечно, индивидуально и ложится на контекст слушателя - совсем новичкам в этой теме будет не предельно комфортно). Очень болел в конце за Олега в его борьбе со светодиодом) но это пустяки по сравнению с тем, как и сколько он подал материала за предыдущий час. Это, конечно, базис, но так последовательно, логично (и хронологично) вряд ли где можно такой материал встретить.
@Perega
@Perega 10 місяців тому
Полностью поддерживаю, как новичок в теме программирования голых микроконтроллеров. Особенно некомфортно было конечно на моменте конечной компиляции кода. Хоть я и понимал для чего на самом деле нужны все те лишнии обороты в коде, но от размера программы мягко говоря прифегел.
@user-ub7qu9pl9g
@user-ub7qu9pl9g 6 років тому
Хороший доклад. Жаль , что не отметили , что переход от PIC18 (8 бит) к PIC32 (32 бит) делается очень легко. Код написанный для 8 бит микроконтроллера переносится на 32 бит микроконтроллер с минимальными усилиями. А если выбираем в настройках конфигурации , например таймера, совместимость с 8 бит МК - то вообще код с минимальными изменениями.
@user-ei2kp7zm9o
@user-ei2kp7zm9o 5 років тому
Сергей Якорев эт гораздо легче чем этот мегагеморойный геморой гемороище??? Или чуть чуть легче???
@user-ud6sw5cp4w
@user-ud6sw5cp4w 2 роки тому
Про форматирование дискеты не совсем понял, но вспомнил, что при форматировании ОС повисала наглухо) многозадачность.
@user-jv3fs6ki9e
@user-jv3fs6ki9e 4 роки тому
Про MSP430 не согласен. Активно используются в почти современной медицинской технике, Нейрософт возьмите например.
@user-zy9fk7ew7y
@user-zy9fk7ew7y 4 роки тому
Благодарю, очень интересно
@user-gm7er9yr8i
@user-gm7er9yr8i 2 роки тому
Подскажите при прошивке контроллера другим программатором фьюзы нужно менять или нет. Спасибо
@jo1s838
@jo1s838 Рік тому
Спасибо за лекцию, у меня в голове вертится очень, наверно, тупой, но до конца не понятный для меня вопрос. В контроллере с завода всегда идёт какая-то прошивка (микрокод, который заливает производитель) или не обязательно и это может быть просто железка с транзисторами и т д и кода там (с завода) никакого не будет?
@nskvasov
@nskvasov 5 років тому
А ничего, что на USB-флешке, которую "Texas Instruments подарила" (кстати, почему не "ти", а так уважительно, в отличие от STMicroelectronics? или последняя ничего не дарила просто?) тоже стоит периферийный USB-микроконтроллер?
@user-lt1dx6eb7n
@user-lt1dx6eb7n 9 місяців тому
С этой операционной системой получается что отправлять показания счётчика может компьютер который 30 лет назад занимался инженерный графикой.
@cyberzx
@cyberzx 4 роки тому
make clean не обязательно выполнять на каждой сборке
@lobanovds
@lobanovds 6 років тому
Отличный доклад, замотивировал взяться за тестовую платку
@samsunginnovationcampusrussia
@samsunginnovationcampusrussia 6 років тому
Дмитрий, спасибо за отзыв! У нас на канале ещё целый мини-курс лекций Олега Артамонова по основам современного программирования микроконтроллеров. Посмотрите тоже, там более подробно и доходчиво.
@marsm6619
@marsm6619 5 років тому
Заказал платку с ARM
@andreygrachev4532
@andreygrachev4532 Рік тому
Очень интересно! В той части, что сейчас актуально, а что уже давно не актуально или стремится к этому. Прошло уже пять лет. Хотелось бы узнать: "А что изменилось?".
@JohnJTraston
@JohnJTraston 3 місяці тому
STM32
@JohnJTraston
@JohnJTraston 3 місяці тому
и ESP32
@FelixSamulevich
@FelixSamulevich 8 місяців тому
там сказочки в комплекте с контролером случайно не было? )
@ArtemKAD1
@ArtemKAD1 2 роки тому
Лектор с АВР-ами знаком был явно только в начале нулевых. С тех пор их тактирование и настраивается и можно перенастроить на ходу и можно частично переключить источники. По-моему мой самописный диспетчер задач реализованный через управляемый суперцикл гораздо проще использовать чем эту ОС и места он занимает в 20+ раз меньше. Конечно там нет заранее заготовленного 1мс таймера и процедуру взводящую его флаг(обычно в прерывании) надо написать, но исходя из того, что 1мс для некоторых задач это слишком короткое время и лучше-бы камень вместо тупых отсчетов спал, это скорее плюс чем минус. Тем более там кода на 10 строк. В общем, прослушав лекцию общий вывод - вместо изучения точно работающего CMSIS предлагается изучить еще и(CMSIS все равно придется изучить) как-то работающую ОС.
@TheNamelessOne12357
@TheNamelessOne12357 5 років тому
Осилил. Я, конечно, всё это знаю, и делал коммерческие устройства на STM32 с stdperiph, но, для начинающих лекция больше похожа на "Рисуем два кружочка - Рисуем остальную сову". Даже создание проекта с нуля толком не рассмотрено. Да и, наверное, лучше с FreeRTOS разбираться, чем с каким-то непопулярной ОС.
@user-ld2xi8sn6l
@user-ld2xi8sn6l 4 роки тому
Привет а че ты имел ввиду под словом "коммерческие устройства"
@user-oi5st1iy1m
@user-oi5st1iy1m 4 роки тому
Єто лекция перед студентами если из потока в 100чел, там поняли хотябы 5 заинтересовались 1-2, то лекция достигла успеха. А учебное видео этот фильм не обещал.
@Ma_X64
@Ma_X64 3 роки тому
freeRTOS всё-таки, на мой взгляд, тяжеловата. Если только под крупные камни её ставить. А так есть с одной стороны варианты покомпакнтнее (TNeo RTOS), а с другой -- псевдоРТОС-подход, когда делается кооперативная многозадачность через, например, глобальный таймер.
@user-nc1zf7fi4e
@user-nc1zf7fi4e Рік тому
@@user-ld2xi8sn6l "коммерческие устройства" - когда бабла отслюнявили. Так понятно? 🙂
@volodymyrkorsovetskyi922
@volodymyrkorsovetskyi922 5 років тому
У меня раз код не влазил в Пик . Пошерстил , переработал , отказался от стандартных библиотек (даже * и / свои написал) и после этого смог всунуть еще 3 функции и 4 байта свободные остались )))
@fj8017
@fj8017 5 років тому
* и / -это ведь указатели и деление? Как Вы создали собственные указатели и деление? Вы использовали ассемблерные вставки?
@volodymyrkorsovetskyi922
@volodymyrkorsovetskyi922 5 років тому
@@fj8017 Умнеженние и деленние . Без ассамблера . Просто сделал отдельные функции , получилось вместо a*b UMNOGENIE(a,b) , a/b DELENIE(a,b). Написание стало грамоское , но зато место сильно экономится .
@galaktozawr
@galaktozawr 3 роки тому
@@volodymyrkorsovetskyi922 Подробнее?
@kerselkerosin
@kerselkerosin 5 років тому
Все так хорошо начиналось, а потом оказалось, что просто помигать светодиодом на микроконтроллере с ОС в разы сложнее чем даже на ПЛИС. В чем радость - непонятно.
@samsunginnovationcampusrussia
@samsunginnovationcampusrussia 5 років тому
Илья, посмотрите вот это видео - здесь за 10 минут переходят от абсолютного нуля до мигания светодиодом. STM32 + RIOT OS. ukposts.info/have/v-deo/moWQZqF-qHecpqs.html
@kerselkerosin
@kerselkerosin 5 років тому
спасибо, гляну.
@user-uc6sy6wi2j
@user-uc6sy6wi2j 2 роки тому
Кстати на плис мигать светодиодом гораздо проще, чем даже на восьмибитке. Только вот плис не для этого, плис для математики. И если в последней не шельме-бельме , то за плис можно и не браться.
@sixaxisization
@sixaxisization 2 роки тому
Ну на 6ой раз собирется.... А.... мыж не подключили.....
@user-vp6gp7ef5k
@user-vp6gp7ef5k 4 роки тому
Это лекция не для студентов 2-3 курсов, а для профи и для продвинутых гиков-самоучек. Для студентов: - 1. Что нужно для запуска МК (питание, тактирование, цепь сброса, как залить прошивку). - 2. Что нужно для работы МК (понятие регистра, работа с регистрами и памятью). - 3. Зачем писать и читать по определенным адресам (работа с периферией и выводами МК). - 4. Как использовать таймеры, что такое DMA, использование прерываний. - 5. Стандартные интерфейсы (UART, SPI, I2C). - 6. Стандартные промышленные интерфейсы (RS-485, RS-422). - 7. Понятие протокола обмена. - 8. Границы возможностей МК, области применения, сравнение с ПЛИС, области применения ПЛИС. - 9. Концепции программирования МК. (главный цикл, конечные автоматы, менеджер задач, кодогенераторы и пр.). - 10. Ethernet и МК (UDP, TCP/IP). - 11. Что можно подключить через МК (обзор датчиков и модулей). - 12. ЦОС и МК (АЦП, фильтры, фурье, обзор сигнальных процессоров). - 13. Надежность (резервирование, запас при выборе элементов, ВСК - встроенная система контроля системы, WDT - сторожевой таймер, контроль допустимых состояний в ПО, плюсы и минусы использования тактового генератора вместо резонатора) - 14. Поддержка. (как обновить ПО на удаленных объектах) - 15. ЭМС. Вопрос очень неожиданный для тех кто не был в курсе.
@saidolimkhongafurov6150
@saidolimkhongafurov6150 4 роки тому
😭😭😭😭😭😭😭
@Blendershick
@Blendershick 3 роки тому
Спасибо, не могли бы посоветовать литературу пожалуйста.
@user-fv5rk1fc9o
@user-fv5rk1fc9o Рік тому
Абадеть...
@abdulqadirahmedli610
@abdulqadirahmedli610 Рік тому
Как запрограммировать st72f324.
@xsht2940
@xsht2940 3 роки тому
А мне казалось, что основное отличие микроконтроллеров от микропроцессоров в архитектуре. В микроконтроллерах - Гарвардская (включая ARM SMT32), а в микропроцессорах - фон Неймановская
@Ma_X64
@Ma_X64 3 роки тому
На самом деле -- нет. Ничто не мешает использовать для проца гарвардскую, а для мцу -- фон-неймановскую. Основное отличие -- как раз в наличии периферийных блоков на борту. Вспомните, что на материнской плате взаимодействие процессора с внешним миром обеспечивает чипсет. У процессора даже системы тактирования и сброса своей нет -- ставится внешняя микросхема.
@ArtemKAD1
@ArtemKAD1 2 роки тому
Не, это не существенно. Разница в том, что у контроллера периферия находится на камне, а у процессора она находиться на плате или даже в слотах. По сути то что называется микропроцессором в микроконтроллере уже есть внутри и называется ядром.
@JohnJTraston
@JohnJTraston 3 місяці тому
Нет. Это вообще ни при чем. Процессоры есть и такие и другие. Основрое что микроконтроллер это как "полноценный компьютер", только в миниатюре.
@GexPlayerMD
@GexPlayerMD 3 роки тому
4:08 Ну это видимо те, кто не застал например zx-spectrum, с 48К оперативки и 16К ПЗУ, и то, часть оперативы уходит на видеопамять. А так то 1 КиБ это целых 1024 байта!
@biluser
@biluser 3 роки тому
Я собирал микро 80 дисплейную часть для своих задач это было 1984год Как-то включал работает рф2живая!!!
@user-fv5rk1fc9o
@user-fv5rk1fc9o Рік тому
@@biluser у меня тоже остались пару ленинградок синклеров, но лет 30 не проверял.))) Так там 2 ПЗУ они что по 8К всего? Забыл уже все.))
@user-qh9vj6lt5c
@user-qh9vj6lt5c 4 роки тому
Олег! У Вас получилась неплохая лекция. Но! Вам нужно устранить ряд неправомерных заявлений ! Причём... ТЕХНИЧЕСКОЙ НАПРАВЛЕННОСТИ! Существенные неточности.
@dmitryefimkin6550
@dmitryefimkin6550 6 місяців тому
Круто. Только не понятно зачем.
@user-pw7mw5bp9f
@user-pw7mw5bp9f 3 роки тому
"Извините за технические неполадки". Обнадеживающее начало лекции.
@bad-coder
@bad-coder 3 роки тому
И заметьте, потом приходит барышня и все чинит умному специалисту
@user-zz3jz8fz5k
@user-zz3jz8fz5k 2 роки тому
Крутая лекция! Всё конкретно и понятно!👍👍👍👍
@vladrootgmailcom
@vladrootgmailcom 3 роки тому
Оператор - профессионал от бога просто.
@user-kr2ff3xr3h
@user-kr2ff3xr3h 2 роки тому
датчик слежения на микроконтроллере
@ardoss6166
@ardoss6166 3 роки тому
35:14 втф?
@andrejgorlin8284
@andrejgorlin8284 5 років тому
Если вы будете заниматься АСУТП вы столкнетесь с программируемыми контроллерами. А вот медицинские применения, вот там Cortex-R должен быть крайне востребован.
@Integral2128
@Integral2128 4 роки тому
повезло до девальвации валют в 2013г купил 1000шт Атмег16А в ткфп44 корпусе по дешовке, до сих пор на продажу устройства на них клепаю, а так да, сейчас на мегах делать на мелкий опт устроства дорого...
@galaktozawr
@galaktozawr 3 роки тому
А что клепаете если не секрет?
@sighupcmd
@sighupcmd 4 роки тому
Всё, пошел закупать Discovery. Жизнь уже не будет прежней :)
@lobanovds
@lobanovds 6 років тому
у кого не будет запускаться компилятор и будет ругаться на отсутствие gcc-arm-none-eabi здесь geektimes.com/company/samsung/blog/299187/ у него в текстовом виде инструкция по установке линукса на винду, и где скачать и как настроить данный компилятор
@LLlblKAPHO
@LLlblKAPHO 5 років тому
где наше любимое мышекликательное программирование? Плату можно определять автоматически, ссылаемые библиотеки подгружать и искать тоже автоматически. При установке компилятора ставить все что нужно автоматически.)
@rustammukhamatyanov1497
@rustammukhamatyanov1497 2 роки тому
даже нечто скучное можно рассказать интересно, браво
@SomeRandomPerson163
@SomeRandomPerson163 4 роки тому
1:00:08 - Решение: продакт менеджер со своей почтой и хотелками в воскресенье должен пойти в лес. Ну или в магазин за контроллерами и на завод за платами.
@vintbolt2118
@vintbolt2118 3 роки тому
Attiny13 - лучший микроконтроллер! Нахрена STM32, если нужно помигать светодиодом? Я, например, сделал на Attiny13 электронное зажигание с ФУОЗ. Очень полезная вещь.
@deniskhakimov
@deniskhakimov 10 місяців тому
С STM32 ещё не сталкивался, но рискну предположить, что при всех своих очевидных преимуществах, потребление тока у него будет значительно выше, чем у типичной AVR-ки. Т.е. для создания небольших и не самых сложных устройств, работающих преимущественно на элементах питания, AVR будет всё таки более интересным решением.
@handlewithoutsuitcase
@handlewithoutsuitcase 11 місяців тому
А куда делись esp32?
@user-nq1qx7qt5i
@user-nq1qx7qt5i 3 роки тому
Интересная лекция, правильная. Но, где же мультиварки изготовленные нами, а не китайскими товарищами?
@floks700
@floks700 2 роки тому
а там всё без этой высокомерной зауми этого очкарика. )) пишут то наши, без всяких ОС. на чистом си или асме. я многих таких знаю.
@aleksandrdemidov6058
@aleksandrdemidov6058 4 роки тому
а я думал только я так программы на Си пишу :-) ...
@user-xi1qi8sg7l
@user-xi1qi8sg7l 4 роки тому
Посмотрел только из-за того что интересно читал лекцию, но так как я не программист то ни черта не понял😁
@SaLaGaDH
@SaLaGaDH 3 роки тому
Старанно что под видео с данной тематикой столько бьі дла в комментах... Спасибо за лекцию и демонстрацию типичной работьі любого программиста )
@user-nc1zf7fi4e
@user-nc1zf7fi4e Рік тому
Кричи "ура", если смысл не интересует. 🙂
@user-gb6wj6fn9x
@user-gb6wj6fn9x 5 років тому
Если вы товарища, говорите об АСУТП, и не говорить о таких монстрах как Siemens и Allen Bradley то чего стоит ваша лекция ???
@cyberzx
@cyberzx 4 роки тому
асутп не является темой лекции
@lionlinux
@lionlinux 5 років тому
а ESP?
@mvxburov
@mvxburov 3 роки тому
фу этот позорный луа, нет уж, спасибо)
@pavelshkarupsky6318
@pavelshkarupsky6318 4 роки тому
А кто-нибудь пробовал повторить? Я лично попробовал собрать код , как минимум в последнем коммите RIOT нет модуля rtctimers-millis.h
@andreyv6169
@andreyv6169 3 роки тому
Так он же об этом и сказал что он туда не входит, это внутренняя разработка, вы ее нигде не скачаете.
@andrewandrosow4797
@andrewandrosow4797 3 роки тому
Добрый день! SOLID в лекции упоминается? Без этого жизнь разработчика ПО станет невыносимой....
@_kipovets_85
@_kipovets_85 2 роки тому
Жалко что у меня не было такого учителя 😢
@user-nc1zf7fi4e
@user-nc1zf7fi4e Рік тому
Уже не поможет... 🙂
@SWS-LINK
@SWS-LINK 4 роки тому
интересно, но очучние , что продвигают определённый тип МК. За долю малую, спонсорскую. Тех. характеристики у них очень сильно отличаются, а уж говорить , что stm 32, это отстой, ну прям не комильфо вообще ---))
@galaktozawr
@galaktozawr 3 роки тому
Notepad++ это не просто "получше редактор", это чертова машина с тысячами строк кода, работающая как часы.
@vilture5706
@vilture5706 2 роки тому
Keil, iar, Какой нотепад
@heidhere
@heidhere 6 років тому
вопрос снят, оказывается Microchip купил Atmel, не знал...
@user-eq8tk4bm4n
@user-eq8tk4bm4n 5 років тому
Года два или три как
@user-xy4sv9cl6v
@user-xy4sv9cl6v 6 місяців тому
Шикарная лекция о том, как освоить программирование ОС, но ни слова о том, как написать серьезную программу и при этом не использовать дорогие МК. Вы конечно сильно сократили время на написание программы "Blink", но ни слова не сказали о том, сколько времени нужно потратить, чтобы изучить документацию на вашу ОС (а она вообще есть? Сколько там страниц текста?). И еще: вы сказали, что таких ОС есть очень много, так какую из них учить, чтобы найти себе работу? Очень жалею, что потратил час своего времени ни о чем!
@Al_Gen
@Al_Gen 2 роки тому
а где видео с Евгением Зуевым?
@nimikh2
@nimikh2 3 роки тому
Советую автору познакомиться с linux. Там компилятор работает в разы быстрее, нежели из под виртуализации windows (qemu небось)
@galaktozawr
@galaktozawr 3 роки тому
Что за компилятор? tinycc?))
@bul2012
@bul2012 4 роки тому
Пробовал пол года назад установить этот риот. Чёт кубовские продукты намного проще
@user-vo9kn3pp6p
@user-vo9kn3pp6p 2 роки тому
CubeMX?
@bul2012
@bul2012 2 роки тому
@@user-vo9kn3pp6p да, и cubeIDE тоже
@user-vo9kn3pp6p
@user-vo9kn3pp6p 2 роки тому
@@bul2012 как он?
@bul2012
@bul2012 2 роки тому
@@user-vo9kn3pp6p норм, пойдет с пивом
@user-vo9kn3pp6p
@user-vo9kn3pp6p 2 роки тому
@@bul2012 стабильно пашет?
@MrWinston230
@MrWinston230 4 роки тому
Хорошая лекция, только не упомянули про уровни абстракции кода: LL (Low Level) - выше CMSIS, но ниже SPL (stdPeriph), HAL (Hardware Abstraction Layer). То есть, насколько я помню, на данный момент такая линейка: адреса регистров - CMSIS - LL - SPL - HAL.
@Ma_X64
@Ma_X64 3 роки тому
Не. CMSIS это, по сути, просто куча дефайнов, которые превращают адреса регистров в буковки, которые можно читать, SPL -- выкидыш-выпердыш, умерший сразу после рождения, потому что всё сделано бессистемно. HAL -- замена SPL. Более системный подход, немного лучше переносимость (хотя всё равно под каждое семейство нужно читать описание HAL) и куууууууууууча ненужного кода, жрущего время и место -- на каждый чих вызывается функция, которая вызывает еще функции, которые вызывают еще функции. В итоге переходы сжирают кучу процессорного времени, а множество вспомогательных структур -- ОЗУ. Я лично использую HAL только для инициализации, чтобы было быстрее и без ошибок, а для всего остального использую CMSIS, оборачивая аппаратно-ориентированные части кода в функции. В итоге код логики программы такой или даже более читабельный, чем с HAL, но выполняется быстрее и жрёт меньше места и ОЗУ.
@user-tn7nq1sb3d
@user-tn7nq1sb3d 2 роки тому
Супер! Лектор от Бога!
@Beatleman91
@Beatleman91 2 роки тому
А где остальные лекции ёпрст?
@samsunginnovationcampusrussia
@samsunginnovationcampusrussia 2 роки тому
Есть целая серия лекций на ТВ МИРЭА, вот первая: ukposts.info/have/v-deo/qZmEnoKvnK9_12g.html Остальные найдете без труда, они все есть на UKposts
@Beatleman91
@Beatleman91 2 роки тому
@@samsunginnovationcampusrussia у них открытость "доступно по ссылке", поэтому в общем поиске и не находятся
@nskvasov
@nskvasov 5 років тому
За "десятикратный позор" по Тарантиновской части "Четырех комнат" уже всех пальцев на руках мог лишиться.
@vitaly007bond
@vitaly007bond 5 років тому
Класс . Только зачем надо новичку ОС ? что это за программист будет? если он не знает основ кто как и так далие, datasheet... не понятно .
@user-oi1zl6de8i
@user-oi1zl6de8i 4 роки тому
Esp32?
@galaktozawr
@galaktozawr 3 роки тому
Действительно, нахер про него вспоминать.
@user-oi1zl6de8i
@user-oi1zl6de8i 3 роки тому
@@galaktozawr Почему его не нужно вспоминать?
@galaktozawr
@galaktozawr 3 роки тому
@@user-oi1zl6de8i Это я про автора ролика.
@user-oi1zl6de8i
@user-oi1zl6de8i 3 роки тому
@@galaktozawrА почему не нужно вспоминать про автора ролика?
@user-yi5ee1yj8b
@user-yi5ee1yj8b 4 роки тому
нихуя не понял, но было интересно
@krypton1886
@krypton1886 2 роки тому
Жесть, пойду лучше учить ассемблер
@user-gj8ng9oo9e
@user-gj8ng9oo9e 2 роки тому
Знает про что говорит
@TyurinAlexey
@TyurinAlexey 4 роки тому
Я ахуенный программист!!! У нас стиль написания очень похож. Когда я программирую свою ардуинку я тоже дефисы проебываю, тоже смотрю в примеры что бы посмотреть как там чего сделано и через 4 написанных строчки загружаю прогу и проверяю накасячил или нет .статистика примерно одинакова с оратором, из 10 раз примерно 9 косяков. Ну то есть я вам честно люди скажу, хорошим программистом можно стать за 2 месяца, я учусь 2 месяца! Да я ахуенный программист, у нас и стили и стата по ошибкам один в один!!! Пойду писать прошивку для терминатора!
@electricbase1930
@electricbase1930 4 роки тому
ооооооо либераху порвало
@deniskhakimov
@deniskhakimov 10 місяців тому
>> _тоже смотрю в примеры что бы посмотреть как там чего сделано и через 4 написанных строчки загружаю прогу и проверяю накасячил или нет_ 😄 Когда писал одну из реализаций игры в шашки, проверил код в первый раз только после того, как было написано ~400 строк кода ) А вот с контроллерами тоже люблю почаще компилировать, загружать и проверять, что получилось, т.к. опыта в этой области не так много.
@anatol_savsirotkin1912
@anatol_savsirotkin1912 4 роки тому
Что за фильм про 1 байт, который не влез, ссылку дайте пожалуйста
@SomeRandomPerson163
@SomeRandomPerson163 4 роки тому
Не фильм а рассказ вроде
@cyberzx
@cyberzx 4 роки тому
"история одного байта" в гугле
@user-cl6bu1po7x
@user-cl6bu1po7x 3 роки тому
Урааа! Нашёл канал под который можно спать😜
@botsynth
@botsynth 3 роки тому
Интересно, все эмбедерское сообщество такое токсичное?
@SaLaGaDH
@SaLaGaDH 3 роки тому
Да, тоже удивляет желчь в комментах
@user-xy4sv9cl6v
@user-xy4sv9cl6v 6 місяців тому
Это от непонимания что такое МК и с чем его едят
@nicivanov5135
@nicivanov5135 3 роки тому
Интерестно, если человек придумает как упростить этот хардкор, он сможет на этом заработать по взрослому?
@user-xn7pb5nd2p
@user-xn7pb5nd2p 3 роки тому
Усатый нянь
@AlexeyFyodorov80
@AlexeyFyodorov80 4 роки тому
Странная лекция. Её бы по нормальному разбить на две независимые части, а то вторая половина после первой выглядит не пришей кобыле хвост. И лектор как-то на удивление хреново подготовился к своей практической части. Отрепетировал бы хоть разочек на досуге, чтобы так коряво не экспромтить на аудиторию.
@TheMikki1982
@TheMikki1982 7 місяців тому
PIC32 не мог вырасти из 8-разрядных PIC просто потому, что у PIC32 лицензированное ядро MIPS4K, а у 8-разрядных контроллеров своя архитектура Microchip
@user-lj6fz7no4n
@user-lj6fz7no4n 4 роки тому
вот бы еще на вопросы ответили , а вот хрен .видео выложил и на этом все
@hyppopotamm
@hyppopotamm 5 місяців тому
Спасибо за лекцию! Как будто в советское детство вернулся :) Когда читал книги по RT-11 и мечтал о роботах :)
@workmadorange5578
@workmadorange5578 3 роки тому
На Ардуино надо учить людей , чтобы студенты могли дома попробовать.
@andreyv6169
@andreyv6169 3 роки тому
Тот кто ассембер не пробовал ничего не поймет в си, а кто не понимает в си в ардуине будет что то делать, но не понимать как и почему это работает именно так.
@SaLaGaDH
@SaLaGaDH 3 роки тому
Вот как раз ардуино и не стоит учить. Возможностей мало, а переходить на современную архитектуру болезненно
@user-uc6sy6wi2j
@user-uc6sy6wi2j 2 роки тому
Че там обсуждать, берём плату берём дисплей берём либу к нему и книгу по Си. + Гугл. Разбираемся. А на этих миганиях светодиодом можно уснуть уже минут через 15. Я Си вообще не знаю, тем не менее за неделю к Дискавери подключил эспиай дисплей, часы тикают, время устанавливается, яркость регулируется, счётчик циклов перепрошивки инкрементируется, данные в еепром внешней сохраняются, координаты икс игрэк отображаются. И это гораздо интереснее, чем мигать светодиодом. Все на HALе. И вот теперь можно разбираться в тонкостях и не уснуть при этом.
@TheKirsna
@TheKirsna 5 років тому
Чувак наверное оговорился что за месяц программист утрамбует все что надо. Это наверное мегамоск должен быть. Интересно знать после такой работы сколько программисты живут и как у них со здоровьем ???
@dazzershell
@dazzershell 5 років тому
"хороший программист" с кучей наработок для данного кристалла может вскружить голову любому нанимателю, в плане скорости.
@phill2773
@phill2773 4 роки тому
@Danatas Gervi Снится - это да :)
@anatoliydad0x078
@anatoliydad0x078 2 роки тому
В общем мэйкфайлы это одно мучение... Keil+CubeMX+FreeRTOS - вот решение
@AlexEist
@AlexEist 3 роки тому
38:05 Чтобы бороться "с этим ужасом" надо осуществлять Системный анализ ... надо увидеть, кто корпорации, что делают все ради прибыли НИКОГДА НЕ ПОМОГУТ тебе никогда не облегчат.. а всегда будут только усложнять и перекладывать на плечи наивных программистов проблемы своей неадекватности, абсурдности прибыльной экономики и шизофренически - "здоровой" конкуренции. Решая проблему возрастания сложности описания новых технологий и НАРУШЕНИЯ СОВМЕСТИМОСТИ надо просто отказываться от КАПИТАЛИЗМА.
@Ma_X64
@Ma_X64 3 роки тому
Большинство людей не видят этой связи, обсуждая локальные проблемы.
@user-dd1hs5be3s
@user-dd1hs5be3s 3 роки тому
продаёт себя подороже всё видео...
@flytsokotly2006
@flytsokotly2006 4 роки тому
Это только ардуинщиков напугает. А так-то и mega8 не проще инициализируется. Меня напрягло только что собирается долго.
@pavelshkarupsky6318
@pavelshkarupsky6318 4 роки тому
Если только main.c изменять и make clean не делать, то все быстро проходит
@Ma_X64
@Ma_X64 3 роки тому
не, авр-ки гораздо проще инициализируются. Как минимум, не нужно включать тактирование и питание каждому модулю, да и настроек у периферии в разы меньше.
@SaLaGaDH
@SaLaGaDH 3 роки тому
Ну не скажи, число регистров периферии и настроечньіх битов раз в 10 больше
@andrewandrosow4797
@andrewandrosow4797 5 років тому
Годная лекция! Но Настоящая жуть начинается с периферией безобидно: по STM32CubeMX выставляешь для HRTIM минимально нужные несложные режимы режимы, простой режим инициализации (без умножения частоты HRTIM) потом запускаешь генератор кода, дописываешь HAL_HRTIM_SimplePWMStart(&hhrtim1,HRTIM_TIMERINDEX_TIMER_A ,HRTIM_OUTPUT_TA1); - и тут таймер запустился на заявленных 500Гц, но запись в регистр HRTIM_CMP1AR НИЧЕГО не дает! Какая была скважность, такая и остается. Тот же CubeMX генерирует какие-то свои функции с префиксом MX_ вперемешку с HAL. Так что в инициализации еще тот гимор))
@Ma_X64
@Ma_X64 3 роки тому
Поэтому вне зависимости от того HAL там или "нахал", нужно открывать референс мануал, находить периферийный блок и изучать его логику. Полезно распечатать хотя бы картинки с диаграммами соединений. А потом случается магия, и голова начинает просто помнить все регистры и биты, так что необходимость в HAL отпадает.
@andrewandrosow4797
@andrewandrosow4797 3 роки тому
@@Ma_X64 хуже всего - я прочитал осмыслил даташит (на всякий случай перевод кратко записал в тетрадь) - но писать на голых регистрах (а в прошлом я таки писал на голых регистрах) нету сейчас времени... Короче может просто бракованный чип попался (запускался HRTIM как-то коряво и далеко не на всех частотах) - вручную скважность выставляется без проблем но под реальной нагрузкой блок HRTIM сходит с ума и отключается (спасибо разработчикам что хоть сквозняки не возникают!).
@Ma_X64
@Ma_X64 3 роки тому
@@andrewandrosow4797 Ну китайские нередко бывают с вывертами. Еще ERRATA нужно поглядывать в случае любых глюков. Бывает, что на этапе разработки накосячено. Насчёт времени, не знаю. Мне вот не так давно пришлось быстренько освоить STM8 и писать два больших проекта с несколькими задачами, критичными ко времени. ПОд 8-рки и нет никакого уровня абстракции -- так же брал и на регистрах писал, а они довольно похожи на 32-ки.
@andrewandrosow4797
@andrewandrosow4797 3 роки тому
@@Ma_X64 может был смысл выбрать AVR Atmel - тоже ведь восьмибитные как и STM8.Программировать на Си AVR проще, правда периферия победнее
@Ma_X64
@Ma_X64 3 роки тому
@@andrewandrosow4797 лучше сразу освоить что современное. Сложнее, зато потом большинство других контроллеров покажутся смутно знакомыми
@redtex
@redtex 4 роки тому
Остаётся подождать когда будет стандартизированы самостийные кортексы.
@ivanixmasters129
@ivanixmasters129 4 роки тому
Спасибо, очень интересно, ни чего не понял. Пошел дальше программировать в VBA :-)
Лекция №1 "Микроконтроллеры" (Донов Г.И.)
1:12:42
Дистанционные занятия МФТИ
Переглядів 39 тис.
Изучаю STM32!
20:26
Лёша Кластер
Переглядів 186 тис.
Как бы я учил программирование сейчас?
7:17
Саша Лукин
Переглядів 344 тис.
Реальные свидетельства космонавтов об НЛО
28:55
Космос Просто
Переглядів 212 тис.
Микроконтроллеры, Донов. Г. И., 02.02.2021г.
45:54
Дистанционные занятия МФТИ
Переглядів 15 тис.
История Римской империи. Древний Рим 🌚 Лекция для сна
3:52:33
Phone sees the future ! 📲🫣👽
0:38
BOGDANCHIKI
Переглядів 11 млн
Cách sửa này được không các bạn?
1:00
Cơ Khí Toàn Nghĩa
Переглядів 739 тис.
How to get a message from a developer? #standoff #system #scam
0:53
Standoff 2 Live
Переглядів 501 тис.