Как разрабатывать ПО для Wiren Board/en: различия между версиями
(Новая страница: «=== General consideration ===») |
|||
(не показано 15 промежуточных версий этого же участника) | |||
Строка 18: | Строка 18: | ||
=== General consideration === | === General consideration === | ||
Wiren Board | Контроллеры Wiren Board имеют, в зависимости от модели, от 64 до 512MB оперативной памяти. Это значит, что необходимо учитывать потребление памяти при разработке своих программ. Про то, как контролировать потребление памяти в Linux, см. сайт http://www.linuxatemyram.ru/. | ||
=== | === Сборка пакетов и программ === | ||
Сборку программ рекомендуется производить на компьютере с Linux, используя специальное разработческое окружение. | |||
Компиляция и разработка непосредственно на Wiren Board 5 не рекомендуется из-за маленького объёма RAM. | |||
==== | ==== Разработческое окружение ==== | ||
Разработческое окружение предоставляется в виде Docker-контейнера. | |||
Для его использования в Linux существует удобный скрипт wbdev. | |||
При использовании окружения, кросс-компиляция не нужна. Скрипт wbdev автоматически запускает соответствующие команды в виртуализованном окружении с архитектурой armel, соответствующей архитектуре процессора Wiren Board. | |||
Сборка пакетов производится с помощью вызова wbdeb, например так: | |||
<pre> | <pre> | ||
$ wbdev chroot # | $ wbdev chroot #запустить виртуализованное qemu сhroot окружение с Debian 7 архитектуры armel | ||
$ wbdev make # | $ wbdev make # вызвать make в виртуализованном qemu chroot окружении | ||
$ wbdev cdeb # | $ wbdev cdeb # собрать пакет, написанный на C++ в виртуализованном qemu chroot окружении | ||
$ wbdev gdeb # | $ wbdev gdeb # собрать пакет, написанный на Go, с использованием кросс-компиляции Go | ||
$ wbdev ndeb # | $ wbdev ndeb # собрать архитектурно-независимый пакет, например содержащий проект на Python | ||
</pre> | </pre> | ||
Полное описание работы с окружением - в [https://github.com/contactless/wirenboard/blob/master/README.md документации]. | |||
[https://github.com/contactless/wirenboard/blob/master/README.md | |||
=== | === Другие статьи === | ||
[[Сборка ядра | [[Special:MyLanguage/Сборка ядра|Сборка ядра]] | ||
[[Сборка образов прошивки | [[Special:MyLanguage/Сборка образов прошивки|Сборка образов прошивки]] | ||
[[Уникальные идентификаторы | [[Special:MyLanguage/Уникальные идентификаторы|Уникальные идентификаторы]] - для идентификации устройства, привязки софта | ||
[[eMMC flash storage wear level| | [[Special:MyLanguage/eMMC flash storage wear level|Узнать степень износа внутреннего накопителя]] | ||
[[Device Tree | [[Special:MyLanguage/Пересборка Device Tree|Пересборка Device Tree]] |
Версия 13:43, 7 июня 2019
Note: this article is about how to create new software for Wiren Board, and is intended for programmers;
- tandard Wiren Board software - Wiren Board Software,
- use the built-in rules system to write rules and scripts.
Environment
All Wiren Board controllers come with full Debian Linux. Processor architecture: armel. The controller uses libc version 2.13.
It is recommended to install the software using the Debian package Manager and package the SOFTWARE in deb packages
General consideration
Контроллеры Wiren Board имеют, в зависимости от модели, от 64 до 512MB оперативной памяти. Это значит, что необходимо учитывать потребление памяти при разработке своих программ. Про то, как контролировать потребление памяти в 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
Полное описание работы с окружением - в документации.
Другие статьи
Уникальные идентификаторы - для идентификации устройства, привязки софта