aboutsummaryrefslogtreecommitdiff
path: root/book/ru/src
diff options
context:
space:
mode:
authorHenrik Tjäder <henrik@tjaders.com>2020-06-11 17:18:29 +0000
committerHenrik Tjäder <henrik@tjaders.com>2020-06-11 17:18:29 +0000
commit602a5b4374961dbcf7f3290053ab9b01f0622c67 (patch)
treed3e64006a7b310d34d82df7aa2a4467c03595e55 /book/ru/src
parent4a0393f756cc3ccd480f839eb6b6a9349326fe8e (diff)
Rename RTFM to RTIC
Diffstat (limited to 'book/ru/src')
-rw-r--r--book/ru/src/README_RU.md10
-rw-r--r--book/ru/src/SUMMARY.md2
-rw-r--r--book/ru/src/by-example.md6
-rw-r--r--book/ru/src/by-example/app.md20
-rw-r--r--book/ru/src/by-example/new.md12
-rw-r--r--book/ru/src/by-example/resources.md8
-rw-r--r--book/ru/src/by-example/tasks.md6
-rw-r--r--book/ru/src/by-example/timer-queue.md8
-rw-r--r--book/ru/src/by-example/tips.md6
-rw-r--r--book/ru/src/by-example/types-send-sync.md4
-rw-r--r--book/ru/src/preface.md6
11 files changed, 44 insertions, 44 deletions
diff --git a/book/ru/src/README_RU.md b/book/ru/src/README_RU.md
index 921837a..4cc24e6 100644
--- a/book/ru/src/README_RU.md
+++ b/book/ru/src/README_RU.md
@@ -1,4 +1,4 @@
-# Real Time For the Masses
+# Real-Time Interrupt-driven Concurrency
Конкурентный фреймворк для создания систем реального времени.
@@ -43,17 +43,17 @@
- Программы нужно писать используя 2018 edition.
-## [User documentation](https://japaric.github.io/cortex-m-rtfm/book)
+## [User documentation](https://japaric.github.io/cortex-m-rtic/book)
-## [API reference](https://japaric.github.io/cortex-m-rtfm/api/rtfm/index.html)
+## [API reference](https://japaric.github.io/cortex-m-rtic/api/rtic/index.html)
## Благодарности
-Эта библиотека основана на [языке RTFM][rtfm-lang], созданном Embedded
+Эта библиотека основана на [языке RTIC][rtic-lang], созданном Embedded
Systems group в [Техническом Университете Luleå][ltu], под рук.
[Prof. Per Lindgren][per].
-[rtfm-lang]: http://www.rtfm-lang.org/
+[rtic-lang]: http://www.rtic-lang.org/
[ltu]: https://www.ltu.se/?l=en
[per]: https://www.ltu.se/staff/p/pln-1.11258?l=en
diff --git a/book/ru/src/SUMMARY.md b/book/ru/src/SUMMARY.md
index 7831e41..7df745e 100644
--- a/book/ru/src/SUMMARY.md
+++ b/book/ru/src/SUMMARY.md
@@ -1,7 +1,7 @@
# Summary
[Введение](./preface.md)
-- [RTFM в примерах](./by-example.md)
+- [RTIC в примерах](./by-example.md)
- [Атрибут `app`](./by-example/app.md)
- [Ресурсы](./by-example/resources.md)
- [Задачи](./by-example/tasks.md)
diff --git a/book/ru/src/by-example.md b/book/ru/src/by-example.md
index c7a2a4a..0e0fde2 100644
--- a/book/ru/src/by-example.md
+++ b/book/ru/src/by-example.md
@@ -1,13 +1,13 @@
-# RTFM в примерах
+# RTIC в примерах
-Эта часть книги представляет фреймворк Real Time For the Masses (RTFM)
+Эта часть книги представляет фреймворк Real-Time Interrupt-driven Concurrency (RTIC)
новым пользователям через примеры с растущей сложностью.
Все примеры в этой книге можно найти в [репозитории] проекта на GitHub,
и большинство примеров можно запустить на эмуляторе QEMU, поэтому никакого
специального оборудования не требуется их выполнять.
-[репозитории]: https://github.com/japaric/cortex-m-rtfm
+[репозитории]: https://github.com/japaric/cortex-m-rtic
Чтобы запустить примеры на Вашем ноутбуке / ПК, Вам нужна программа
`qemu-system-arm`. Инструкции по настройке окружения для разработки
diff --git a/book/ru/src/by-example/app.md b/book/ru/src/by-example/app.md
index 884257d..04dd5b2 100644
--- a/book/ru/src/by-example/app.md
+++ b/book/ru/src/by-example/app.md
@@ -1,26 +1,26 @@
# The `app` attribute
-Это наименьшая возможная программа на RTFM:
+Это наименьшая возможная программа на RTIC:
``` rust
{{#include ../../../../examples/smallest.rs}}
```
-Все программы на RTFM используют атрибут [`app`] (`#[app(..)]`). Этот атрибут
+Все программы на RTIC используют атрибут [`app`] (`#[app(..)]`). Этот атрибут
нужно применять к `const`-элементам, содержащим элементы. Атрибут `app` имеет
обязательный аргумент `device`, в качестве значения которому передается *путь*.
Этот путь должен указывать на библиотеку *устройства*, сгенерированную с помощью
[`svd2rust`] **v0.14.x**. Атрибут `app` развернется в удобную точку входа,
поэтому нет необходимости использовать атрибут [`cortex_m_rt::entry`].
-[`app`]: ../../../api/cortex_m_rtfm_macros/attr.app.html
+[`app`]: ../../../api/cortex_m_rtic_macros/attr.app.html
[`svd2rust`]: https://crates.io/crates/svd2rust
[`cortex_m_rt::entry`]: ../../../api/cortex_m_rt_macros/attr.entry.html
> **ОТСТУПЛЕНИЕ**: Некоторые из вас удивятся, почему мы используем ключевое слово `const` как
> модуль, а не правильное `mod`. Причина в том, что использование атрибутов на
> модулях требует feature gate, который требует ночную сборку. Чтобы заставить
-> RTFM работать на стабильной сборке, мы используем вместо него слово `const`.
+> RTIC работать на стабильной сборке, мы используем вместо него слово `const`.
> Когда большая часть макросов 1.2 стабилизируются, мы прейдем от `const` к `mod` и в конце концов в атрибуту уровне приложения (`#![app]`).
## `init`
@@ -32,13 +32,13 @@
Функция `init` запустится *с отключенными прерываниями* и будет иметь эксклюзивный
доступ к периферии Cortex-M и специфичной для устройства периферии через переменные
`core` and `device`, которые внедряются в область видимости `init` атрибутом `app`.
-Не вся периферия Cortex-M доступна в `core`, потому что рантайм RTFM принимает владение
-частью из неё -- более подробно см. структуру [`rtfm::Peripherals`].
+Не вся периферия Cortex-M доступна в `core`, потому что рантайм RTIC принимает владение
+частью из неё -- более подробно см. структуру [`rtic::Peripherals`].
Переменные `static mut`, определённые в начале `init` будут преобразованы
в ссылки `&'static mut` с безопасным доступом.
-[`rtfm::Peripherals`]: ../../api/rtfm/struct.Peripherals.html
+[`rtic::Peripherals`]: ../../api/rtic/struct.Peripherals.html
Пример ниже показывает типы переменных `core` и `device` и
демонстрирует безопасный доступ к переменной `static mut`.
@@ -85,7 +85,7 @@ $ cargo run --example idle
Как Вы бы сделали с помощью библиотеки `cortex-m-rt`, Вы можете использовать атрибуты
`interrupt` и `exception` внутри псевдо-модуля `app`, чтобы определить обработчики
-прерываний и исключений. В RTFM, мы называем обработчики прерываний и исключений
+прерываний и исключений. В RTIC, мы называем обработчики прерываний и исключений
*аппаратными* задачами.
``` rust
@@ -96,6 +96,6 @@ $ cargo run --example idle
$ cargo run --example interrupt
{{#include ../../../../ci/expected/interrupt.run}}```
-До сих пор программы RTFM, которые мы видели не отличались от программ, которые
+До сих пор программы RTIC, которые мы видели не отличались от программ, которые
можно написать, используя только библиотеку `cortex-m-rt`. В следующем разделе
-мы начнем знакомиться с функционалом, присущим только RTFM.
+мы начнем знакомиться с функционалом, присущим только RTIC.
diff --git a/book/ru/src/by-example/new.md b/book/ru/src/by-example/new.md
index 688935e..cba84c1 100644
--- a/book/ru/src/by-example/new.md
+++ b/book/ru/src/by-example/new.md
@@ -1,6 +1,6 @@
# Создание нового проекта
-Теперь, когда Вы изучили основные возможности фреймворка RTFM, Вы можете
+Теперь, когда Вы изучили основные возможности фреймворка RTIC, Вы можете
попробовать его использовать на Вашем оборудовании следуя этим инструкциям.
1. Создайте экземпляр из шаблона [`cortex-m-quickstart`].
@@ -36,20 +36,20 @@ $ cargo add lm3s6965 --vers 0.1.3
$ rm memory.x build.rs
```
-3. Добавьте библиотеку `cortex-m-rtfm` как зависимость, и если необходимо,
+3. Добавьте библиотеку `cortex-m-rtic` как зависимость, и если необходимо,
включите опцию `timer-queue`.
``` console
-$ cargo add cortex-m-rtfm --allow-prerelease --upgrade=none
+$ cargo add cortex-m-rtic --allow-prerelease --upgrade=none
```
-4. Напишите программу RTFM.
+4. Напишите программу RTIC.
-Здесь я буду использовать пример `init` из библиотеки `cortex-m-rtfm`.
+Здесь я буду использовать пример `init` из библиотеки `cortex-m-rtic`.
``` console
$ curl \
- -L https://github.com/japaric/cortex-m-rtfm/raw/v0.4.0-beta.1/examples/init.rs \
+ -L https://github.com/japaric/cortex-m-rtic/raw/v0.4.0-beta.1/examples/init.rs \
> src/main.rs
```
diff --git a/book/ru/src/by-example/resources.md b/book/ru/src/by-example/resources.md
index 746363f..b53ef40 100644
--- a/book/ru/src/by-example/resources.md
+++ b/book/ru/src/by-example/resources.md
@@ -8,7 +8,7 @@
достаточно информации, чтобы оптимизировать доступ к разделяемым данным.
Атрибут `app` имеет полную картину приложения, поэтому может оптимизировать доступ к
-`static`-переменным. В RTFM мы обращаемся к `static`-переменным, объявленным внутри
+`static`-переменным. В RTIC мы обращаемся к `static`-переменным, объявленным внутри
псевдо-модуля `app` как к *ресурсам*. Чтобы получить доступ к ресурсу, контекст
(`init`, `idle`, `interrupt` или `exception`) должен сначала определить
аргумент `resources` в соответствующем атрибуте.
@@ -45,13 +45,13 @@ $ cargo run --example resource
критические секции не нужны для обработчика с наивысшим приоритетом, имеющим
доступ к ресурсу.
-API критической секции, предоставляемое фреймворком RTFM (см. [`Mutex`]),
+API критической секции, предоставляемое фреймворком RTIC (см. [`Mutex`]),
основано на динамических приоритетах вместо отключения прерываний. Из этого следует,
что критические секции не будут допускать *запуск некоторых* обработчиков,
включая все соперничающие за ресурс, но будут позволять запуск обработчиков с
большим приоритетом не соперничащих за ресурс.
-[`Mutex`]: ../../../api/rtfm/trait.Mutex.html
+[`Mutex`]: ../../../api/rtic/trait.Mutex.html
В примере ниже у нас есть 3 обработчика прерываний с приоритетами от одного
до трех. Два обработчика с низким приоритетом соперничают за ресурс `SHARED`.
@@ -61,7 +61,7 @@ API критической секции, предоставляемое фрей
с наивысшим приоритетом может свободно вытеснять критическую секцию,
созданную обработчиком с низшим приоритетом.
-[`lock`]: ../../../api/rtfm/trait.Mutex.html#method.lock
+[`lock`]: ../../../api/rtic/trait.Mutex.html#method.lock
``` rust
{{#include ../../../../examples/lock.rs}}
diff --git a/book/ru/src/by-example/tasks.md b/book/ru/src/by-example/tasks.md
index 355bd4e..3782804 100644
--- a/book/ru/src/by-example/tasks.md
+++ b/book/ru/src/by-example/tasks.md
@@ -1,12 +1,12 @@
# Программные задачи
-RTFM обрабатывает прерывания и исключения как *аппаратные* задачи. Аппаратные
+RTIC обрабатывает прерывания и исключения как *аппаратные* задачи. Аппаратные
задачи могут вызываться устройством в ответ на события, такие как нажатие кнопки.
-RTFM также поддерживает *программные* задачи, порождаемые программой из любого
+RTIC также поддерживает *программные* задачи, порождаемые программой из любого
контекста выполнения.
Программным задачам также можно назначать приоритет и диспетчеризовать из
-обработчиков прерываний. RTFM требует определения свободных прерываний в блоке
+обработчиков прерываний. RTIC требует определения свободных прерываний в блоке
`extern`, когда используются программные задачи; эти свободные прерывания будут использованы, чтобы диспетчеризовать программные задачи. Преимущество программных
задач перед аппаратными в том, что на один обработчик прерывания можно назначить
множество задач.
diff --git a/book/ru/src/by-example/timer-queue.md b/book/ru/src/by-example/timer-queue.md
index d747731..3c35e29 100644
--- a/book/ru/src/by-example/timer-queue.md
+++ b/book/ru/src/by-example/timer-queue.md
@@ -1,6 +1,6 @@
# Очередь таймера
-Когда включена опция `timer-queue`, фреймворк RTFM включает
+Когда включена опция `timer-queue`, фреймворк RTIC включает
*глобальную очередь таймера*, которую приложения могут использовать, чтобы
*планировать* программные задачи на запуск через некоторое время в будущем.
@@ -9,16 +9,16 @@
планируется, момент ([`Instant`]), в который задачу нужно запустить, нужно передать
как первый аргумент вызова `schedule`.
-[`Instant`]: ../../../api/rtfm/struct.Instant.html
+[`Instant`]: ../../../api/rtic/struct.Instant.html
-Рантайм RTFM включает монотонный, растущий только вверх, 32-битный таймер,
+Рантайм RTIC включает монотонный, растущий только вверх, 32-битный таймер,
значение которого можно запросить конструктором `Instant::now`. Время ([`Duration`])
можно передать в `Instant::now()`, чтобы получить `Instant` в будущем. Монотонный
таймер отключен пока запущен `init`, поэтому `Instant::now()` всегда возвращает
значение `Instant(0 /* циклов тактовой частоты */)`; таймер включается сразу перед
включением прерываний и запуском `idle`.
-[`Duration`]: ../../../api/rtfm/struct.Duration.html
+[`Duration`]: ../../../api/rtic/struct.Duration.html
В примере ниже две задачи планируются из `init`: `foo` и `bar`. `foo` -
запланирована на запуск через 8 миллионов тактов в будущем. Кроме того, `bar`
diff --git a/book/ru/src/by-example/tips.md b/book/ru/src/by-example/tips.md
index 4a39cbc..249e8f4 100644
--- a/book/ru/src/by-example/tips.md
+++ b/book/ru/src/by-example/tips.md
@@ -22,8 +22,8 @@ $ cargo run --example generics
## Запуск задач из ОЗУ
-Главной целью переноса описания программы на RTFM в атрибуты в
-RTFM v0.4.x была возможность взаимодействия с другими атрибутами.
+Главной целью переноса описания программы на RTIC в атрибуты в
+RTIC v0.4.x была возможность взаимодействия с другими атрибутами.
Напримерe, атрибут `link_section` можно применять к задачам, чтобы разместить
их в ОЗУ; это может улучшить производительность в некоторых случаях.
@@ -64,7 +64,7 @@ $ cargo nm --example ramfunc --release | grep ' bar::'
## `binds`
-**ПРИМЕЧАНИЕ**: Требуется RTFM не ниже 0.4.2
+**ПРИМЕЧАНИЕ**: Требуется RTIC не ниже 0.4.2
Вы можете давать аппаратным задачам имена похожие на имена обычных задач.
Для этого нужно использовать аргумент `binds`: Вы называете функцию
diff --git a/book/ru/src/by-example/types-send-sync.md b/book/ru/src/by-example/types-send-sync.md
index 77c9af0..8511889 100644
--- a/book/ru/src/by-example/types-send-sync.md
+++ b/book/ru/src/by-example/types-send-sync.md
@@ -19,7 +19,7 @@
## `Send`
[`Send`] - маркерный типаж (trait) для "типов, которые можно передавать через границы
-потоков", как это определено в `core`. В контексте RTFM типаж `Send` необходим
+потоков", как это определено в `core`. В контексте RTIC типаж `Send` необходим
только там, где возможна передача значения между задачами, запускаемыми на
*разных* приоритетах. Это возникает в нескольких случаях: при передаче сообщений,
в совместно используемых `static mut` ресурсах и инициализации поздних ресурсов.
@@ -41,7 +41,7 @@
## `Sync`
Похожая ситуация, [`Sync`] - маркерный типаж для "типов, на которых можно
-ссылаться в разных потоках", как это определено в `core`. В контексте RTFM
+ссылаться в разных потоках", как это определено в `core`. В контексте RTIC
типаж `Sync` необходим только там, где возможны две или более задачи,
запускаемые на разных приоритетах, чтобы захватить разделяемую ссылку на
ресурс. Это возникает только совместно используемых `static`-ресурсах.
diff --git a/book/ru/src/preface.md b/book/ru/src/preface.md
index e9ed2a2..bfae004 100644
--- a/book/ru/src/preface.md
+++ b/book/ru/src/preface.md
@@ -1,11 +1,11 @@
-<h1 align="center">Real Time For the Masses</h1>
+<h1 align="center">Real-Time Interrupt-driven Concurrency</h1>
<p align="center">Конкурентный фреймворк для создания систем реального времени</p>
# Введение
-Эта книга содержит документацию уровня пользователя фреймворком Real Time For the Masses
-(RTFM). Описание API можно найти [здесь](../../api/rtfm/index.html).
+Эта книга содержит документацию уровня пользователя фреймворком Real-Time Interrupt-driven Concurrency
+(RTIC). Описание API можно найти [здесь](../../api/rtic/index.html).
{{#include README_RU.md:5:44}}