Pull to refresh

Comments 74

цитата — заинтересованные в расширении своих курсов с помощью включения низкоуровневого программирования на ассемблере MIPS, одной из трех главных ахитектур (ARM, MIPS, x86), которые применяются во встроенных системах.

тут нужно добавить — одной из самых малораспостраненных из трех архитектур

цитата — Студенты, изучившие этот материал, смогут специализироваться в программировании микроконтроллеров (например Microchip PIC32MZ)

а почему собственно выбран PIC32MZ, а не например STM32?
просто в прикладном плане количество проектов на базе STM32 на порядки превышает количество проектов на PIC32.
Кому нужен после института специалист, который знает очень много о малоиспользуемой платформе?
Это как программист, который плохо знает английский, но хорошо знает латинский...(просто в институте учили латинский).

P.S. Я конечно догадываюсь о материальном участии фирмы Microchip
Как всегда под такой статьей первый коммент — от поклонника ARM и STM32 который кипит праведным негодованием, что MIPS и PIC32MZ вообще смеют существовать.

Прежле всего, если вам хочется курса на основе STM32 — напишите его сами и опубликуйте пост на Хабре.

Далее, в STM32 F4 / ARM Cortex M4, которые по классу соответствуют MIPS M5150 в PIC32MZ EF,
в STM32 F4 / ARM Cortex M4 нет кэшей, нет хардверной виртуализации и ниже производительность. А вот в MIPS M5150 в PIC32MZ EF кэши и хардверная виртуализация есть. И TLB MMU.

Кэши студентам учить надо или не надо?
>> тут нужно добавить — одной из самых малораспостраненных из трех архитектур
Странные придирки. MIPS или ARM ассемблер — абсолютно не имеет никакого значения. Построены они на схожих принципах, а SoC так вообще ничем не отличаются. Ядро другое ну и кого это волнует?

>> Кому нужен после института специалист, который знает очень много о малоиспользуемой платформе?
Давайте вы инженеров из ARM уговорите провести семинар про разработку микроархитектуры процессоров в Казахстане, а я пока за попкорном схожу.
>>Давайте вы инженеров из ARM уговорите провести семинар про разработку микроархитектуры процессоров в Казахстане, а я пока за попкорном схожу.

Вместо похода за попкорном, сходите на arm.com или mips.com, пользы будет гараздо больше, чем от инженеров, даже из ARM…

А там ничего и нет полезного кроме TRM-ок. Есть некоторый софт, модели и т.п. для универов. Но мне с него ни холодно, ни жарко.

>> пользы будет гараздо больше, чем от инженеров
В чём там польза? Я и так эти TRM-ки 15 лет читаю.
У машины 4 колеса. Офигеть как интересно.

А вот особенности реализации предикатов на Cortex-A9, например, интересны.
никто негодованием не кипит, насчет права существования MIPS и PIC32MZ, которые объективно уже сушествуют, речь идет о том что нужно
студенту давать разносторонние и полезные в будущей жизни знания, а вот ограничение кругозора одним MIPS — надругательство над студентом

писать ещё один курс на основе STM32 — уже моветон, их столько написано...(в том числе и на Хабре)

и к сожалению жизнь говорит об обратном, — студентам после учебы нужно найти сразу РАБОТУ,
а вот не зная STM, но зная кэши от PIC32, до «кэша» в виде «зелени» доберется он не скоро…
*** а вот ограничение кругозора одним MIPS — надругательство над студентом ***

Никто ничего не ограничивает — студенту нужно владеть несколькими архитектурами. Это вы хотите всех заставить изучать только то, что используете вы лично.

*** писать ещё один курс на основе STM32 — уже моветон, их столько написано...(в том числе и на Хабре) ***

Приведите ссылку на курс на основе STM32, в котором разбирается не только как подсоедить какой-нибудь SPI, но и работу микроконтроллера с RTOS и эффекты конвейера на производительность.

*** а вот не зная STM, но зная кэши от PIC32, до «кэша» в виде «зелени» доберется он не скоро… ***

Работа кэша процессора — необходимый элемент образования инженера.

И если вы считаете, что якобы на PIC32 работы нет, то почему семинары Microchip Technology в Питере собирают кучу народа?

Мне кажется, изучать как раз и нужно «как подсоединить какой-нибудь SPI», и стараться не засорять голову всяким мусором вроде «эффекты конвейера на производительность».
Пользователям давно уже по барабану, что там под капотом — 8 битный микроконтроллер или MiniATX компьютер на Windows 10. Пользователю главное, чтобы машина работала, робот сам шагал, а злые птички запускались из рогатки. За это платят деньги.

Могу привести такой пример. Можно долго изучать сопромат, металлургию, токарное дело и потом найти работу высококлассным токарем на станке ЧПУ и изготавливать детали для автомобилей какой-то конкретной модели на заводе Toyota.

А можно быть рабочим в СТО, знать, как в целом устроены автомобили, уметь чинить как двигатель в BMW, так и тормоза в Toyota. Да, рабочий будет получать чуть меньше (но не всегда!), но для того, чтобы устроиться на работу, не нужно ехать в Японию, в любом селе можно устроиться.

Каждый выбирает работу по себе. Но нельзя всех _принудительно_ учить быть профессиональным токарем в Toyota.
*** Пользователям давно уже по барабану, что там под капотом — 8 битный микроконтроллер или MiniATX компьютер на Windows 10. Пользователю главное, чтобы машина работала, робот сам шагал, а злые птички запускались из рогатки. За это платят деньги. ***

Это так, только если вы гововорите о высокоуровневом программировании.

Большая часть семинара — не о программировании (ARM или MIPS), а о разработке системы на кристалле, т.е. главным пунктом является день 4 с MIPSfpga, где интегрируется микропроцессорное ядро на верилоге с памятью и устройствами ввода-вывода, после чего эта система синтезируется для реализации в ПЛИС / FPGA.

Введеление в Verilog и программирование на ассемблере делаются сначала, чтобы часть с MIPSfpga могли сделать даже люди с нуля, а часть с PIC32MZ вводится в конце, так как PIC32MZ EC использует ровно то же самое процессорное ядро MIPS micrpAptiv UP (а PIC32MZ EF — MIPS M5150), что и MIPSfpga, т.е. слушатель получает возможность сравнить систему изнутри и снаружи, в виде готового микроконтроллера.

У ARM точного аналога MIPSfpga вообше нет, так как пакет от ARM под названием Design Start содержит ядро ARM Cortex M0 в obfuscated нечитаемом виде, его нельзя менять, добавлять в него новые инструкции, смотреть как изменения в железе влияют на производительность.

Конечная цель семинаров — чтобы в России образовалось больше команд типа ELVEES-NeoTek и Байкал Электроникс, которые бы разрабатывали чипы встроенных специализированных процессоров.

См. пресс-релиз от ЭЛВИС-НеоТек:

elvees.ru/home/index.php?id=17&tx_ttnews%5Btt_news%5D=766&cHash=89a2b4a4dba86aa5dac54e69ffa45d7a

«ЭЛВИС-НеоТек», проектная компания РОСНАНО, входящая в группу компаний «ЭЛВИС», и компания Imagination Technologies передали в производство семантический процессор ELISE (ELVEES Image Semantic Engine) – мультиплатформенную систему-на-кристалле (СнК) нового поколения, разработанную по технологическому процессу 28 нм, которая предназначена для создания систем для быстрорастущих мировых рынков видеоаналитики: умные города, ритейл, интернет вещей, дополненная реальность, мультимедиа и т.д.

На основе чипа ELISE могут создаваться IP-камеры с функциями видеоаналитики на борту, мультимедийные устройства и мобильные гаджеты, системы помощи водителю (ADAS), устройства связи и навигации, роботы.

Для СнК ELISE компания «ЭЛВИС-НеоТек» приобрела права на использование широкой линейки IP-модулей и платформ Imagination:


Высокопроизводительный двухъядерный процессор MIPS Warrior P5607, а также процессор MIPS InterAptiv, позволяющий работать с несколькими потоками, и энергоэффективный процессор MIPS M5150, которые обеспечивают значительное повышение скорости работы приложений видеоаналитики и обработки звука, требующих большой вычислительной мощности.


не сочтите за рекламу сайта trud.com

Работа: stm32 Россия 52 вакансии
Работа: pic32 Россия 1 вакансия

Работа: менеджер магазина Россия 17 178 вакансий

Мне кажется, вам вообще микроконтроллеры учить не надо. Никакие. Не найдёте вы с ними работы.

А если серьёзно — человек, который может писать только под микроконтроллер X, потому что его учили писать только под микроконтроллер X, называется «кодер», а не «программист», и в общем и целом вряд ли заработает много — будет годами фигачить шаблонный код для шаблонных проектов. Минимально приличный же программист, освоив MIPS, без особых проблем займётся и другими архитектурами.

И, внезапно, именно поэтому на сайте trud.com там мало нужны люди, умеющие фигачить шаблонный код под конкретную архитектуру.
передергивать про менеджеров глупо с Вашей стороны, Вы еще президента сюда приплетите…

а нормальный программист освоит сначала именно STM32 и вообще ARM архитектуру, а не то, что ему предлагает проплаченный фирмой Microchip преподаватель…

цитата-
человек, который может писать только под микроконтроллер X, потому что его учили писать только под микроконтроллер X, называется «кодер», а не «программист»

по Вашему определению если заменить X=STM32 на X=PIC32 получается конгитивный диссонанс
передергивать про менеджеров глупо с Вашей стороны, Вы еще президента сюда приплетите


Ну, не я первый начал. Вытащили на свет сайт третьего эшелона, вбили в него глупый запрос — получили глупый ответ.

а нормальный программист освоит сначала именно STM32 и вообще ARM архитектуру


А если он освоит не STM32, то тогда он не нормальный или не программист? Какова цель освоения им именно STM32? И нет, «я освоил STM32, потому что на алиэкспрессе платы на них по $5» — это не цель, это её отсутствие.
цитата-
Вытащили на свет сайт третьего эшелона, вбили в него глупый запрос — получили глупый ответ.
предложите сайт первого эшелона и вбейте на нем не глупый запрос, — наверное он будет звучать, как поиск работы для программиста, разбирающегося в кэше PIC32?

цель освоения именно STM32 & ARM именно и в том, что платы на них по 5 долларов (ибо студенты не могут их покупать по 50-100 как на PIC32, хотя Вы и считаете это наверное «нещебродством»), а самая главная цель — изучение самой распостранненой архитектуры на сегодня.
Ваши возражения против приоритета изучения самых распостраненных архитектур — это из области, Windows — must die & Linux forever — я имею цель показать, что я крутой и знаю MIPS, а то что работодателям нужен ARM — так они лохи, считают каждую копейку и жадничают сотку купить платку у Microchip.
И называть освоение архитектуры ARM отсутствием цели — это даже не грубость, а просто разговор из серии «сам дурак»
ибо студенты не могут их покупать по 50-100 как на PIC32


Платы для обучения покупает университет, а не студенты. Если же вы имеете в виду «студенту понравится и он продолжит экспериментировать дома», то он точно так же сделает это на архитектуре, отличной от изучавшейся в университете, иначе грош цена его экспериментам.

хотя Вы и считаете это наверное «нещебродством»


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

Ваши возражения против приоритета изучения самых распостраненных архитектур — это из области, Windows — must die & Linux forever — я имею цель показать, что я крутой и знаю MIPS, а то что работодателям нужен ARM — так они лохи, считают каждую копейку и жадничают сотку купить платку у Microchip.


а) Я не знаю ни MIPS, ни ARM, ни даже x86, хотя мы работаем со всеми тремя. AVR могу со словарём.
б) Зато я — работодатель.

И фраза «я знаю STM32, потому что мы проходили его в университете» для меня будет с большой вероятностью означать конец собеседования.
UFO just landed and posted this here
Большая часть семинара — не о программировании (ARM или MIPS), а о разработке системы на кристалле, т.е. главным пунктом является день 4 с MIPSfpga, где интегрируется микропроцессорное ядро на верилоге с памятью и устройствами ввода-вывода, после чего эта система синтезируется для реализации в ПЛИС / FPGA.

Введение в Verilog и программирование на ассемблере делаются сначала, чтобы часть с MIPSfpga могли сделать даже люди с нуля, а часть с PIC32MZ вводится в конце, так как PIC32MZ EC использует ровно то же самое процессорное ядро MIPS micrpAptiv UP (а PIC32MZ EF — MIPS M5150), что и MIPSfpga, т.е. слушатель получает возможность сравнить систему изнутри и снаружи, в виде готового микроконтроллера.

У ARM точного аналога MIPSfpga вообше нет, так как пакет от ARM под названием Design Start содержит ядро ARM Cortex M0 в obfuscated нечитаемом виде, его нельзя менять, добавлять в него новые инструкции, смотреть как изменения в железе влияют на производительность.

Конечная цель семинаров — чтобы в России образовалось больше команд типа ELVEES-NeoTek и Байкал Электроникс, которые бы разрабатывали чипы встроенных специализированных процессоров.

См. пресс-релиз от ЭЛВИС-НеоТек:

elvees.ru/home/index.php?id=17&tx_ttnews%5Btt_news%5D=766&cHash=89a2b4a4dba86aa5dac54e69ffa45d7a

«ЭЛВИС-НеоТек», проектная компания РОСНАНО, входящая в группу компаний «ЭЛВИС», и компания Imagination Technologies передали в производство семантический процессор ELISE (ELVEES Image Semantic Engine) – мультиплатформенную систему-на-кристалле (СнК) нового поколения, разработанную по технологическому процессу 28 нм, которая предназначена для создания систем для быстрорастущих мировых рынков видеоаналитики: умные города, ритейл, интернет вещей, дополненная реальность, мультимедиа и т.д.

На основе чипа ELISE могут создаваться IP-камеры с функциями видеоаналитики на борту, мультимедийные устройства и мобильные гаджеты, системы помощи водителю (ADAS), устройства связи и навигации, роботы.

Для СнК ELISE компания «ЭЛВИС-НеоТек» приобрела права на использование широкой линейки IP-модулей и платформ Imagination:


Высокопроизводительный двухъядерный процессор MIPS Warrior P5607, а также процессор MIPS InterAptiv, позволяющий работать с несколькими потоками, и энергоэффективный процессор MIPS M5150, которые обеспечивают значительное повышение скорости работы приложений видеоаналитики и обработки звука, требующих большой вычислительной мощности.



*** Большая часть того, что вы предлагаете, дается в университетской программе, даже в средненьком вузе.
html-теги ***

В последнее время ситуация в России улучшилась, но даже 5 лет назад во многих программах были дыры, например были программы с цифровой схемотехникой, но без использования Verilog или VHDL, или скажем с архитектурой (ассемблером), но без микроахитектуры (структуры конвейера). В Украине и Казахстане эти дыры тоже сейчас постепенно закрывают.
UFO just landed and posted this here
>> SoC доступны на любой вкус и под любые задачи
И поэтому не нужно знать как их проектировать? Правильный подход. Ведь потом можно громко плакаться что людей нет, просрали все полимеры.

>> Интересен бы был семинар о способах правильной готовки RTOS, верификации и тестирования RTOS, синхронизации потоков
Вам просто интересен софт, а не железо. Вот и всё. Чему тут возмущаться?
Вы возмущаетесь что «Инженер по верификации микропроцессорных ядер» не читает вам лекцию о синхронизации потоков в Linux?

>> В вашем же случае получается, что те люди, кто заинтересован в разработке SoC — они поступают в…
Поэтому семинары по железу не нужны, так получается?

>> Большая часть того, что вы предлагаете, дается в университетской программе, даже в средненьком вузе.
При этом крайне редко можно встретить (даже в тематических форумах) русскоговорящего человека, который понимает хотя бы базовые концепции построения процессоров.

Мне вот непонятно. Комментаторы тут воротят нос и минусуют Юрия по той причине что, мол, мороженое не ванильное, а фисташковое им дают. Не нравится — не ходи. Всё просто.
Я читал серию статей про FreeRTOS, там в итоге написание примеров и тестирование проводили вообще под x86 архитектурой. Так что проблемы, вроде бы как и нет.
UFO just landed and posted this here
Да. Мне тоже хочется побыстрее получать результат. Для этого пришлось взять STM32 (в сторону отказа от монолитного ПЛИС решения). Считаю, что сейчас уже можно все мышкой «программировать». Через STM32Cube можно все настроить. И даже USB устройство настроить, оно там аппаратно поддерживается. Казалось бы красота. Но, к сожалению, легко и просто удалось только помигать светодиодами в лице простых процессов в FreeRTOS. На деле же, мне нужно создать USB MIDI устройство, но в списке поддерживаемых шаблонов USB устройств его нет. Поэтому придется опять включать голову. А так не хотелось, потому что хотелось получить результат максимально быстро. :)
UFO just landed and posted this here
Вообще STM32Cube очень сильно порадовал. Чего только стоит графическая настройка тактовых частот. По проекту напишу в лс.
Вы путаете вуз с ПТУ, а меня с автором поста (второе, впрочем, менее существенно).

Овладение конкретной профессией, которой вы начинаете заниматься сразу после выпуска, вам даёт профтехучилище.

Вуз даёт вам умение получать знания, систематизировать их и пользоваться ими — ну и некоторый набор собственно знаний, на котором эти навыки тренируются, но это в общем побочный эффект.

Если бы вы полученными в вузе навыками пользовались по назначению, к моменту поиска работы вы бы либо уже успели бы поковыряться и в ARM (и не только STM32 — бывает ещё TI, SiLabs и много чего другого), и в MIPS, и в 8051, либо необходимость в них разбираться не вызывала бы у вас вообще никакого удивления. Потому что вы, по крайней мере, знали бы две вещи:

а) Вам гарантированно придётся разбираться в вещах, про которые вам не рассказали в вузе. Ну научили вас программировать STM32. Ну пришли вы ко мне устраиваться на работу. А мне надо, чтобы вы RIOT OS на чипы TI портировали. И что? Вы мне расскажете, что вас этому не учили?

б) ARM, MIPS, 8051 и всё остальное, что вы реально встретите на рынке, похоже друг на друга на порядок больше, чем, скажем, современные языки высокоуровневого программирования, поэтому когда вы устраиваете выступление на тему «мне пришлось» — оно больше про вас, а не про платформу, на которой в вашем вузе преподавали

P.S. У меня специальность — физика низкотемпературной плазмы. Я работал в IT-журналистике (успешно), в маркетинге и продуктовом менеджменте (успешно), сейчас вот руковожу компанией, занимающейся разработкой электроники и низкоуровневого ПО. Как вы думаете, что из этого было в вакансиях для начинающих на хедхантере с упоминанием низкотемпературной плазмы?
UFO just landed and posted this here
как «ветеран», который начинал в конце 80-х писать на 8080 рад услышать такие мысли от нынешних выпускников
Однако, если мы с вами говорим о разработке ПО для SoC, то моя позиция в том, что в большинстве случаев выбирать контроллеры PIC в качестве первой платформы не рационально.


В контексте вузовского обучения это вообще не имеет никакого значения. Можно хоть какую-нибудь академическую архитектуру, интереса ради разрабатываемую самим же университетом (такие прецеденты есть) изучать — и более этого, это будет даже полезнее, чем ваш любимый STM32, потому что глубина погружения в то, как оно там внутри работает, будет намного больше.

А если вы хотите, чтобы вас кодить на STM32 научили, то вам в ПТУ. Целью вуза не является научить вас чему-то, на что вы могли бы тут же начать без лишних хлопот жить — вуз должен давать фундаментальные знания.
UFO just landed and posted this here
Но если рынок требует людей, имеющих представление об ARM, то выбор студента очевиден.


Вот именно — выбор студента. Студент делает выбор — и идёт самостоятельно изучать то, что он считает для себя нужным. Будет неплохо, если вуз предоставит ему такие возможности факультативно, но не более того.

Посмотрите программы обучения в тех же немецких ВУЗах — они заточены под определенный вид железа, под определенные архитектуры и под конкретную СРВ.


Не «заточены под», а «используют в учебном процессе и лабораторных работах», и определяется эта среда обычно тем, кто вузу предоставит данное оборудование и помощь в подготовке курсов по нему.

Вы немного путаете современные вузы с советской распределительной системой. Это, конечно, здорово — готовить специалистов для предприятий, но что эти специалисты будут делать, если предприятию они будут не нужны?
адрес сайта такого ПТУ скиньте, «фундаментальный», Вы наш
(пожав плечами) Вам нужно — вы и ищите. Ну или нойте, что вас не научили кодить под STM32 на блюдечке с голубой каёмочкой. Выбор целиком ваш, идея, что вуз или кто-то ещё его за вас сделает — она немного ошибочная.
с STM32 давно уже «разобрался» самостоятельно, а ноете как раз — вы, предлагая проплаченную рекламу микрочипа с мало растраненными пиками
Вообще вы очень смешной. У вас в жизни бывали случаи, что отличная от вашей точка зрения не была никем проплачена?..

Я не только не знаком с Microchip, но даже не знаю, есть ли у них вообще в России офис (ну, из общих соображений — наверное, есть). У нас ни в одном проекте нет ни одной микросхемы Microchip сложнее АЦП за доллар двадцать, а конкретно PIC32MZ нам нужен примерно как рыбе зонтик.

Что ничуть не мешает мне продолжать считать, что задача вуза — вправлять мозги, а не готовить рабочие специальности, поэтому вуз выбирает ту платформу, на которой ему удобнее вправлять мозги. И если Imagination Technologies (ах да, если бы вы потратили 30 секунд своего времени и узнали бы, где работает Юрий, то мы бы с вами над вашим бредом о том, что ему платит Microchip, смеялись бы ещё веселее) хочет сделать программно-аппаратную платформу, адаптированную специально под вправление мозгов студентам — я не вижу ни единой причины, почему вузы не должны её использовать.

P.S. А где, кстати, российский офис Microchip? Может, мне пора уже за деньгами заехать?
Бешенно плюсую. В Новосибирском Государственном Университете меня научили фундаментально программировать под PIC16F84A на ассемблере на уровне помигать светодиодами и прочитать температуру по I2C.
Это в те времена, когда 32 битные ARMы уже набирали обороты. Никто из моих сокурсников не устроился после этого на работу программировать PIC на ассемблере.
И какой тогда толк от этих бесполезных курсов, на которые было потрачено пол-года?

Зато те, кто программировал на C# и Java в свободное от учебы время уехали по разным Америкам почти сразу.
К чему вся эта «фундаментальность», если она не приносит денег (а если она не приносит денег, значит она никому не нужна, никто её не покупает).
Вас учили не фундаментальности. Вас учили мигать светодиодом на ассмеблере на PIC16. То есть сделали из вас кодера под конкретную платформу. При этом учиться чему-то другому самостоятельно вам было неохота.

И сейчас вы ратуете за то, что надо было делать из вас кодера под другую платформу.
Вы смешиваете 16-битные proprietary микроконтроллеры Microchip с их-же 32-битными микроконтроллерами на основе лицензируемых ядер MIPS.

PIC32MZ EF — это не PIC16F884A. Это микроконтроллер на основе 32-битного ядра MIPS M5150 (развития предшествующих MIPS microAptiv UP / MIPS M14Kc), которые не только находятся в одном классе я микроконтроллерными ядрами ARM Cortex M3 / M4, но и превосходят их по ряду параметров (наличие кэшей, лучшая производительность).

*** К чему вся эта «фундаментальность», если она не приносит денег (а если она не приносит денег, значит она никому не нужна, никто её не покупает). ***

Затем, что сейчас в России становится на ноги индустрия разработки и собственных современных микросхем (см. напр. http://elvees.ru/home/index.php?id=17&tx_ttnews%5Btt_news%5D=766&cHash=89a2b4a4dba86aa5dac54e69ffa45d7a, и для таких проектов нужно понимание и низкоуровневого программирования, и разработки SoC (а у ARM нет эквивалента пакета MIPSfpga — см. коммент выше), поэтому ARM объективно хуже для изучения разработки хардверной части в университете.

*** Зато те, кто программировал на C# и Java в свободное от учебы время уехали по разным Америкам почти сразу.К чему вся эта «фундаментальность», если она не приносит денег (а если она не приносит денег, значит она никому не нужна, никто её не покупает).***

Я работаю в Калифорнии 25 лет и могу вам сказать, что квалифицированный разработчик микросхем и систем на кристалле на уровне Verilog (RTL designer — Register Transfer Level) зарабатывает как правило больше, чем C# и Java программисты. Кроме этого, когда вокруг сотни тысяч людей программируют вебсайты, это не так интересно, а разработка специализированных SoC — это нечто другое.

PIC16F84A — древнючий 8 битный МК с 1К памяти программ и «кривой» архитектурой.
Я не сомневаюсь, что квалифицированый разработчик микросхем в США зарабатывает больше, но:
1. Таких вакансий существенно меньше обычного программирования, и не в разы, а на несколько порядков.
2. В России разработчики электроники зарабатывают меньше, чем PHP программисты.
Ну и скажите теперь, пригодились ли вам потраченые 4-5 лет на изучение физики плазмы в том, чем вы сейчас занимаетесь?
Или лучше было их потратить на управление продуктами, основы маркетинга, курсы программирования?
Может и BlackSwift бы все-таки взлетел тогда?
Ну и скажите теперь, пригодились ли вам потраченые 4-5 лет на изучение физики плазмы в том, чем вы сейчас занимаетесь?


Я так полагаю, всё написанное мной выше вы то ли не поняли, то ли посчитали, что я шучу. OK, для тех, кто в танке: пригодились. Ни секунды не жалел о том, что пошёл именно в естественнонаучный вуз.

Или лучше было их потратить на управление продуктами, основы маркетинга, курсы программирования?


В смысле, вместо Физфака МГУ пойти в ПТУ осваивать рабочие специальности?

Может и BlackSwift бы все-таки взлетел тогда?


Мне всегда нравилось, когда люди, знающие про мой бизнес ровно ноль целых ноль десятых, пытаются меня уязвить тем, что он «не взлетел».
Рабочие специальности, которым обучают в ПТУ в нашей стране — это сварщик, повар и т.д.
Чувствуется в ваших словах некоторое превосходство над ПТУшниками, некоторое пренебрежение.
Рабочие специальности, друг мой — это любые специальности, в рамках которых обучают навыкам, необходимым для того, чтобы по окончании обучения немедленно приступить к работе. А является это навыком закручивания гаек или навыком написания на ассемблере для STM32 — вопрос глубоко вторичный. Первично то, что «немедленно приступить к работе» — единственная цель такого образования.

И да, таки высшее образование действительно превосходит среднее специальное. Посему немного удивительно видеть людей, требующих, чтобы вместо первого им дали второе.
Я начал писать программы в те времена, когда миром правил Intel 8080. С тех пор на моём счету сотни проектов для самых различных процессоров/микроконтроллеров: Intel, Motorola, Microchip, Zilog, Atmel. Сравнительно недавно пришлось и под ARM кое-что делать. Имею опыт использования софтпроцессоров в составе FPGA Xilinx и Altera. Только вот до STM32 что-то никак руки не дошли. Честно говоря — даже не знаю, что это такое. Но клятвенно обещаю — погуглить!

Я ненормальный программист?
Очень вероятно, тоже в конце октября — начале ноября
Спасибо авторам, вы делаете нужное дело, забейте на троллей, которые кроме слова 'я' ничего не выучили.
Планируется ли расшарить он-лайн материалы семинаров, если да, то на каких условиях?
Да, все материалы мы выложим, но большую часть слайдов можно уже сейчас загрузить с

https://community.imgtec.com/university/resources/

http://silicon-russia.com/public_materials/2015_11_14_mipsfpga_related_presentations/

и (более старые) http://panchul.com/dropbox/
Когда в Казахстане планируется семинар ???
22 – 26 августа 2016 г

http://www.almau.edu.kz/9891
Чем обусловлен выбор места проведения курса?
На мой взгляд бывший политех был бы более подходящим местом http://kazntu.kz/ru/node/
Кроме того курс платный, 69000 (59000) тг для Казахстана очень существенные деньги.
Embedded программирование еще какое никакое есть в Казахстане, а вот если вы там найдете разработчиков заказных чипов, то для меня это будет открытием.

*** Чем обусловлен выбор места проведения курса? ***

Инициативой вуза, который старается создать у себя центр таких технологий + личные контакты.

В данном случае курс платный, так как трудно было найти спонсора бесплатного курса. В России спонсоров находить проще — есть как российские коммерческие компании разрабатывающие чипы, так и международные компании, получающие доход с российского рынка.
Зачем нужны SoC c софт процессорами?
В 99% случаях нужен микроконтроллер с общими интерфейсами и остальное решается ножкодрыганием, иногда на запредельной частоте в 160+ мегагерц, очень редко двухядерным МК или гибридом МК+DSP.
В оставшихся 1% помогает CPLD максимум на пару тысяч логических ячеек без PLL, без умножителей, без памяти.
Почти «никогда» всё таки требуется младшая FPGA такая чтоб умножители и память хотя-бы были, 5 шт и 10 блоков озу например. Но на моей практике только один проект где требовалась FPGA дошёл до производства — остальные оказались слишком сложны для Российской действительности.

Поэтому, было бы интересно услышать реальные кейсы необходимости установки такой гибридной SoC с софтовым процессорном на плис?
*** Зачем нужны SoC c софт процессорами? ***

Потому что современные микроконтроллеры, такие как Microchip PIC32MZ, STM32 и другие тоже разрабатываются на основе синтезированного soft core (т.е. ядра написанного на Verilog). Разница между микроконтроллером выпущенным на фабрике и системой, реализованной в плисе — это в основном разница в маршруте разработки:

Verilog -> Synopsys Design Compiler -> Synopsys IC Compiler -> GDSII -> фабрика -> микроконтроллер
(или соответствующий маршрут от Cadence)

Verilog -> синтез, размещение, трассировка в Altera Quartus II или Xilinx Vivado -> конфигурация ПЛИС / FPGA

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

Ясно, что учить студентов проектировать SoC (одновременно с их программированием) стоит по второму маршруту.

Специализированные SoC сейчас проектируют не только крупные компании типа Qualcomm, но и даже стартапы — для проектов в Internet of Things.
извиняюсь, я ошибся и не написал явно, а хотел спросить так:
«Зачем нужны SoC с софт процессорами именно промышленному разработчику?», а не студенту
Я SoC знаю, и использовал, в том числе и для самообучения, но дальше например такого дело не заходило:
вот вывод видео и звука с декодингом JPG где DCT, квантизация, хаффман и прочие стадии аппаратные на плис, разбиение форматов и стриминг на NIOS
https://www.youtube.com/watch?v=GBiXfsnlLHc

мне просто интересно что другие люди проектируют на именно SoC?
Причём такое что у нас продаётся и производится, а не всякое редкое, экзотическое и прочее штучное оборудование, это не в счёт.
Интересует именно крупносерийный выпуск на SoC, такие условия когда он оправдан или без него никак не обойтись?
Какие это должны быть коллективы и изделия чтоб себя окупить? — вот это мне интересно.
Я в своём корневом ответе описал свой опыт и опыт других знакомых которые плис используют.
Я реально не встречал ни разу задачу, которую можно реализовать ТОЛЬКО на SoC из экономических, временных или прочих соображений.

А почему я это спрашиваю?
Да потому что в реальной промышленной практике SoC в десятки раз сложнее и существенно дороже, а так же имеют море подводных камней и минусов для малых фирм в связи с отсутствием верификации и тд. Но в России электронику производят в основном как раз малые фирмы, я буквально одно предприятие знаю которое скорее всего их использует — НТЦ метротек, т.к. они официально на хабре представлены и писали статьи про SoC.

Тоесть меня интересует SoC тусовка как источник прибыли или чего то очень мощного/уникального для серийного и массового производства.
Извините, но я не хотел развить холивар что он не нужен.
Из задач, которые надо решать более крупными ПЛИСами, что я знаю — это, пожалуй, только SDR Radio. Там как раз обработка данных с АЦП, много умножителей, т.к. фильтры, и память (для того же). Но в принципе, давно есть микросхемы SDR и без ПЛИС тоже можно обойтись.
Существует ряд устройств, которые всё-таки при всём желании невозможно реализовать на «чистом» микроконтроллере — каким бы быстрым он не был: различные тестовые/измерительные/отладочные приборы.

Например, из моей практики — внутрисхемный отладчик/эмулятор для процессоров Intel 80186/80188. Совершенно нереально сделать подобное устройство на микроконтроллере. Но для его работы требуется наличие определённого протокола общения с компьютером. Реализовывать его полностью аппаратно? Тот ещё головняк. Поэтому в FPGA, на базе которого этот дивайс был сделан, был добавлен простенький софт-процессор, который этим и занимался.

Другой пример: нужен прибор для тестирования работы скоростной параллельной шины. Результат он должен записывать на SD-карточку или же по запросу сливать дамп на компьютер. Опять-же FPGA-симбиоз с софт-процессором — идеальное решение.
у меня много было практики на CPLD и FPGA, а так же с использованием рассыпной логики.
И всегда как вменяемый инженер я стремился сделать одновременно надёжно и развиваемо, но максимально просто.

Например: «некая скоростная паралельная шина» персооналки лет 15 назад мною была реализована на AVR но помощью RS триггера и И-НЕ гейта на 155 логике — простейшая цепь формирования сигнала "#BUSY", это ISA шина для промышленого компа на базе пня3, Там была проблема что AVR 2313 не успевала за шиной вот я и влепил штуку которая просила «подождать».

Если что посложнее: например 10 лет назад надо было сделать ISDN E1, то я тоже поступил как можно проще — разработал на максе 2 штуку которая последовательные биты складывает в внешнюю память АРМ, а тот уже дальше уже с собранными и выравнеными в байты данными спокойно работает.

И так далее делая как можно проще я в основном использую CPLD, и чертовски крайне редко FPGA как толстую CPLD. Но чаще всего естественно голый МК без ПЛИС справляется с 99% задач.

Т.е. если мыслить критерием «то что не могут сделать МК» то я делая конверторы в то во что могут МК в итоге не сталкивался ни разу с потребностью колхозить SoC.

Почему «колхозить»?
Потому что у SoC есть свои минусы и они очень жирные для меня:
1. Надо ставить FPGA — это минимум 4 слоя, а часто 6 и более — плата дорогая.
2. Надо ставить кучу стабилизаторов, просто адовую уйму — плата больше.
3. Нужна внешняя флешка — могут украсть прошивку, надо её как то защищать.
4. Нужна внешняя ОЗУ — существенно сложнее разводка и опять же плата ещё больше.
5. Пункты 1-4 дают просто неподъёмную стоимость изделия в случае крупной серии и необходимости конкурировать в ценовом диапазоне 5-10тр за штуку диллерам.
6. Но самое неприятное — сложность написания софта: надо разработать не одну сущность — прошивку для МК, а сразу кучу сущностей — HDL исходники для своей периферии SoC, настройку FPGA включая физику и тайминги, конфигурацию SoC (параметры шин, связи, топологии шин), прошивку для встроенного в SoC проца, а так же архитектурно-системный уровень соединения всего это воедино (взаимодействие аппаратуры и программы, адреса, прерывания, потоки данных и тд). При этом связи тут идут все ко всем, т.е. скрытая сложность и трудоёмкость не в 5 раз выше, а в 25 раз выше.

Т.е. вместо того чтоб выбрать из каталога подходящий двигатель. шасси, кузов и подвеску, мы берём в руки геологическую карту, лопату и идём копать руду… ну да, сама поршневая с впуском нам дана заранее и хотябы с циклами термодинамики и газораспределением у нас проблем не будет.

А так же надо решать такие интересные вопросы как тестирования собранных плат на производстве, защиты от копирования, пайки уже BGA и причём установки компонентов с двух сторон. Про верификацию (а она самая трудоёмкая часть во всём что связано с плис) я вообще тихо в подушку проплачу.

Вывод:
Для таких малых фирм как мы где есть пара программистов и пара схемотехников фирм, SoC — это крайняя мера и поэтому интересно узнать кто ими занимается для массового выпуска, а не штучное разовое для измерений и отладки. (в третьем камменте пишу это, пожалуйста хотя-бы раз прочтите что именно я спрашиваю, минусовать все рады). Поэтому я написал «колхозить», что такими малыми людскими ресурсами мы не сможем полноценную SoC сделать с верификацией.

Но я всеми руками за преподавания SoC, и даже за обязательность преподавания SoC микроконтроллерщикам: только это даёт понимание работы переферии МК на уровне эксперта и понимания почему падает скорость в неочевидных местах, как настраивать шины и как подключать к МК разную переферию и часто нестандартую. Почему именно так переферию нада настраивать и тд и тп. Без знаний SoC сложно вырасти в истинного эксперта-микроконтроллерщика который может с помощью пары аппаратных хитростей и немного CPLD творить чудеса на baremetal такие в какие не смогли люди на запилить мощной малине.
Согласитесь, что меряете узко — по себе. Примеры приводите свои частные, порядком морально устаревшие. Интерфейсы плавно перетекают из параллельных в последовательные, с мегагерц в гигагерцы, и Ваши решения «на коленке» да «на россыпи» не сегодня так завтра устареют — это неизбежно. К примеру, гигабитный эсернет наверное можно на 4-х слойке развести, но с плейнами земли/питания все же понадежней будет. А если BGA корпуса надо ставить? Платы с 4-6 слоями тоже потихоньку уходят в прошлое.
Нужен ли FPGA/CPLD? Однозначно нужен, хотя бы для защиты разработки от копирования. Нужен ли SoC в FPGA? Все зависит от стоимости ядер — в РФ большинство разработчков пользуется ворованным софтом, и ядра им ничего не стоят. А вот если платить — тогда разработка на дискретных элементах пожалуй дешевле выйдет, чем все в FPGA интегрировать. Многое, конечно, зависит от размера платы — SoC в FPGA будет сильно компактнее. Но, соглашусь с Вами -писать прошивку для FPGA и МК это не то же самое что писать прошивку только для МК. Учитывая статический временной анализ и прочую атрибутику разработки для современных FPGA, нижняя планка квалификации персонала только повышается. И наконец, нужен ли МИПС в SoC? Учитывая долю рынка, занимаемую этой архитектурой — пожалуй что не нужен, рядовым разработчикам уж точно. Нужно ли учить студентов этому? Думаю что нужно, поскольку уровень преподавания электроники в стране, которая отстала по этой самой электронике лет на 10-15 (по разным оценкам), вероятно что тоже отстает лет на 10-15 от мирового уровня. Т.е. как бы выбирать не из чего — если знания предлагают, надо брать, а не вилять хвостом.
переделаю вопрос на проблемы не технического плана:
1. Кто купит плату или изделие уже не за 10к а за 30к у нас в России?
2. Где найти спецов которые сумеют развести DDR2 без скрытых косяков, верификаторов и ещё разрабов ПЛИС? (просто плисоводов годами ищут и закидывают тупыми вакансиями всех всподряд включая меня, это москвичи, но есть же остальная Россия)
3. Где найти инвестиции и столько времени на разработку на SoC?

Откуда на SoC взять ресурсы: деньги, время, люди?
И как и чем их окупить тем-более когда разница в разы?

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

«Примеры приводите свои частные, порядком морально устаревшие.» — хех мне без разницы: они до сих пор производятся и продаются, и приносят мне долю с маржи, и продажи особо и не падают, может я не зря позаморачивался с их себестоимостью?
Вы понимаете, что если в МК кроме ядра есть еще хотя бы один UART, то это уже SoC?
Вопрос наверное следовало бы поставить по другому — где сейчас используются FPGA со встроенным процессором? И на это ответить действительно сложно — пожалуй что и нигде. Но такие FPGA только-только появились (с АРМами и МИПСами), поэтому делать подобные оценки сейчас — преждевременно.
«Вопрос наверное следовало бы поставить по другому — где сейчас используются FPGA со встроенным процессором? И на это ответить действительно сложно — пожалуй что и нигде.»
да, полностью согласен что имел ввиду FPGA с софткоре процессорами. И именно про это говорил что именно что почти нигде (за редкими и очень дорогими исключениями типа 10-40 гигабитных умных роутеров и HFT финтехе).

«Но такие FPGA только-только появились»
Но появились они давно вообще-то — я их начал ковырять и пробовать лет восемь назад на базе кортекса М1.
FPGA с софткоре процессорами — это способ учить будущих проектировщиков ASIC-ов. Все чипы ASIC в таких гаджетах как Apple iPhone или там российский процессор Бакал-Т проектируются в виде SoC с soft-core, on-chip buses и т.д.
***Нужно ли учить студентов этому?***
Зачем учить тому, что, как только что выяснили, в реальной практике практически никогда не нужно? Не лучше ли это время потратить на более полезные курсы?
Также с позиции производителя, зачем тратить деньги на разработку экстремально сложных продуктов, если за то же время можно сделать 10 более простых продуктов, которые дадут больше прибыли?
*** Зачем учить тому, что, как только что выяснили, в реальной практике практически никогда не нужно? ***

Я не понимаю. Все чипы в таких гаджетах как Apple iPhone или там российский процессор Бакал-Т проектируются в виде SoC с soft-core, on-chip buses и т.д. Вы что, считаете, что эти SoC на деревьях ростут и что нет людей, которые их проектируют, или эти люди выучили все сами?
Юрий, слежу за вашей активной деятельностью в сфере образования и хочу выразить свое уважение. Не понимаю негодования многих комментаторов выше. По-моему, никогда не бывает слишком много хорошего матерьяла по слишком большому количеству архитектур. Прекрасно, когда есть различные платформы и море детальной информации про каждую из них. Печально, когда все стремится к унифицированному решению для всех задач. И еще печальней, когда юные разработчики ратуют за такое однообразие.
YuriPanchul, даты курса в Алматы зафиксированы? Мне нужно знать, потому как надо брать отгул на работе. Если даты зафиксированы, готов записаться.
Да, даты зафиксированы, авиабилеты куплены
---Темы какой части планируемой программы вас интересуют?

А какой курс читает красивая девушка с платами в руках?
Существуют ли курсы от MIPS с выдачей сертификата по завершении курса?
Этот курс официально одобрен MIPS business unit of Imagination Technologies — есть письмо за подписью Robert Owen, Worldwide manager of University Program. Мы планирует cертификат о прослушивании курса.

Кроме данного семинара есть и курсы для коммерческих лицензиатов ядер MIPS, но они гораздо дороже (коммерческий training).
А есть дистанционные курсы, типа курсеры?
Есть какие-то видео курсы. Я завтра спрошу у группы в офисе, которая ведет коммерческий training
Sign up to leave a comment.

Articles