Программирование без использования операционной системы.



Для программирования процессоров ARM архитектур существует несколько сред разработки, однако все существующие среды программирования (keil, IAR, Atolic) поддерживают максимум ARM9. Это связано с негласным правилом, что возможность программирования без использования ОС поддерживается до ARM9, а после – только с использованием ОС. Raspberry основан на архитектуре ARM11. Однако некоторые возможности существуют, в частности используя компилятор arm-none-eabi-gcc поддерживающий любой ARM.

Вторая проблема заключается в том, что под Raspberry процессор (BCM2835) нет никаких конфигурационных файлов, header'ов и т.д. Вследствие этого необходимо использовать загрузчик RaspberryPi. Он выполняет две функции: инициализирует процессор и его периферию, а также передает управление ядру kernel.img. Метод заключается в том, что программа маскируется под ядро ОС что позволит загрузчику её запустить.

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

Программирование с использованием операционной системы. Python

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

Здесь существует уже достаточно большой выбор платформ программирования.

Изначально Raspberry задумывалась как недорогая учебная платформа, поэтому базовой платформой программирования считается (предлагается) Python.

Python (в русском языке распространено название пито́н) - высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Автором языка считается Гвидо ванРоссум; история развития языка ведёт начало с 1991г.

Синтаксис ядра Pythonминималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты - динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных.

Код в Python организовывается в функции и классы, которые могут объединяться в модули (они в свою очередь могут быть объединены в пакеты).

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

Есть реализации интерпретаторов для JVM (с возможностью компиляции), MSIL (с возможностью компиляции), LLVM и других. Проект PyPy предлагает реализацию Python на самомPython, что уменьшает затраты на изменения языка и постановку экспериментов над новыми возможностями.

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

Это делает язык простым в освоении, понимании и запоминании. На практике программистам, использующим язык Python, почти не приходится прибегать к справочным руководствам – это непротиворечивая система, на выходе которой, к удивлению многих, получается профессиональный программный код.


Дата добавления: 2018-02-18; просмотров: 1187; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!