Как разрабатывать ПО для Wiren Board: различия между версиями
(не показаны 23 промежуточные версии 9 участников) | |||
Строка 1: | Строка 1: | ||
''Замечание: эта статья про то, как писать и собирать новое программное обеспечение для Wiren Board и предназначено для программистов.'' | |||
''Про стандартное программное обеспечение Wiren Board см. статью [[Программное обеспечение Wiren Board]]. '' | |||
''Для написания правил и сценариев воспользуйтесь встроенной [[Движок правил wb-rules|системой правил]].'' | |||
''В конце этой статьи приведены ссылки на другие статьи, полезные для экспертов и разработчиков ПО'' | |||
Все контроллеры Wiren Board поставляются с полноценным Debian Linux. Архитектура процессора: | === Окружение === | ||
Все контроллеры Wiren Board поставляются с полноценным Debian Linux. Архитектура процессора: armel. | |||
На контроллере используется libc версии 2.13. | На контроллере используется libc версии 2.13. | ||
Установка ПО рекомендуется производить с помощью пакетного менеджера Debian, и упаковывать ПО в deb-пакеты | |||
== Общие соображения == | === Общие соображения === | ||
Контроллеры Wiren Board имеют, в зависимости от модели, от 64 до 256MB оперативной памяти. Это значит, что необходимо учитывать потребление памяти при разработке своих программ. Про то, как контроллировать потребление памяти в Linux, см. сайт http://www.linuxatemyram.ru/. | |||
== Сборка пакетов и программ == | === Сборка пакетов и программ === | ||
Сборку программ рекомендуется производить на компьютере с Linux, используя специальное окружение | Сборку программ рекомендуется производить на компьютере с Linux, используя специальное разработческое окружение. | ||
Компиляция и разработка непосредственно на | Компиляция и разработка непосредственно на Wiren Board 5 не рекомендуется из-за маленького объёма RAM. | ||
=== | ==== Разработческое окружение ==== | ||
Разработческое окружение предоставляется в виде Docker-контейнера. | |||
Для его использования в Linux существует удобный скрипт wbdev. | |||
При использовании окружения, кросс-компиляция не нужна. Скрипт wbdev автоматически запускает соответствующие команды в виртуализованном окружении с архитектурой armel, соответствующей архитектуре процессора Wiren Board. | |||
Сборка пакетов производится с помощью вызова wbdeb, например так: | |||
<pre> | |||
< | |||
$ wbdev chroot #запустить виртуализованное qemu сhroot окружение с Debian 7 архитектуры armel | $ wbdev chroot #запустить виртуализованное qemu сhroot окружение с Debian 7 архитектуры armel | ||
$ wbdev make # вызвать make в виртуализованном qemu chroot окружении | $ wbdev make # вызвать make в виртуализованном qemu chroot окружении | ||
Строка 54: | Строка 33: | ||
$ wbdev gdeb # собрать пакет, написанный на Go, с использованием кросс-компиляции Go | $ wbdev gdeb # собрать пакет, написанный на Go, с использованием кросс-компиляции Go | ||
$ wbdev ndeb # собрать архитектурно-независимый пакет, например содержащий проект на Python | $ wbdev ndeb # собрать архитектурно-независимый пакет, например содержащий проект на Python | ||
</ | </pre> | ||
Полное описание работы с окружением - в [https://github.com/contactless/wirenboard/blob/master/README.md документации]. | |||
Версия 00:09, 1 февраля 2016
Замечание: эта статья про то, как писать и собирать новое программное обеспечение для Wiren Board и предназначено для программистов. Про стандартное программное обеспечение Wiren Board см. статью Программное обеспечение Wiren Board. Для написания правил и сценариев воспользуйтесь встроенной системой правил. В конце этой статьи приведены ссылки на другие статьи, полезные для экспертов и разработчиков ПО
Окружение
Все контроллеры Wiren Board поставляются с полноценным Debian Linux. Архитектура процессора: armel. На контроллере используется libc версии 2.13.
Установка ПО рекомендуется производить с помощью пакетного менеджера Debian, и упаковывать ПО в deb-пакеты
Общие соображения
Контроллеры Wiren Board имеют, в зависимости от модели, от 64 до 256MB оперативной памяти. Это значит, что необходимо учитывать потребление памяти при разработке своих программ. Про то, как контроллировать потребление памяти в Linux, см. сайт http://www.linuxatemyram.ru/.
Сборка пакетов и программ
Сборку программ рекомендуется производить на компьютере с Linux, используя специальное разработческое окружение. Компиляция и разработка непосредственно на Wiren Board 5 не рекомендуется из-за маленького объёма RAM.
Разработческое окружение
Разработческое окружение предоставляется в виде Docker-контейнера. Для его использования в Linux существует удобный скрипт wbdev. При использовании окружения, кросс-компиляция не нужна. Скрипт wbdev автоматически запускает соответствующие команды в виртуализованном окружении с архитектурой armel, соответствующей архитектуре процессора Wiren Board.
Сборка пакетов производится с помощью вызова wbdeb, например так:
$ wbdev chroot #запустить виртуализованное qemu сhroot окружение с Debian 7 архитектуры armel $ wbdev make # вызвать make в виртуализованном qemu chroot окружении $ wbdev cdeb # собрать пакет, написанный на C++ в виртуализованном qemu chroot окружении $ wbdev gdeb # собрать пакет, написанный на Go, с использованием кросс-компиляции Go $ wbdev ndeb # собрать архитектурно-независимый пакет, например содержащий проект на Python
Полное описание работы с окружением - в документации.