Как разрабатывать ПО для Wiren Board/en: различия между версиями
(Новая страница: «==== Development environment ====») |
|||
(не показано 11 промежуточных версий этого же участника) | |||
Строка 30: | Строка 30: | ||
==== Development environment ==== | ==== Development environment ==== | ||
Разработческое окружение предоставляется в виде 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:45, 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 controllers have from 64 to 512MB of RAM, depending on the model. This means that you need to consider memory consumption when developing your programs. For information about how to control memory consumption in Linux, see the website http://www.linuxatemyram.ru/.
Building packages and programs
It is recommended to build programs on a Linux computer using a special development environment. Compiling and developing directly on the Wiren Board 5 is not recommended due to the small amount of RAM.
Development environment
Разработческое окружение предоставляется в виде 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
Полное описание работы с окружением - в документации.
Другие статьи
Уникальные идентификаторы - для идентификации устройства, привязки софта