цифровая электроника
вычислительная техника
встраиваемые системы

 



Python для встраиваемых систем: разновидности и применение

Автор: Mike(admin) от 1-09-2023, 03:55

Скорее всего, если вы программируете встраиваемые устройства (микроконтроллеры, одноплатные компьютеры и т.д.), вы пишете код на языке программирования C/C++. Язык C был первоначально создан в начале 1970-х годов, однако только в 1990-х годах программирование встраиваемых устройств перешло с языка ассемблера на язык C более высокого уровня. В течение следующих тридцати лет C/C++ будет доминировать во встраиваемых приложениях благодаря своей превосходной производительности, как с точки зрения скорости, так и с точки зрения компактности. Сегодня происходит еще один сдвиг с появлением специальных реализаций популярного языка программирования Python.


Python для встраиваемых систем: разновидности и применение

Язык программирования Python впервые появился в 1990-х годах и с тех пор неуклонно набирает популярность среди разработчиков программного обеспечения. Фактически, в 2020 году Python наконец занял первое место в ежегодном опросе популярности языков программирования IEEE Spectrum. Первоначально Python стал популярен среди разработчиков встраиваемых систем как язык сценариев для тестирования электронных устройств. Постепенно он продвигался дальше по стеку разработки. На самом деле существует несколько реализаций Python, причем CPython является эталонной реализацией, широко используемой для настольных приложений. Рассмотрим эти реализации.

Сравнение современных подходов к программированию: искусственный интеллект vs алгоритмы vs машинное обучение

Автор: Mike(admin) от 1-08-2023, 23:55

Слова «искусственный интеллект» (ИИ), «машинное обучение» (МО) и «алгоритм» слишком часто неправильно используются, путаются и понимаются неправильно. Они используются взаимозаменяемо, хотя имеют фиксированное значение. К сожалению, эти значения, если их не понять, могут внести путаницу в быстро развивающуюся область, которая и без того достаточно сложна. В данном материале мы рассмотрим в общем алгоритмы, искусственный интеллект и основы машинного обучения, что они собой представляют, как и где они используются, и почему каждый из них был создан. Мы начнем с алгоритмов, поскольку они составляют основу для ИИ и МО.


Сравнение современных подходов к программированию: искусственный интеллект vs алгоритмы vs машинное обучение

Разновидности систем управления: с обратной связью, с прямой связью, адаптивное управление

Автор: Mike(admin) от 21-06-2023, 03:55

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


Разновидности систем управления: с обратной связью, с прямой связью, адаптивное управление

Данный тип системы управления называется системой со связью и является базовой структурой для систем с обратной связью, прямой связью и адаптивных систем управления.

Как начать программировать на Rust для Arduino

Автор: Mike(admin) от 7-06-2023, 03:55

Популярность платформы программирования Arduino возросла до такой степени, что большинство людей знакомы с базовой архитектурой Arduino и ее различными вспомогательными цепями. В результате начать работу со схемами на базе Arduino легко, не понимая, что происходит под капотом, и не знакомясь с такими понятиями, как анализ производительности и оптимизация. Но являетесь ли вы опытным программистом на Rust?


Как начать программировать на Rust для Arduino

Изучение Rust – важный и сложный шаг даже для разработчиков, которые привыкли разрабатывать код с использованием других языков программирования. Опыт разработки сильно отличается от языка к языку, но основы достаточно просты для понимания с помощью всего нескольких книг и виртуального обучения. Хотя первые несколько дней могут показаться запутанными и разочаровывающими, они более чем стоят затраченных усилий. Но что дает язык программирования Rust?

Как начать программировать на языке C для платформы Linux

Автор: Mike(admin) от 12-05-2023, 03:55

Языки C, C++ и C# сегодня во многих случаях используются для написания программ, которые запускаются на ПК. В данном материале мы приведем простую программу на языке C, которую вы можете запустить на своем компьютере или мини-компьютере под управлением операционной системы Linux.


Как начать программировать на языке C для платформы Linux

Как использовать VSCode вместе с Raspberry Pi Pico и MicroPython

Автор: Mike(admin) от 23-04-2023, 23:55

Подключение к Raspberry Pi Pico в VSCode может помочь вам более эффективно писать и отлаживать код, а также улучшить рабочий процесс разработки проектов встраиваемых систем. Эта интеграция может помочь вам оптимизировать рабочий процесс разработки и сократить время, необходимое для запуска вашего кода на Raspberry Pi Pico.


Как использовать VSCode вместе с Raspberry Pi Pico и MicroPython

Как преобразовать цикл for, чтобы не заблокировать код

Автор: Mike(admin) от 17-04-2023, 03:55

Цикл for в некоторых случаях может блокировать выполнение кода. В данном материале мы расскажем о том, как реализовать неблокирующий цикл for и одновременно управлять большим количеством процессов.


Как преобразовать цикл for, чтобы не заблокировать код

Инженерное объяснение шестнадцатеричной и восьмеричной систем счисления

Автор: Mike(admin) от 10-03-2023, 03:55

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


Инженерное объяснение шестнадцатеричной и восьмеричной систем счисления

Двоичная система счисления обычно известна своей огромной ролью в мире ИТ. От программирования до IP-адресов, биты и байты являются основным элементом операционной системы компьютера. Но для аппаратных инженеров вопросы о системах нумерации не приводятся в типичном компьютерном учебнике. Простое вычисление десятичного эквивалента двоичного числа с помощью аналогии с «выключателем света» не дает ответа на фундаментальные вопросы о том, как оно используется, например, в области автоматизации. Возможно, даже более важно: почему?

Тенденции в области средств разработки программного обеспечения для встраиваемых систем

Автор: Mike(admin) от 7-03-2023, 23:55

Говорят, что у человека, у которого есть только молоток, все выглядит как гвоздь. Наличие правильного инструмента для правильной работы имеет решающее значение для эффективности и результативности в любой квалифицированной профессии. Разработка встраиваемых систем ничем не отличается. Тем не менее, до недавнего времени инструментам, предназначенным для разработки встраиваемых систем, не хватало усовершенствованных и современных наборов функций, присущих инструментам разработки, предназначенным для настольных, веб- и мобильных разработчиков.


Тенденции в области средств разработки программного обеспечения для встраиваемых систем

Кроме того, для программирования микроконтроллеров и ПЛИС исторически требовались довольно дорогие аппаратные программаторы/отладчики и лицензии на проприетарное программное обеспечение. Недавнее стремление к экосистемам с более открытым исходным кодом (например, микропроцессор RISC-V, Arduino IDE и т. д.), возможно, оказало положительное влияние на надежность и удобство использования многих инструментов разработки. Здесь мы рассмотрим новые разработки программного обеспечения, которые внесли и продолжают вносить существенные изменения в рабочий процесс разработчиков встраиваемых систем.

Различия между Python и MicroPython

Автор: Mike(admin) от 27-02-2023, 03:55

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


Различия между Python и MicroPython

Экосистема встраиваемой электроники во многом ограничена, в отличие от настольных компьютеров или серверов. Прежде всего, они ограничиваются потреблением энергии. Многие встраиваемые устройства питаются от батарей или аккумуляторов, поэтому продление срока службы батареи ограничено с точки зрения производительности. Настольные компьютеры могут работать на частоте в несколько гигагерц, тогда как микроконтроллеры в лучшем случае работают на скоростях, измеряемых десятками или сотнями мегагерц. Ограниченные объемы памяти также являются ограничивающими факторами, существенно влияющими на разницу между Python и MicroPython. Объем памяти во встраиваемых системах измеряется всего в килобайтах или мегабайтах, поэтому функции, интенсивно использующие память, часто сокращаются или даже полностью удаляются из реализации MicroPython.


Назад Вперед
Наверх