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

 



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 машинное обучение

Как начать программировать на 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.

Искусственный интеллект теперь может программировать: как это скажется на работе программистов

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

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


Искусственный интеллект теперь может программировать: как это скажется на работе программистов

Эти два фактора делают еще более важным повышение производительности труда, и самые последние улучшения в моделях обработки естественного языка (natural language processing или NLP) на основе искусственного интеллекта (ИИ) делают это реальностью. Благодаря своему размеру, базовой архитектуре, обучающим данным и режиму новейшее поколение современных моделей NLP, называемых генеративными предварительно обученными преобразователями (generative pre-trained transformer или GPT), может переводиться между многими языками, в том числе из текста в код. Внедрение этой мощной возможности в инструменты, которые могут использовать разработчики, уже доказало свою неоценимую ценность, поскольку позволяет разработчикам лучше справляться со своей работой и открывает доступ к созданию программного обеспечения для менее технических специалистов.


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