Профессиональное развитие в Embedded Engineering
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Профессиональное развитие в Embedded Engineering
В мире Биг Даты и AI/ML, простым embedded инженерам бывает очень одиноко. Есть тут кто ещё из этой области?
Хочу начать пользоваться бенефитом на обучение, интересно какие есть хорошие конференции/тренинги которые если уж не мастхев, то очень желательно посетить хоть раз?
Интересует совсем low level (C, assembly), как на уровне whole system, так и точечные вещи (мое основное направление преимущественно USB, PCIe, HID... но если жизнь заставляет, могу в чем угодно разобраться).
Куда пойти, кому отдаться?
Хочу начать пользоваться бенефитом на обучение, интересно какие есть хорошие конференции/тренинги которые если уж не мастхев, то очень желательно посетить хоть раз?
Интересует совсем low level (C, assembly), как на уровне whole system, так и точечные вещи (мое основное направление преимущественно USB, PCIe, HID... но если жизнь заставляет, могу в чем угодно разобраться).
Куда пойти, кому отдаться?
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: Профессиональное развитие в Embedded Engineering
купите Arduino за 10-20 баксов и балуйтесь. язык типа С. есть фрейворк для разработки, но очень дохлый. подтащил microsoft visual studio, но так звезды и не сложились - только редактировал, но не загружал. в общем не люблю это дело.
а какие у вас цели-то?
а какие у вас цели-то?
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
Ковырять котнтролер ночью под одеялом это святое дело (у меня Cortex M7), хочется ещё и больше, да и и с людьми новыми познакомиться, а то у меня даже в Гугле все ответы вылезают от коллег... Даже поговорить не с кем, ыыыDropAndDrag wrote: ↑14 Mar 2021 05:40 купите Arduino за 10-20 баксов и балуйтесь. язык типа С. есть фрейворк для разработки, но очень дохлый. подтащил microsoft visual studio, но так звезды и не сложились - только редактировал, но не загружал. в общем не люблю это дело.
а какие у вас цели-то?
Цель - мне очень нравиться то, чем я занимаюсь, я хочу изучать глубже (сейчас вот полезла в Platform initialization, boot loaders) ну И не хочу надолго засиживаться в Синьорах
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: Профессиональное развитие в Embedded Engineering
По работе делаю единичные системы, так что дешевле использовать обычный комп, с хорошим framework, у которого унифицированная и хорошая библиотека на кучу разных приборов, и большой выбор этих приборов. разработка стоит в 10-ки раз дороже, чем оборудование. Так же редко бывают ограничения по питанию, по весу или по объему, так что пришлось всего сделать несколько устройств на Arduino и Raspberry Pi (у него Cortex M7). кстати и поддерживать приборы сложнее.Херовимчик wrote: ↑14 Mar 2021 06:29Ковырять котнтролер ночью под одеялом это святое дело (у меня Cortex M7), хочется ещё и больше, да и и с людьми новыми познакомиться, а то у меня даже в Гугле все ответы вылезают от коллег... Даже поговорить не с кем, ыыыDropAndDrag wrote: ↑14 Mar 2021 05:40 купите Arduino за 10-20 баксов и балуйтесь. язык типа С. есть фрейворк для разработки, но очень дохлый. подтащил microsoft visual studio, но так звезды и не сложились - только редактировал, но не загружал. в общем не люблю это дело.
а какие у вас цели-то?
Цель - мне очень нравиться то, чем я занимаюсь, я хочу изучать глубже (сейчас вот полезла в Platform initialization, boot loaders) ну И не хочу надолго засиживаться в Синьорах
недавно у прибора было много ограничений, но все равно ужали, что могли, но использовали 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.
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
Ну не прибедняйтесь, клёво же! А какого конечная задача контролера?
Я пока свой мучаю исключительного с целью понять Arm архитектуру и ассемблера. По сути латаю дыры в базовых вещах.
А дальше у меня как-то и идей даже нет...
Тут вот наткнулась что MicroPython имеет поддержку Thumb2, можно для расширения кругозора попробовать сделать поддержку для полноценных ARM инструкций.
Я восхищаюсь полетом фантазии наших Стафф и принципалов, они такую неведомую херню придумывают, что дух захватывает, тоже так хочу ))
-
- Уже с Приветом
- Posts: 343
- Joined: 25 Jul 2005 04:47
- Location: Десногорск-Москва-SFBA-Toronto-SFBA
Re: Профессиональное развитие в Embedded Engineering
Ну не знаю, на мой взгляд в embedded области есть столько всего, что жизни не хватит все изучить.
Мой любимый пример тут таков: где-то в конце 70х, начале 80х один человек примерно за год мог нарисовать схему компьютера, развести и распаять плату, написать минимальный загрузчик/монитор, написать для этого свою игрушку и наслаждаться этим. В современных реалиях обычный загрузчик 2-3 уровня может потребовать несколько человеко-лет, если писать с нуля.
А куда смотреть - если специализация PCI-E, USB, то можно поизучать современные шины дальше, взяв как пример AXI/AHB/что-то, что больше всего нравится. Тут можно плавно переползти на изучение модели памяти, выяснить зачем нужна и как работает виртуальная память, параллельно уяснив для себя, что если бы не хипстеры, то SPECTRE and MELTDOWN были бы до сих пор невозможны, посмотреть как устроена виртуализация в целом и виртуализация оборудования.
С точки зрения системы, можно поизучать процесс загрузки: откуда берутся уровни загрузчиков, что, где и в какой момент инициализируется, кто кого и зачем загружает итп
Если хочется в архитектуру процессоров, то можно почитать спеку/какой-нть курс на/по RISC V, попутно пытаясь понять почему таким странным на первый взгляд образом формируются опкоды, от чего зависит производительность процессора и как ее ускорить, попутно выяснив назначение конвеера, его плюсы и минусы и требования/ограничения на программирование.
Мой любимый пример тут таков: где-то в конце 70х, начале 80х один человек примерно за год мог нарисовать схему компьютера, развести и распаять плату, написать минимальный загрузчик/монитор, написать для этого свою игрушку и наслаждаться этим. В современных реалиях обычный загрузчик 2-3 уровня может потребовать несколько человеко-лет, если писать с нуля.
А куда смотреть - если специализация PCI-E, USB, то можно поизучать современные шины дальше, взяв как пример AXI/AHB/что-то, что больше всего нравится. Тут можно плавно переползти на изучение модели памяти, выяснить зачем нужна и как работает виртуальная память, параллельно уяснив для себя, что если бы не хипстеры, то SPECTRE and MELTDOWN были бы до сих пор невозможны, посмотреть как устроена виртуализация в целом и виртуализация оборудования.
С точки зрения системы, можно поизучать процесс загрузки: откуда берутся уровни загрузчиков, что, где и в какой момент инициализируется, кто кого и зачем загружает итп
Если хочется в архитектуру процессоров, то можно почитать спеку/какой-нть курс на/по RISC V, попутно пытаясь понять почему таким странным на первый взгляд образом формируются опкоды, от чего зависит производительность процессора и как ее ускорить, попутно выяснив назначение конвеера, его плюсы и минусы и требования/ограничения на программирование.
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
Вот, вот! Я интересуюсь какие в этой области полезные тренинги/конференции есть-то (работа оплачивает).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 для повышения производительности и сокращения времени загрузки)
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: Профессиональное развитие в Embedded Engineering
когда-то мне тоже было любопытно как это так народ код для одного процессора переделывает в другой. но реально нужно работать в специфической области, чтобы это было разумно делать.
по мне разумность всех этим штучек начинается если будет продано тысячи устройств с ним, ну и разработчику уже собаку съели.
кстати, коллега сделал небольшую штучку на arduino. так вот потратил кучу времени на то, что устройство на последовательном порте не работало. выяснил, что последовательный порт запараллелен с последовательным портом, который используется для связи с компьютером
если не сложно можете на какую-нибудь книжку ткнуть, чтобы можно было pdf закачать и посмотреть.
по мне разумность всех этим штучек начинается если будет продано тысячи устройств с ним, ну и разработчику уже собаку съели.
кстати, коллега сделал небольшую штучку на arduino. так вот потратил кучу времени на то, что устройство на последовательном порте не работало. выяснил, что последовательный порт запараллелен с последовательным портом, который используется для связи с компьютером
если не сложно можете на какую-нибудь книжку ткнуть, чтобы можно было pdf закачать и посмотреть.
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
С такой формулировкой могу предложить начать со спеков на конкретный микроконтроллер. Какой именно ардуино? Один из банальных вариантов, использовать jtag (потратиться на специальный кабель) для бутлоадера и остальных коммуникациий с компом, и соответственно использовать порт для чего хотите.DropAndDrag wrote: ↑15 Mar 2021 01:49 кстати, коллега сделал небольшую штучку на arduino. так вот потратил кучу времени на то, что устройство на последовательном порте не работало. выяснил, что последовательный порт запараллелен с последовательным портом, который используется для связи с компьютером
если не сложно можете на какую-нибудь книжку ткнуть, чтобы можно было pdf закачать и посмотреть.
Ну и все что касается основных шин - UART, SPI, SMB, I2C
-
- Уже с Приветом
- Posts: 4185
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Профессиональное развитие в Embedded Engineering
прочитав переписку, возникло ощущение, что я попал в мумидол
-
- Уже с Приветом
- Posts: 64661
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
-
- Уже с Приветом
- Posts: 5192
- Joined: 08 Jul 2002 09:36
- Location: В глухой провинции, у моря...
Re: Профессиональное развитие в Embedded Engineering
imo саморазвитие должно быть project-driven. То есть например есть работа или хобби, задача, и её надо и хочется решить. Иначе у меня не оно работает.Просто изучать у меня не получается совсем. Вот сейчас прямо делаю-повторяю некий проект на ардуино для своего радиолюбительства и много "нового и верного" узнаю по дороге. Так и вам советую делать то, что интересно. Например, есть команды разрабатывающие cubesats, их несколько.
https://en.wikipedia.org/wiki/ArduSat
И т п.
https://en.wikipedia.org/wiki/ArduSat
И т п.
Cheers,
Amirko
Amirko
-
- Уже с Приветом
- Posts: 539
- Joined: 24 Mar 2004 07:31
- Location: Krasnoyrsk -> -> Chicago
Re: Профессиональное развитие в Embedded Engineering
https://github.com/solokeys/solo
при цене чипа в $5, заряжают $20-80,
...вот и думаешь, а не взяться ли самому за паяльник
при цене чипа в $5, заряжают $20-80,
...вот и думаешь, а не взяться ли самому за паяльник
моя родина СССР!
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
Согласна, project based заходит лучше всего. Меня поэтому и понесло написать MMU на ассемблере, потому что сразу закроются дыры в: 1) архитектуре ARM; 2) азы ассемблера; 3) понимания устройства и работы памятиAmirko wrote: ↑15 Mar 2021 19:43 imo саморазвитие должно быть project-driven. То есть например есть работа или хобби, задача, и её надо и хочется решить. Иначе у меня не оно работает.Просто изучать у меня не получается совсем. Вот сейчас прямо делаю-повторяю некий проект на ардуино для своего радиолюбительства и много "нового и верного" узнаю по дороге. Так и вам советую делать то, что интересно. Например, есть команды разрабатывающие cubesats, их несколько.
https://en.wikipedia.org/wiki/ArduSat
И т п.
-
- Уже с Приветом
- Posts: 8470
- Joined: 02 Aug 2003 01:32
- Location: SPb->SFBA
Re: Профессиональное развитие в Embedded Engineering
Я перешел из embedded в whole stack, потому что за ассемблер никто не хотел 400K платить.
А на ассемблере пишу в качестве хобби для железяк, которые сам паяю.
Вот такое вот профессиональное развитие...
А на ассемблере пишу в качестве хобби для железяк, которые сам паяю.
Вот такое вот профессиональное развитие...
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
Ну мы пишем все же на С, а ассемблер полезен при отладке, когда упало где-то совсем рано. Ну и у нас вполне платят 400К+
Но в любом случае, я здесь не для денег, для оплаты счетов у меня муж есть ))
-
- Уже с Приветом
- Posts: 8470
- Joined: 02 Aug 2003 01:32
- Location: SPb->SFBA
Re: Профессиональное развитие в Embedded Engineering
Да, я давно чувствую, что нужно что-то в жизни менять...
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: Профессиональное развитие в Embedded Engineering
может сам 500 кубоящик и интересен для пользователей, но с точки зрения разработки на Arduino ничего необычного не проглядывается. или я что-то упустил?Amirko wrote: ↑15 Mar 2021 19:43 imo саморазвитие должно быть project-driven. То есть например есть работа или хобби, задача, и её надо и хочется решить. Иначе у меня не оно работает.Просто изучать у меня не получается совсем. Вот сейчас прямо делаю-повторяю некий проект на ардуино для своего радиолюбительства и много "нового и верного" узнаю по дороге. Так и вам советую делать то, что интересно. Например, есть команды разрабатывающие cubesats, их несколько.
https://en.wikipedia.org/wiki/ArduSat
И т п.
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: Профессиональное развитие в Embedded Engineering
наверное опять что-то не понимаю. а разве можно в готовое Arduino запихнуть MMU?Херовимчик wrote: ↑15 Mar 2021 20:48Согласна, project based заходит лучше всего. Меня поэтому и понесло написать MMU на ассемблере, потому что сразу закроются дыры в: 1) архитектуре ARM; 2) азы ассемблера; 3) понимания устройства и работы памятиAmirko wrote: ↑15 Mar 2021 19:43 imo саморазвитие должно быть project-driven. То есть например есть работа или хобби, задача, и её надо и хочется решить. Иначе у меня не оно работает.Просто изучать у меня не получается совсем. Вот сейчас прямо делаю-повторяю некий проект на ардуино для своего радиолюбительства и много "нового и верного" узнаю по дороге. Так и вам советую делать то, что интересно. Например, есть команды разрабатывающие cubesats, их несколько.
https://en.wikipedia.org/wiki/ArduSat
И т п.
я не смотрел от слова совсем за счет чего программист получает блок инициализации, главный цикл и прерывания. наверное что-то типа OS туда запихнуто. то есть вы собираетесь в нее добавить MMU?
а потом, вроде бы в 10-20$ Arduino памяти 16-32 кб. на такой памяти имеет смысл сделать MMU?
...
пипец, действительно Arduino C поддерживает new и malloc. вообще-то смысла нет, так как правильный подход - это как правило игры в мизер в преферансе - отжор своих залог успеха! так и при работе с оборудованием, а тем более real-time все что нужно забирается при инициализации!
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: Профессиональное развитие в Embedded Engineering
глянул на jtag - ни фига не понял что к чему, только ошметки - типа при тестировании использовать можно.Херовимчик wrote: ↑15 Mar 2021 02:36С такой формулировкой могу предложить начать со спеков на конкретный микроконтроллер. Какой именно ардуино? Один из банальных вариантов, использовать jtag (потратиться на специальный кабель) для бутлоадера и остальных коммуникациий с компом, и соответственно использовать порт для чего хотите.DropAndDrag wrote: ↑15 Mar 2021 01:49 кстати, коллега сделал небольшую штучку на arduino. так вот потратил кучу времени на то, что устройство на последовательном порте не работало. выяснил, что последовательный порт запараллелен с последовательным портом, который используется для связи с компьютером
если не сложно можете на какую-нибудь книжку ткнуть, чтобы можно было pdf закачать и посмотреть.
Ну и все что касается основных шин - UART, SPI, SMB, I2C
посмотрю в выходные. спасибо!
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
У меня не Arduino, я играюсь с STM-им контроллером. Никакой OS там и в помине нет, все ручкам, все сам-сам.DropAndDrag wrote: ↑16 Mar 2021 05:53 наверное опять что-то не понимаю. а разве можно в готовое Arduino запихнуть MMU?
я не смотрел от слова совсем за счет чего программист получает блок инициализации, главный цикл и прерывания. наверное что-то типа OS туда запихнуто. то есть вы собираетесь в нее добавить MMU?
а потом, вроде бы в 10-20$ Arduino памяти 16-32 кб. на такой памяти имеет смысл сделать MMU?
Ну и вопрос стоит не в необходимости самого MMU, а разобраться как это устроено.
К слову, можно взять UEFI и вдумчиво ковырять и модифицировать драйвера и библиотечки самого Edk2.
Упс, май бэд (с) Похоже у Ардуино особо не развито это дело. На STM, BeagleBone, и вроде на каких-то разновидностях Pi есть отдельный порт с поддержкой jtag. Обычно все забивают на него потому что нужен специальный кабель, и переводят плату в режим позволяющий пользоваться обычным micro USB. И если на плате всего один порт, и лень возиться и разбираться как оно все работает, можно переключить обратно jtagглянул на jtag - ни фига не понял что к чему, только ошметки
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: Профессиональное развитие в Embedded Engineering
UEFI - это тип загрузки? долго матерился когда встретил эту хрень в BIOS. неужели нельзя было сделать полюдски, а не заставлять приличных людей разбираться в каждом писке ITшиных сумашедших гиков.Херовимчик wrote: ↑16 Mar 2021 06:30 К слову, можно взять UEFI и вдумчиво ковырять и модифицировать драйвера и библиотечки самого Edk2.
Упс, май бэд (с) Похоже у Ардуино особо не развито это дело. На STM, BeagleBone, и вроде на каких-то разновидностях Pi есть отдельный порт с поддержкой jtag. Обычно все забивают на него потому что нужен специальный кабель, и переводят плату в режим позволяющий пользоваться обычным micro USB. И если на плате всего один порт, и лень возиться и разбираться как оно все работает, можно переключить обратно jtag
jtag меня заинтересовал, что он поддерживаться в NI LabVIEW, наверное вернее в NI devices. надо бы глянуть, а то иногда бывают сложности отлаживать на реальном оборудовании. например, на этой недели в нашей лабе пропал сжатый газ и было нельзя закончить отладку.
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
UEFI это современный BIOS, там можно в shell загрузиться и развлекаться. В Edk2 есть весь необходимый набор драйверов чтобы практически на любой железке запустить с минимальным допиливанием напильником.
Там есть своя специфика, но в целом разобраться можно и интересно
Там есть своя специфика, но в целом разобраться можно и интересно
-
- Уже с Приветом
- Posts: 5283
- Joined: 27 Sep 2008 21:48
- Location: Moscow-Seattle-SFBA
Re: Профессиональное развитие в Embedded Engineering
Отвечу сама же на свой вопрос:
Курсы в области embedded: https://barrgroup.com/course-catalog
А ещё у них очень интересные статьи по теме!
Курсы в области embedded: https://barrgroup.com/course-catalog
А ещё у них очень интересные статьи по теме!