Skip to content

Commit f7f1906

Browse files
committed
Update embox_quick_start_ru.md
1 parent f6e18e9 commit f7f1906

File tree

1 file changed

+32
-23
lines changed

1 file changed

+32
-23
lines changed

ru/embox_quick_start_ru.md

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717
Зайдите в PowerShell под именем администратора и установите WSL2 (обратите внимание на требования к версии Windows):
1818

1919
[Алгоритм установки WSL2](https://learn.microsoft.com/ru-ru/windows/wsl/install-manual)
20-
```
21-
Перед тем как перейти к следующему шагу обязательно обновите WSL1 до WSL2
22-
(инструкция по ссылкам выше), в противном случае Embox не запустится под Windows.
23-
```
20+
21+
Перед тем как перейти к следующему шагу обязательно обновите WSL1 до WSL2 (инструкция по ссылкам выше), в противном случае Embox не запустится под Windows.
2422

2523
### Скачайте Ubuntu из Microsoft Store
2624
Убедитесь, что у Вас стоит WSL версии 2, для этого введите в PowerShell команду:
@@ -61,7 +59,7 @@
6159

6260

6361
## Настройка окружения
64-
Необходимые пакеты: **make**, **gcc** (кросс-компилятор под выбранную архитектуру, см. Установка кросс-компилятора).
62+
Необходимые пакеты: **make**, **gcc** (кросс-компилятор под выбранную архитектуру, см. следующий абзац «Установка кросс-компилятора»).
6563
Дополнительные пакеты (рекомендуется установить сразу): **build-essential**, **gcc-multilib**, **curl**, **libmpc-dev**, **python**.
6664

6765
Пример установки для Ubuntu/Debian:
@@ -80,19 +78,19 @@
8078
```
8179
$ sudo apt-get install gcc
8280
```
83-
Обычно эти пакеты уже установлены в Вашей ОС, но на всякий случай стоит это проверить. Вам также понадобится *gcc-multilib*.
81+
Обычно эти пакеты уже установлены в Вашей ОС, но на всякий случай стоит это проверить. Вам также понадобится `gcc-multilib`.
8482
Обратите внимание, что требуется установить другие пакеты, если Вы уже настроили окружение на Windows и MacOS самостоятельно.
8583

8684
### ARM:
8785
```
8886
$ sudo apt install arm-none-eabi-gcc
8987
```
90-
Или для Debian:
88+
### Или для Debian:
9189
```
9290
$ sudo apt install gcc-arm-none-eabi
9391
```
9492
Вы можете также скачать архив с набором ARM-инструментов(тулчейном) по ссылке: [https://launchpad.net/gcc-arm-embedded](https://launchpad.net/gcc-arm-embedded).
95-
Затем нужно распаковать архив и настроить переменную окружения *PATH*:
93+
Затем нужно распаковать архив и настроить переменную окружения `PATH`:
9694
```
9795
$ export PATH=$PATH:<путь к тулчейну>/gcc-arm-none-eabi-<version>/bin
9896
```
@@ -106,7 +104,7 @@
106104
```
107105
$ ./crosstool.sh ARCH
108106
```
109-
После должен появиться архив с тулчейном — *ARCH-elf-toolchain.tar.bz2*. Затем его нужно распаковать и добавить в переменную окружения *PATH*, как показано выше для ARM.
107+
После должен появиться архив с тулчейном — `ARCH-elf-toolchain.tar.bz2`. Затем его нужно распаковать и добавить в переменную окружения `PATH`, как показано выше для ARM.
110108

111109
## Установка эмулятора QEMU
112110
Поддерживаемые архитектуры: x86, ARM, MIPS, Sparc, PPC, Microblaze.
@@ -115,7 +113,7 @@ QEMU может быть установлен следующим способо
115113
```
116114
$ sudo apt-get install qemu-system-<ARCH>
117115
```
118-
где <ARCH> это i386, arm, sparc, mips, ppc или misc (для microblaze).
116+
где <ARCH> -- это i386, arm, sparc, mips, ppc или misc (для microblaze).
119117
Примечание: Все пакеты QEMU можно установить единым пакетом:
120118
```
121119
$ sudo apt-get install qemu-system
@@ -159,17 +157,25 @@ Embox kernel start
159157
```
160158
Если все unit-тесты прошли успешно, и система загружена, появится консоль, в которой можно выполнять команды. Начать можно с команды ***'help'*** которая выведет список доступных команд для вашей конфигурации.
161159

162-
Для выхода из эмулятора qemu нажмите последовательно: ***ctrl+’A’***, затем ***‘x’***.
160+
Для выхода из эмулятора qemu нажмите последовательно: ***ctrl+"A"***, затем ***"x"***.
163161

164162
## Особенности системы сборки Mybuild
165163
***Embox*** - модульная и настраиваемая система. Для этих целей был разработан декларативный язык описания ***Mybuild***.
166164
Он позволяет описывать как отдельные единицы системы (модули), так и всю систему в целом.
167165

168-
***Модуль*** является базовым понятием для системы сборки. Он содержит: список файлов, относящихся к данному модулю; параметры, которые можно задать модулю в момент конфигурации; список зависимостей.
169-
170-
***Конфигурация*** является детализированным описанием системы. Конфигурация включает в себя: список модулей, необходимых для сборки; параметры модулей; описания правил сборки (компилятор, флаги компилятора, карта памяти устройства, и так далее).
166+
***Модуль*** -- это базовое понятие для системы сборки.
167+
Модуль содержит:
168+
* список файлов, относящихся к данному модулю;
169+
* параметры, которые можно задать модулю в момент конфигурации;
170+
* список зависимостей.
171+
172+
***Конфигурация*** -- это детализированное описание системы.
173+
Конфигурация включает в себя:
174+
* список модулей, необходимых для сборки;
175+
* параметры модулей;
176+
* описания правил сборки (компилятор, флаги компилятора, карта памяти устройства, и т. д.).
171177

172-
На основе конфигурации и описания модулей строится граф с параметрами системы, и по нему генерируются различные файлы для сборки: линкер скрипты, makefile-ы, заголовочные файлы. Нет необходимости добавлять все модули, т. к. они будут подтягиваться по зависимостям.
178+
На основе конфигурации и описания модулей строится граф с параметрами системы, и по нему генерируются различные файлы для сборки: `линкер`, `скрипты`, `makefile-ы`, `заголовочные файлы`. Нет необходимости добавлять все модули, т. к. они будут подтягиваться по зависимостям.
173179

174180
Текущая конфигурация находится в папке ***conf/***. Вы можете настроить её с помощью команды:
175181
```
@@ -183,7 +189,7 @@ Embox kernel start
183189
```
184190
$ make confload
185191
```
186-
После того, как Вы настроили какую-либо конфигурацию, Вы можете кастомизировать её под свои требования.
192+
После того, как Вы настроили какую-либо конфигурацию, Вы можете кастомизировать её под свои требования:
187193
```
188194
include <PACKAGE_NAME><MODULE_NAME>
189195
```
@@ -194,6 +200,7 @@ Embox kernel start
194200

195201
## Создание и запуск "Hello world"
196202
Приложение в Embox -- это обычный модуль Embox со специальными аттрибутами. Эти аттрибуты определяют Ваш модуль как выполняемую программу.
203+
197204
Исходный код в Embox -- это обычный POSIX-код, написанный на C, поэтому он может компилироваться и под Linux.
198205

199206
### Создание и запуск примера
@@ -221,7 +228,7 @@ Embox kernel start
221228
source "hello_world.c"
222229
}
223230
```
224-
* Добавить программу в файл конфигурации *conf/mods.conf*:
231+
* Добавить программу в файл конфигурации ***conf/mods.conf***:
225232
```
226233
include embox.cmd.hello_world
227234
```
@@ -233,15 +240,15 @@ Embox kernel start
233240
```
234241
$ ./scripts/qemu/auto_qemu
235242
```
236-
* Наберите **help** в консоли Embox, чтобы проверить, появилась ли **hello_world** в списке команд, и Вы увидите:
243+
* Наберите ***help*** в консоли Embox, чтобы проверить, появилась ли ***hello_world*** в списке команд, и Вы увидите:
237244
```
238245
root@embox:/#hello_world
239246
Hello, world!
240247
root@embox:/#
241248
```
242249

243250
### Файл описания модуля
244-
Разберем немного подробнее файл описания модуля.
251+
Разберем немного подробнее файл описания модуля:
245252
```
246253
package embox.cmd
247254
@@ -253,16 +260,18 @@ Embox kernel start
253260
```
254261
Первая строка содержит в себе пакет с названием **embox.cmd.**. В Embox все модули распределены по пакетам. Полное имя модуля состояит из имени пакета + имени модуля.
255262

256-
Строка ***source "hello_world.c"*** содержит названия необходимых для сборки модуля файлов.
263+
Строка source «hello_world.c» содержит названия необходимых для сборки модуля файлов.
264+
265+
В строке ***@Cmd(name = «hello_world», help=«First Embox application»)*** задается атрибут модуля.
257266

258-
В строке ***@Cmd(name = "hello_world", help="First Embox application")*** задается атрибут модуля.
259267
В первую очередь модуль будет представлять из себя приложение, а во вторую -- устанавливает имя, с помощью которого это приложение можно вызвать.
268+
260269
И наконец, устанавливается строка, которая будет отображаться при вызове команды ***'help'***.
261270

262271
Строка ***@AutoCmd*** показывает, что в приложении есть стандартная функция входа в приложение ***main()***, которая будет заменена на другой символ в процессе сборки.
263272

264273
## Отладка
265-
Для отладки можно использовать тот же 'auto_qemu' скрипт, добавив флаги *-s -S -no-kvm*:
274+
Для отладки можно использовать тот же «auto_qemu» скрипт, добавив флаги `-s`, `-S`, `-no-kvm`:
266275
```
267276
$ sudo ./scripts/qemu/auto_qemu -s -S -no-kvm
268277
```
@@ -275,7 +284,7 @@ Embox kernel start
275284
```
276285
Система начала загружаться.
277286

278-
В любой момент в gdb терминале Вы можете нажать *ctrl + C* и посмотреть стек текущего потока (`backtrace`) или установить брейкпоинты (`break <function name>`, `break <file name>:<line number>`).
287+
В любой момент в gdb терминале Вы можете нажать `ctrl + C` и посмотреть стек текущего потока (`backtrace`) или установить брейкпоинты (`break <function name>`, `break <file name>:<line number>`).
279288

280289
## Подключение внешнего репозитория для модулей и темплейтов
281290
Embox допускает подключение внешнего репозитория для модулей и темлейтов. Для того, чтобы это сделать, достаточно указать корневую папку репозитория:

0 commit comments

Comments
 (0)