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

 

Современные языки программирования микроконтроллеров и встраиваемых систем

Автор: Mike(admin) от 6-02-2019, 06:55

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


Blockly

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

Язык С. Загрузка и связывание с разделяемыми библиотеками из приложений

Автор: Mike(admin) от 21-01-2019, 03:35

Как правило, динамический загрузчик загружает и связывает разделяемые библиотеки в процессе загрузки приложения, непосредственно перед тем, как оно станет исполняться. Однако, возможно также, чтобы приложение запросило динамический загрузчик загрузить и отредактировать связи с произвольными разделяемыми библиотеками во время исполнения этого приложения без того, чтобы редактировать связи в данном приложении с этими библиотеками во время компиляции.

Программирование на языке С. Структуры, объединения и выравнивания данных

Автор: Mike(admin) от 10-01-2019, 02:35

В языке С существуют два механизма для создания типов данных путем объединения объектов различных типов: структуры, которые объявляются посредством ключевого слова struct, в результате чего многочисленные объекты объединяются в единую конструкцию; и объединения, которые объявляются посредством ключевого слова union и позволяют ссылаться на объекты, используя с этой целью несколько различных типов.

Указатели языка С, передача функции параметров, переполнение буферов

Автор: Mike(admin) от 27-12-2018, 07:35

Указатели являются одним из основных средств языка программирования С. Они обеспечивают универсальный способ дистанционного доступа к структурам данных.


Указатели языка С

Указатели часто представляют собой источник путаницы для начинающих программистов, однако идеи, положенные в основу этих понятий, достаточно просты

Язык С. Коды и регистры с плавающей точкой

Автор: Mike(admin) от 9-12-2018, 12:05

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


Язык С. Коды и регистры с плавающей точкой

Этот сопроцессор был реализован в виде отдельных плат, которым были присвоены названия 8087, 80287 и i387, которые служили приложениями, соответственно, процессоров 8086, 80286 и i386. Мощность плат этого поколения технических средств была недостаточна, чтобы устанавливать на одной плате главный процессор и сопроцессор с плавающей точкой. Кроме того, маломощные машины просто обходятся без операций с плавающей точкой и реализуют их с помощью программного обеспечения. Начиная с модели i486, аппаратура, выполняющая операции над величинами в формате плавающей точки, стала неотъемлемой частью центрального процессора архитектуры IA32.

В чем разница между классическим языком C и C для встраиваемых систем

Автор: Mike(admin) от 5-01-2018, 17:55

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


язык программирования C

Ну, на самом деле между ними нет большой разницы, как например между Java и javascript, но все же они отличаются небольшими аспектами.

Как программировать Raspberry Pi на языке C

Автор: Mike(admin) от 31-10-2017, 19:55

Одноплатный компьютер Raspberry Pi зачастую программируют на языке Python. Но это вовсе не значит, что данный миникомпьютер нельзя программировать на каком-либо другом языке.


Как программировать Raspberry Pi на языке C

Среди матерых программистов очень популярен язык C, и этот язык можно с успехом использовать в написании программ для Raspberry Pi. В данном материале будет показано, как это осуществить.

Реализация простого планировщика задач

Автор: Mike(admin) от 19-08-2014, 06:55

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


планировщик задач

Приведенный код планировщика задач полезен для знакомства с данным механизмом. Он представляет собой планировщик по методу round-robin, написан на языке C и удобен при отладке на ПК, поскольку содержит приличное количество команд вывода данных на экран printf.

Конечный автомат на C

Автор: Mike(admin) от 10-02-2014, 04:55

При программировании приложений для встраиваемых систем удобно пользоваться конечными автоматами.


конечный автомат

Они дают ряд преимуществ:


  • Вы можете перевести требования системы в диаграмму состояний или в таблицу состояний переходов.

  • По диаграмме состояний или таблице состояний переходов вы можете проверить правильность проекта до написания программы.

  • Это облегчает понимание кода.

  • Вы можете быстро сопоставлять друг с другом код и требования к системе.

  • Обеспечивается детерминизм, то есть вы сможете точно знать, что делает система в определенный момент.

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

Программная реализация часов реального времени

Автор: Mike(admin) от 25-01-2014, 13:57

Часы реального времени (Real Time Clock или RTC) являются полезным элементом в случае, когда нужно вести учёт хронометрических данных. Но, к сожалению, не во всех вычислительных устройствах есть этот элемент.


часы реального времени

Тем не менее, RTC можно попытаться реализовать программным способом, что и представляет собой код, приведенный ниже.


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