Strelets Diana

Урок 1. Введение в программирование встраиваемых систем

Урок 1 - Программирование встроенных систем. Введение

 

План

1. Языки программирования для встраиваемых систем
2. Обзор сред разработки для Arduino

программирование встроеных систем

Хочешь освоить программирование Arduino в аудитории и с преподавателем- записывайся на блиц-курс по робототехнике.

 

1. Языки программирования для встраиваемых систем


Встраиваемая система (англ. embedded system) — система управления, непосредственно встроенная в устройство, которым она управляет. Встраиваемые системы могут базироваться на различных микроконтроллерах: AVR, PIC, ARM и т.д. Для их программирования применяются различные языки. Самыми актуальными являются ассемблер, С и С++, т.к. они позволяют наиболее эффективно управлять аппаратными средствами микроконтроллеров.

 

Ассемблер – низкоуровневый язык программирования, в нем используются непосредственно набор команд микроконтроллера. Исходный код, написанный на ассемблере всегда массивнее, чем код, написанный на высокоуровневых языках. Написание программы на ассемблере занимает достаточно много времени и требует знаний специфических команд для программируемого микроконтроллера. Хоть ассемблер уступает языкам высокого уровня в скорости и удобстве разработки, но выигрывает в размере исполняемого кода. Следовательно программы, написанные на ассемблере, выполняются быстрее.

 

На языках С/C++ можно создавать программы намного быстрее и с большим удобством, пользуясь библиотеками функций и многочисленными преимуществами высокоуровневых языков. Еще одно преимущество С/С++ перед ассемблером заключается в универсальности: программисту нет необходимости досконально изучать архитектуру конкретного микроконтроллера.
В языках С/C++ объединяются функционал высокоуровневых языков с возможностью разработки низкого уровня. Поддержка низкоуровневого программирования в С/С++ дает возможность управлять аппаратными средствами устройства, а особенности языка высокого уровня позволяют быстро создавать универсальный и легко читаемый исходный код.
Кроме этого, многие компиляторы С/C++ и позволяют вставлять ассемблерные участки программы, время выполнения и занимаемые ресурсы памяти которых нужно уменьшить.


Для некоторых встраиваемых Android-систем (преимущественно на микроконтроллерах ARM) используется язык C#. C# - язык программирования, который сочетает в себе с одной стороны простоту и читаемость современных объектно-ориентированных языков (например Java), а с другой – широкие возможности и мощь С++. С# фактически является гибридом различных языков, взяв от них самое лучшее: синтаксическая чистота Java, простота и понятность Visual Basic, гибкость и богатый функционал С++. Но системы, написанные на С# в большинстве случаев имеют избыточный объектный код и не обладают высокой производительностью. Вторым недостатком использования C# является необходимость наличия на устройстве виртуальной среды выполнения .NET Framework.


В ходе курса будет использоваться язык С++ для программирования аппаратной вычислительной платформы Arduino, на базе микроконтроллера Atmel AVR.

 

2. Обзор сред разработки для Arduino


Для программирования Arduino используется компилятор avr gcc (WinAVR для Windows). Оболочку – редактор можно выбрать любой. От него зависит только удобство отладки и работы с кодом. Существует стандартная среда для программирования Arduino. Она обладает малой ресурсоемкостью и позволяет приступить к работе в минимальные сроки. Содержит основные функции: компиляция, загрузка в плату, выбор платы и порта и т.д. Недостаток заключается в неудобстве отладки и работы со сложными проектами.


IDE Eclipse обладает более широким функционалом. Ориентирована на опытных разработчиков. Для решения большинства задач наиболее оптимальной является IDE Code::Blocks. Она не содержит избыточных функций, но обеспечивает удобную отладку и работу с платой.

 


Учебная программа курса


Урок 2


Похожие посты:

Переход с языка Skretch на язык C++

Реализация различных видов движения мобильной платформы на языке С++

0
Комментировать
Введите код: