Регистрация / Вход
Прислать материал

ПОРТИРОВАНИЕ ЯДРА СИСТЕМЫ ЧПУ НА ARM ПЛАТФОРМУ ИСПОЛЬЗУЯ ОДНОПЛАТНЫЙ КОМПЬЮТЕР RASPBERRY PI

Сведения об участнике
ФИО
Бабин Михаил Сергеевич
Вуз
федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный технологический университет «СТАНКИН»
Тезисы (информация о проекте)
Область наук
Информационные технологии и вычислительные системы
Раздел области наук
Информационные технологии
Тема
ПОРТИРОВАНИЕ ЯДРА СИСТЕМЫ ЧПУ НА ARM ПЛАТФОРМУ ИСПОЛЬЗУЯ ОДНОПЛАТНЫЙ КОМПЬЮТЕР RASPBERRY PI
Резюме
В работе рассмотрены основные аспекты кросскомпиляции. Предложен способ переноса отечественного программного ядра СЧПУ реализованного по типу PCNC (X86-X64) на целевую ARM платформу, показаны преимущества такого способа перед нативной компиляцией на целевой платформе. Показана реализация реального времени в ядре Linux. Продемонстрированы полученные результаты
Ключевые слова
ARM, RASPBERRY PI, СЧПУ, Одноплатные компьютеры, кросплатформенность
Цели и задачи
Цель: Сокращение времени разработки специализированных средств системы числового программного управления (СЧПУ) за счет разработки способа кроскомпиляции и переноса ядра СЧПУ на различные аппаратные платформы.
Задачи:
1. Анализ целевых аппаратных платформ
2. Анализ возможных методов и способов кроскомпиляции.
3. Разработка способа кросскомпиляции и портирования ядра системы ЧПУ на целевые плафтформы
4. Тестирование и апробация полученных результатов
Введение

Современные ПК проводят полный сбор сведений об объекте управления и различных входных воздействиях с целью решения всех задач управления без дополнительной аппаратной поддержки, программным путем.При использовании систем реального времени для выполнения функций ядра системы управления обычно используются платформы x86 и x64,Intel-архитектура процессора.Для сохранения конкурентоспособности необходимо постоянно развивать продукт, добавляя новый функционал, который позволит улучшать различные характеристики продукта при снижении его себестоимости.Одним из возможных решений является разработка способа портирования разрабатываемого продукта на большинство современных платформ с различными архитектурами.

Методы и материалы

Теоретическое исследования в работе базируются на использовании методов объектно-ориентированного подхода.
При решении поставленных задач использовались методы объектно-ориентированного проектирования (декомпозиции, абстракции), концепция объектно-ориентированного программирования, автоматизация OLE ( object linking and embedding ), стандарт OPC (OLE for process control), сетевые технологии и язык описания разметки XML (eXtensible Markup Language).

В качестве применяемых материалов использовались свободно распространяемый дистрибутив GNU Linux Ubuntu kernel 4.4 на аппаратной плафторме intel core i5 6gb ram (PC-архитектура), Ubuntu ARM kernel 3.18 на аппаратной плафторме ARM Cortex-A7 CPU (Raspberry Pi2 model B).

В качестве инструмента для сборки методом кросскомпиляции исользовался LinaroToolChain.

Описание и обсуждение результатов

Для портирования ядра системы ЧПУ был взят за основу одноплатный компьютер Raspberry PI 2

Таким образом была поставлена задача по портированию платформу ARM ядра управления системы ЧПУ разрабатываемого в МГТУ «СТАНКИН», так как данная платформа является наиболее перспективной и на сегодняшний день быстро развивающейся.

Используя кроссплатформенные библиотеки возможно производить сборку и непосредственно на самой ARM платформе, но процесс компиляции зачастую занимает достаточно много времени, что снижает время разработки программного обеспечения, поэтому было решено воспользоваться методом кросс-компиляции.

Сборка ядра ОС Linux с патчем PREEMPT_RT производилась по средством кросс- компиляции с использованием ARM Toolchain (arm-none-eabi) на машинах с архитектурами x86 и x64 с последующим переносом на целевую платформу. С предустановленной ОС Ubuntu Raspberry pi2 был скопирован файл конфигурации настройки поддерживаемого оборудования по умолчанию ядром Linux, в него тем самым необходимо было также включить те функции, которые предоставляет патч PREEMPT_RT. Следующим шагом была необходимость переноса исходников с последующим созданием символьных ссылок на них. Это требовалось для того, чтобы обеспечить корректную работу дополнительных модулей ядра (драйверов), обеспечивающих взаимодействие периферийных устройств и системы ЧПУ. 

Для упрощения отладки проекта использовалась кросс-платформа IDE Codeblocks. 

Для проверки работоспособности данный одноплатный компьютер реального времени с настроенным ПО был подключен к стенду управления знакосинтезирующим индикатором посредством динамической индикации с использованием программно-реализованного контроллера электроавтоматики SoftPLC. При этом на стенде была запущена программа отображения местного времени.

Если перейти к количественным характеристикам, то сборка ядра нативным образом на Raspberry Pi 2 занимает порядка 15-20 мин, в то время как процесс сборки ядра на PC и последующим переносом на целевую платформу не более 1,5-2 мин. Это существенно сокращает время откладки и всего процесса разработки.

Работоспособность и длительная наработка на отказ системы ЧПУ с портированным ядром ARM-платформу с использованием стенда показывает правильность решенной задачи, а возможность быстрой перекомпиляции ядра системы управления после внесения правок и изменений позволяет сократить время разработки рассматриваемого ПО системы ЧПУ.

Работа докладывалась на конференции АИТ 2016 (МГТУ СТАНКИН 18-21 апреля 2016), где была высоко оценена членами жюри и удостоена первого места в номинации "Информационные технологии". Результаты работы широко применяются на кафедре "Компьютерные системы управления" МГТУ СТАНКИН при разработке ядра отечественной системы ЧПУ "АксиОМА Контрол".

Используемые источники
1.Сосонкин В.Л, Мартинов Г.М. Системы числового программного управления: Учеб. Пособие. – М.: Логос, 2005.-296с.
2.Мартинов Г.М., Любимов А.Б., Бондаренко А.И., Сорокоумов А.Е., Ковалев И.А. Подход к построению мультипротокольной системы ЧПУ // Автоматизация в промышленности. 2012. №5. с.8-11.
3.И.А. Ковалев, М.С. Бабин, Р.В. Травкин Реализация управления знакосинтезирующим индикатором посредством динамической индикации с использованием программно-реализованного контроллера электроавтоматики SoftPLC. (МТИ-2014). - М.: ФГБОУ ВПО МГТУ "СТАНКИН", 2014. - с.5-8.
4. Building Linux Kernel for Raspberry Pi https://wiki.aalto.fi/download/attachments/84751497/compiling_kernel_final.pdf?api=v2
5. Инструменты кросскомпиляции для ARM https://habrahabr.ru/post/114230/
Information about the project
Surname Name
Babin М.
Project title
Excavation method porting core of system CNC on ARM-based single board computer Raspberry Pi
Summary of the project
In this paper the basic aspects of crosscompilation are rewied. Discribed the way to port russian program CNC programm core constructed as PCNC (X86-X64) on objective ARM platform, the advantages of this method over native compilations on objective platform are showed. On-time realisation on Linux core is presented.The obtained results are demonstraited.
Keywords
ARM, RASPBERRY PI, system CNC, singleboard computers, cross-platform