Как разрабатывать ПО для Wiren Board: различия между версиями

Материал из Wiren Board
(Подготовка страницы к переводу)
(Отметить эту версию для перевода)
Строка 1: Строка 1:
<languages/>
<languages/>
<translate>
<translate>
<!--T:1-->
''Замечание'': эта статья про то, как создавать новое программное обеспечение для Wiren Board, и предназначена для программистов;
''Замечание'': эта статья про то, как создавать новое программное обеспечение для Wiren Board, и предназначена для программистов;
*стандартное программное обеспечение Wiren Board - [[Special:MyLanguage/Программное обеспечение Wiren Board|Программное обеспечение Wiren Board]],
*стандартное программное обеспечение Wiren Board - [[Special:MyLanguage/Программное обеспечение Wiren Board|Программное обеспечение Wiren Board]],
Строка 8: Строка 9:




=== Окружение ===
=== Окружение === <!--T:2-->


<!--T:3-->
Все контроллеры Wiren Board поставляются с полноценным Debian Linux. Архитектура процессора: armel.
Все контроллеры Wiren Board поставляются с полноценным Debian Linux. Архитектура процессора: armel.
На контроллере используется libc версии 2.13.
На контроллере используется libc версии 2.13.


<!--T:4-->
Установка ПО рекомендуется производить с помощью пакетного менеджера Debian, и упаковывать ПО в deb-пакеты
Установка ПО рекомендуется производить с помощью пакетного менеджера Debian, и упаковывать ПО в deb-пакеты






=== Общие соображения ===
=== Общие соображения === <!--T:5-->


<!--T:6-->
Контроллеры Wiren Board имеют, в зависимости от модели, от 64 до 512MB оперативной памяти. Это значит, что необходимо учитывать потребление памяти при разработке своих программ. Про то, как контролировать потребление памяти в Linux, см. сайт http://www.linuxatemyram.ru/.
Контроллеры Wiren Board имеют, в зависимости от модели, от 64 до 512MB оперативной памяти. Это значит, что необходимо учитывать потребление памяти при разработке своих программ. Про то, как контролировать потребление памяти в Linux, см. сайт http://www.linuxatemyram.ru/.






=== Сборка пакетов и программ ===
=== Сборка пакетов и программ === <!--T:7-->


<!--T:8-->
Сборку программ рекомендуется производить на компьютере с Linux, используя специальное разработческое окружение.
Сборку программ рекомендуется производить на компьютере с Linux, используя специальное разработческое окружение.
Компиляция и разработка непосредственно на Wiren Board 5 не рекомендуется из-за маленького объёма RAM.
Компиляция и разработка непосредственно на Wiren Board 5 не рекомендуется из-за маленького объёма RAM.
Строка 30: Строка 35:




==== Разработческое окружение ====
==== Разработческое окружение ==== <!--T:9-->


<!--T:10-->
Разработческое окружение предоставляется в виде Docker-контейнера.
Разработческое окружение предоставляется в виде Docker-контейнера.
Для его использования в Linux существует удобный скрипт wbdev.
Для его использования в Linux существует удобный скрипт wbdev.
При использовании окружения, кросс-компиляция не нужна. Скрипт wbdev автоматически запускает соответствующие команды в виртуализованном окружении с архитектурой armel, соответствующей архитектуре процессора Wiren Board.
При использовании окружения, кросс-компиляция не нужна. Скрипт wbdev автоматически запускает соответствующие команды в виртуализованном окружении с архитектурой armel, соответствующей архитектуре процессора Wiren Board.


<!--T:11-->
Сборка пакетов производится с помощью вызова wbdeb, например так:
Сборка пакетов производится с помощью вызова wbdeb, например так:


<!--T:12-->
<pre>
<pre>
$ wbdev chroot #запустить виртуализованное qemu сhroot окружение с Debian 7 архитектуры armel
$ wbdev chroot #запустить виртуализованное qemu сhroot окружение с Debian 7 архитектуры armel
Строка 46: Строка 54:
</pre>
</pre>


<!--T:13-->
Полное описание работы с окружением - в [https://github.com/contactless/wirenboard/blob/master/README.md документации].
Полное описание работы с окружением - в [https://github.com/contactless/wirenboard/blob/master/README.md документации].






=== Другие статьи ===
=== Другие статьи === <!--T:14-->


<!--T:15-->
[[Special:MyLanguage/Сборка ядра|Сборка ядра]]
[[Special:MyLanguage/Сборка ядра|Сборка ядра]]


<!--T:16-->
[[Special:MyLanguage/Сборка образов прошивки|Сборка образов прошивки]]
[[Special:MyLanguage/Сборка образов прошивки|Сборка образов прошивки]]


<!--T:17-->
[[Special:MyLanguage/Уникальные идентификаторы|Уникальные идентификаторы]] - для идентификации устройства, привязки софта
[[Special:MyLanguage/Уникальные идентификаторы|Уникальные идентификаторы]] - для идентификации устройства, привязки софта


<!--T:18-->
[[Special:MyLanguage/eMMC flash storage wear level|Узнать степень износа внутреннего накопителя]]  
[[Special:MyLanguage/eMMC flash storage wear level|Узнать степень износа внутреннего накопителя]]  


<!--T:19-->
[[Special:MyLanguage/Пересборка Device Tree|Пересборка Device Tree]]
[[Special:MyLanguage/Пересборка Device Tree|Пересборка Device Tree]]


</translate>
</translate>

Версия 13:39, 7 июня 2019

Другие языки:

Замечание: эта статья про то, как создавать новое программное обеспечение для Wiren Board, и предназначена для программистов;



Окружение

Все контроллеры Wiren Board поставляются с полноценным Debian Linux. Архитектура процессора: armel. На контроллере используется libc версии 2.13.

Установка ПО рекомендуется производить с помощью пакетного менеджера Debian, и упаковывать ПО в deb-пакеты


Общие соображения

Контроллеры 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

Полное описание работы с окружением - в документации.


Другие статьи

Сборка ядра

Сборка образов прошивки

Уникальные идентификаторы - для идентификации устройства, привязки софта

Узнать степень износа внутреннего накопителя

Пересборка Device Tree