Профессиональное развитие в Embedded Engineering

User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

В мире Биг Даты и AI/ML, простым embedded инженерам бывает очень одиноко. Есть тут кто ещё из этой области?

Хочу начать пользоваться бенефитом на обучение, интересно какие есть хорошие конференции/тренинги которые если уж не мастхев, то очень желательно посетить хоть раз?

Интересует совсем low level (C, assembly), как на уровне whole system, так и точечные вещи (мое основное направление преимущественно USB, PCIe, HID... но если жизнь заставляет, могу в чем угодно разобраться).

Куда пойти, кому отдаться? :%)
DropAndDrag
Уже с Приветом
Posts: 6019
Joined: 11 Mar 2011 05:36

Re: Профессиональное развитие в Embedded Engineering

Post by DropAndDrag »

купите Arduino за 10-20 баксов и балуйтесь. язык типа С. есть фрейворк для разработки, но очень дохлый. подтащил microsoft visual studio, но так звезды и не сложились - только редактировал, но не загружал. в общем не люблю это дело.
а какие у вас цели-то?
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

DropAndDrag wrote: 14 Mar 2021 05:40 купите Arduino за 10-20 баксов и балуйтесь. язык типа С. есть фрейворк для разработки, но очень дохлый. подтащил microsoft visual studio, но так звезды и не сложились - только редактировал, но не загружал. в общем не люблю это дело.
а какие у вас цели-то?
Ковырять котнтролер ночью под одеялом это святое дело (у меня Cortex M7), хочется ещё и больше, да и и с людьми новыми познакомиться, а то у меня даже в Гугле все ответы вылезают от коллег... Даже поговорить не с кем, ыыы

Цель - мне очень нравиться то, чем я занимаюсь, я хочу изучать глубже (сейчас вот полезла в Platform initialization, boot loaders) ну И не хочу надолго засиживаться в Синьорах :oops:
DropAndDrag
Уже с Приветом
Posts: 6019
Joined: 11 Mar 2011 05:36

Re: Профессиональное развитие в Embedded Engineering

Post by DropAndDrag »

Херовимчик wrote: 14 Mar 2021 06:29
DropAndDrag wrote: 14 Mar 2021 05:40 купите Arduino за 10-20 баксов и балуйтесь. язык типа С. есть фрейворк для разработки, но очень дохлый. подтащил microsoft visual studio, но так звезды и не сложились - только редактировал, но не загружал. в общем не люблю это дело.
а какие у вас цели-то?
Ковырять котнтролер ночью под одеялом это святое дело (у меня Cortex M7), хочется ещё и больше, да и и с людьми новыми познакомиться, а то у меня даже в Гугле все ответы вылезают от коллег... Даже поговорить не с кем, ыыы

Цель - мне очень нравиться то, чем я занимаюсь, я хочу изучать глубже (сейчас вот полезла в Platform initialization, boot loaders) ну И не хочу надолго засиживаться в Синьорах :oops:
По работе делаю единичные системы, так что дешевле использовать обычный комп, с хорошим framework, у которого унифицированная и хорошая библиотека на кучу разных приборов, и большой выбор этих приборов. разработка стоит в 10-ки раз дороже, чем оборудование. Так же редко бывают ограничения по питанию, по весу или по объему, так что пришлось всего сделать несколько устройств на Arduino и Raspberry Pi (у него Cortex M7). кстати и поддерживать приборы сложнее.
недавно у прибора было много ограничений, но все равно ужали, что могли, но использовали UDOO X86 computer board, размером в 2 Arduino Leonardo - половину занимал комп, а половину Arduino Leonardo. а сейчас переделываю устройство с Arduino Due на этот же UDOO X86 - простая графика медленная даже с небольшим дисплеем, да и замучаешься программировать.
так что с меня проку мало )))
Last edited by DropAndDrag on 15 Mar 2021 01:43, edited 1 time in total.
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

DropAndDrag wrote: 14 Mar 2021 22:41
так что с меня проку мало )))
Ну не прибедняйтесь, клёво же! А какого конечная задача контролера?
Я пока свой мучаю исключительного с целью понять Arm архитектуру и ассемблера. По сути латаю дыры в базовых вещах.
А дальше у меня как-то и идей даже нет...
Тут вот наткнулась что MicroPython имеет поддержку Thumb2, можно для расширения кругозора попробовать сделать поддержку для полноценных ARM инструкций.

Я восхищаюсь полетом фантазии наших Стафф и принципалов, они такую неведомую херню придумывают, что дух захватывает, тоже так хочу ))
User avatar
MacArrow
Уже с Приветом
Posts: 343
Joined: 25 Jul 2005 04:47
Location: Десногорск-Москва-SFBA-Toronto-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by MacArrow »

Ну не знаю, на мой взгляд в embedded области есть столько всего, что жизни не хватит все изучить.
Мой любимый пример тут таков: где-то в конце 70х, начале 80х один человек примерно за год мог нарисовать схему компьютера, развести и распаять плату, написать минимальный загрузчик/монитор, написать для этого свою игрушку и наслаждаться этим. В современных реалиях обычный загрузчик 2-3 уровня может потребовать несколько человеко-лет, если писать с нуля.
А куда смотреть - если специализация PCI-E, USB, то можно поизучать современные шины дальше, взяв как пример AXI/AHB/что-то, что больше всего нравится. Тут можно плавно переползти на изучение модели памяти, выяснить зачем нужна и как работает виртуальная память, параллельно уяснив для себя, что если бы не хипстеры, то SPECTRE and MELTDOWN были бы до сих пор невозможны, посмотреть как устроена виртуализация в целом и виртуализация оборудования.
С точки зрения системы, можно поизучать процесс загрузки: откуда берутся уровни загрузчиков, что, где и в какой момент инициализируется, кто кого и зачем загружает итп
Если хочется в архитектуру процессоров, то можно почитать спеку/какой-нть курс на/по RISC V, попутно пытаясь понять почему таким странным на первый взгляд образом формируются опкоды, от чего зависит производительность процессора и как ее ускорить, попутно выяснив назначение конвеера, его плюсы и минусы и требования/ограничения на программирование.
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

MacArrow wrote: 15 Mar 2021 00:27 Ну не знаю, на мой взгляд в embedded области есть столько всего, что жизни не хватит все изучить.
Мой любимый пример тут таков: где-то в конце 70х, начале 80х один человек примерно за год мог нарисовать схему компьютера, развести и распаять плату, написать минимальный загрузчик/монитор, написать для этого свою игрушку и наслаждаться этим. В современных реалиях обычный загрузчик 2-3 уровня может потребовать несколько человеко-лет, если писать с нуля.
А куда смотреть - если специализация PCI-E, USB, то можно поизучать современные шины дальше, взяв как пример AXI/AHB/что-то, что больше всего нравится. Тут можно плавно переползти на изучение модели памяти, выяснить зачем нужна и как работает виртуальная память, параллельно уяснив для себя, что если бы не хипстеры, то SPECTRE and MELTDOWN были бы до сих пор невозможны, посмотреть как устроена виртуализация в целом и виртуализация оборудования.
С точки зрения системы, можно поизучать процесс загрузки: откуда берутся уровни загрузчиков, что, где и в какой момент инициализируется, кто кого и зачем загружает итп
Если хочется в архитектуру процессоров, то можно почитать спеку/какой-нть курс на/по RISC V, попутно пытаясь понять почему таким странным на первый взгляд образом формируются опкоды, от чего зависит производительность процессора и как ее ускорить, попутно выяснив назначение конвеера, его плюсы и минусы и требования/ограничения на программирование.
Вот, вот! Я интересуюсь какие в этой области полезные тренинги/конференции есть-то (работа оплачивает).

(А AXI/AHB мои лучшие друзья при bringup CIO. И устройство памяти я как раз сейчас разбираю в рамках ухода от 1-1 memory map для повышения производительности и сокращения времени загрузки)
DropAndDrag
Уже с Приветом
Posts: 6019
Joined: 11 Mar 2011 05:36

Re: Профессиональное развитие в Embedded Engineering

Post by DropAndDrag »

когда-то мне тоже было любопытно как это так народ код для одного процессора переделывает в другой. но реально нужно работать в специфической области, чтобы это было разумно делать.
по мне разумность всех этим штучек начинается если будет продано тысячи устройств с ним, ну и разработчику уже собаку съели.
кстати, коллега сделал небольшую штучку на arduino. так вот потратил кучу времени на то, что устройство на последовательном порте не работало. выяснил, что последовательный порт запараллелен с последовательным портом, который используется для связи с компьютером
если не сложно можете на какую-нибудь книжку ткнуть, чтобы можно было pdf закачать и посмотреть.
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

DropAndDrag wrote: 15 Mar 2021 01:49 кстати, коллега сделал небольшую штучку на arduino. так вот потратил кучу времени на то, что устройство на последовательном порте не работало. выяснил, что последовательный порт запараллелен с последовательным портом, который используется для связи с компьютером
если не сложно можете на какую-нибудь книжку ткнуть, чтобы можно было pdf закачать и посмотреть.
С такой формулировкой могу предложить начать со спеков на конкретный микроконтроллер. Какой именно ардуино? Один из банальных вариантов, использовать jtag (потратиться на специальный кабель) для бутлоадера и остальных коммуникациий с компом, и соответственно использовать порт для чего хотите.
Ну и все что касается основных шин - UART, SPI, SMB, I2C
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Профессиональное развитие в Embedded Engineering

Post by valchkou »

прочитав переписку, возникло ощущение, что я попал в мумидол
User avatar
Komissar
Уже с Приветом
Posts: 64875
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Профессиональное развитие в Embedded Engineering

Post by Komissar »

valchkou wrote: 15 Mar 2021 06:10 прочитав переписку, возникло ощущение, что я попал в мумидол
мумидол - это куда уходят умирать мумми-тролли?
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

Komissar wrote: 15 Mar 2021 07:47
valchkou wrote: 15 Mar 2021 06:10 прочитав переписку, возникло ощущение, что я попал в мумидол
мумидол - это куда уходят умирать мумми-тролли?
Чего сразу умирать-то? Они там прекрасно живут и радуются жизни!
User avatar
Amirko
Уже с Приветом
Posts: 5199
Joined: 08 Jul 2002 09:36
Location: В глухой провинции, у моря...

Re: Профессиональное развитие в Embedded Engineering

Post by Amirko »

imo саморазвитие должно быть project-driven. То есть например есть работа или хобби, задача, и её надо и хочется решить. Иначе у меня не оно работает.Просто изучать у меня не получается совсем. Вот сейчас прямо делаю-повторяю некий проект на ардуино для своего радиолюбительства и много "нового и верного" узнаю по дороге. Так и вам советую делать то, что интересно. Например, есть команды разрабатывающие cubesats, их несколько.
https://en.wikipedia.org/wiki/ArduSat
И т п.
Cheers,
Amirko
User avatar
Vladimir Kr.
Уже с Приветом
Posts: 541
Joined: 24 Mar 2004 07:31
Location: Krasnoyrsk -> -> Chicago

Re: Профессиональное развитие в Embedded Engineering

Post by Vladimir Kr. »

https://github.com/solokeys/solo
при цене чипа в $5, заряжают $20-80,
...вот и думаешь, а не взяться ли самому за паяльник
моя родина СССР!
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

Amirko wrote: 15 Mar 2021 19:43 imo саморазвитие должно быть project-driven. То есть например есть работа или хобби, задача, и её надо и хочется решить. Иначе у меня не оно работает.Просто изучать у меня не получается совсем. Вот сейчас прямо делаю-повторяю некий проект на ардуино для своего радиолюбительства и много "нового и верного" узнаю по дороге. Так и вам советую делать то, что интересно. Например, есть команды разрабатывающие cubesats, их несколько.
https://en.wikipedia.org/wiki/ArduSat
И т п.
Согласна, project based заходит лучше всего. Меня поэтому и понесло написать MMU на ассемблере, потому что сразу закроются дыры в: 1) архитектуре ARM; 2) азы ассемблера; 3) понимания устройства и работы памяти
User avatar
mikeG
Уже с Приветом
Posts: 8485
Joined: 02 Aug 2003 01:32
Location: SPb->SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by mikeG »

Я перешел из embedded в whole stack, потому что за ассемблер никто не хотел 400K платить.
А на ассемблере пишу в качестве хобби для железяк, которые сам паяю.
Вот такое вот профессиональное развитие...
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

mikeG wrote: 16 Mar 2021 03:29 Я перешел из embedded в whole stack, потому что за ассемблер никто не хотел 400K платить.
А на ассемблере пишу в качестве хобби для железяк, которые сам паяю.
Вот такое вот профессиональное развитие...
Ну мы пишем все же на С, а ассемблер полезен при отладке, когда упало где-то совсем рано. Ну и у нас вполне платят 400К+
Но в любом случае, я здесь не для денег, для оплаты счетов у меня муж есть ))
User avatar
mikeG
Уже с Приветом
Posts: 8485
Joined: 02 Aug 2003 01:32
Location: SPb->SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by mikeG »

Херовимчик wrote: 16 Mar 2021 03:34 для оплаты счетов у меня муж есть ))
Да, я давно чувствую, что нужно что-то в жизни менять... :D
DropAndDrag
Уже с Приветом
Posts: 6019
Joined: 11 Mar 2011 05:36

Re: Профессиональное развитие в Embedded Engineering

Post by DropAndDrag »

Amirko wrote: 15 Mar 2021 19:43 imo саморазвитие должно быть project-driven. То есть например есть работа или хобби, задача, и её надо и хочется решить. Иначе у меня не оно работает.Просто изучать у меня не получается совсем. Вот сейчас прямо делаю-повторяю некий проект на ардуино для своего радиолюбительства и много "нового и верного" узнаю по дороге. Так и вам советую делать то, что интересно. Например, есть команды разрабатывающие cubesats, их несколько.
https://en.wikipedia.org/wiki/ArduSat
И т п.
может сам 500 кубоящик и интересен для пользователей, но с точки зрения разработки на Arduino ничего необычного не проглядывается. или я что-то упустил?
DropAndDrag
Уже с Приветом
Posts: 6019
Joined: 11 Mar 2011 05:36

Re: Профессиональное развитие в Embedded Engineering

Post by DropAndDrag »

Херовимчик wrote: 15 Mar 2021 20:48
Amirko wrote: 15 Mar 2021 19:43 imo саморазвитие должно быть project-driven. То есть например есть работа или хобби, задача, и её надо и хочется решить. Иначе у меня не оно работает.Просто изучать у меня не получается совсем. Вот сейчас прямо делаю-повторяю некий проект на ардуино для своего радиолюбительства и много "нового и верного" узнаю по дороге. Так и вам советую делать то, что интересно. Например, есть команды разрабатывающие cubesats, их несколько.
https://en.wikipedia.org/wiki/ArduSat
И т п.
Согласна, project based заходит лучше всего. Меня поэтому и понесло написать MMU на ассемблере, потому что сразу закроются дыры в: 1) архитектуре ARM; 2) азы ассемблера; 3) понимания устройства и работы памяти
наверное опять что-то не понимаю. а разве можно в готовое Arduino запихнуть MMU?
я не смотрел от слова совсем за счет чего программист получает блок инициализации, главный цикл и прерывания. наверное что-то типа OS туда запихнуто. то есть вы собираетесь в нее добавить MMU?
а потом, вроде бы в 10-20$ Arduino памяти 16-32 кб. на такой памяти имеет смысл сделать MMU?
...
пипец, действительно Arduino C поддерживает new и malloc. вообще-то смысла нет, так как правильный подход - это как правило игры в мизер в преферансе - отжор своих залог успеха! так и при работе с оборудованием, а тем более real-time все что нужно забирается при инициализации!
DropAndDrag
Уже с Приветом
Posts: 6019
Joined: 11 Mar 2011 05:36

Re: Профессиональное развитие в Embedded Engineering

Post by DropAndDrag »

Херовимчик wrote: 15 Mar 2021 02:36
DropAndDrag wrote: 15 Mar 2021 01:49 кстати, коллега сделал небольшую штучку на arduino. так вот потратил кучу времени на то, что устройство на последовательном порте не работало. выяснил, что последовательный порт запараллелен с последовательным портом, который используется для связи с компьютером
если не сложно можете на какую-нибудь книжку ткнуть, чтобы можно было pdf закачать и посмотреть.
С такой формулировкой могу предложить начать со спеков на конкретный микроконтроллер. Какой именно ардуино? Один из банальных вариантов, использовать jtag (потратиться на специальный кабель) для бутлоадера и остальных коммуникациий с компом, и соответственно использовать порт для чего хотите.
Ну и все что касается основных шин - UART, SPI, SMB, I2C
глянул на jtag - ни фига не понял что к чему, только ошметки - типа при тестировании использовать можно.
посмотрю в выходные. спасибо!
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

DropAndDrag wrote: 16 Mar 2021 05:53 наверное опять что-то не понимаю. а разве можно в готовое Arduino запихнуть MMU?
я не смотрел от слова совсем за счет чего программист получает блок инициализации, главный цикл и прерывания. наверное что-то типа OS туда запихнуто. то есть вы собираетесь в нее добавить MMU?
а потом, вроде бы в 10-20$ Arduino памяти 16-32 кб. на такой памяти имеет смысл сделать MMU?
У меня не Arduino, я играюсь с STM-им контроллером. Никакой OS там и в помине нет, все ручкам, все сам-сам.
Ну и вопрос стоит не в необходимости самого MMU, а разобраться как это устроено.

К слову, можно взять UEFI и вдумчиво ковырять и модифицировать драйвера и библиотечки самого Edk2.
глянул на jtag - ни фига не понял что к чему, только ошметки
Упс, май бэд (с) Похоже у Ардуино особо не развито это дело. На STM, BeagleBone, и вроде на каких-то разновидностях Pi есть отдельный порт с поддержкой jtag. Обычно все забивают на него потому что нужен специальный кабель, и переводят плату в режим позволяющий пользоваться обычным micro USB. И если на плате всего один порт, и лень возиться и разбираться как оно все работает, можно переключить обратно jtag :umnik1:
DropAndDrag
Уже с Приветом
Posts: 6019
Joined: 11 Mar 2011 05:36

Re: Профессиональное развитие в Embedded Engineering

Post by DropAndDrag »

Херовимчик wrote: 16 Mar 2021 06:30 К слову, можно взять UEFI и вдумчиво ковырять и модифицировать драйвера и библиотечки самого Edk2.
DropAndDrag wrote: 16 Mar 2021 05:53 глянул на jtag - ни фига не понял что к чему, только ошметки
Упс, май бэд (с) Похоже у Ардуино особо не развито это дело. На STM, BeagleBone, и вроде на каких-то разновидностях Pi есть отдельный порт с поддержкой jtag. Обычно все забивают на него потому что нужен специальный кабель, и переводят плату в режим позволяющий пользоваться обычным micro USB. И если на плате всего один порт, и лень возиться и разбираться как оно все работает, можно переключить обратно jtag :umnik1:
UEFI - это тип загрузки? долго матерился когда встретил эту хрень в BIOS. неужели нельзя было сделать полюдски, а не заставлять приличных людей разбираться в каждом писке ITшиных сумашедших гиков.
jtag меня заинтересовал, что он поддерживаться в NI LabVIEW, наверное вернее в NI devices. надо бы глянуть, а то иногда бывают сложности отлаживать на реальном оборудовании. например, на этой недели в нашей лабе пропал сжатый газ и было нельзя закончить отладку.
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

UEFI это современный BIOS, там можно в shell загрузиться и развлекаться. В Edk2 есть весь необходимый набор драйверов чтобы практически на любой железке запустить с минимальным допиливанием напильником.
Там есть своя специфика, но в целом разобраться можно и интересно
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Профессиональное развитие в Embedded Engineering

Post by Херовимчик »

Отвечу сама же на свой вопрос:

Курсы в области embedded: https://barrgroup.com/course-catalog

А ещё у них очень интересные статьи по теме!

Return to “Работа и Карьера в IT”