aboutsummaryrefslogtreecommitdiff
path: root/book/ru/src/internals
diff options
context:
space:
mode:
authorJorge Iglesias Garcia <44316552+jorgeig-space@users.noreply.github.com>2021-08-27 11:16:51 +0800
committerGitHub <noreply@github.com>2021-08-27 11:16:51 +0800
commit77427f962dec01b3aa49a5e4a2a77293794d8f2e (patch)
treea0844994c04e264343571f916f81e87f4bc4e4ad /book/ru/src/internals
parenta4b6fb3404bbdbb853cc3fe6c7a110ddc3beb1a7 (diff)
parent22ec841ee14cc313b1725ff6ab6de1b5706d2824 (diff)
Merge branch 'rtic-rs:master' into master
Diffstat (limited to 'book/ru/src/internals')
-rw-r--r--book/ru/src/internals/late-resources.md3
-rw-r--r--book/ru/src/internals/tasks.md10
2 files changed, 6 insertions, 7 deletions
diff --git a/book/ru/src/internals/late-resources.md b/book/ru/src/internals/late-resources.md
index 0fad0ae..146c438 100644
--- a/book/ru/src/internals/late-resources.md
+++ b/book/ru/src/internals/late-resources.md
@@ -103,8 +103,7 @@ mod app {
}
```
-Важная деталь здесь то, что `interrupt::enable` ведет себя как like a *compiler
-fence*, которое не дает компилятору пореставить запись в `X` *после*
+Важная деталь здесь то, что `interrupt::enable` ведет себя как *барьер компиляции*, который не дает компилятору переставить запись в `X` *после*
`interrupt::enable`. Если бы компилятор мог делать такие перестановки появились
бы гонки данных между этой записью и любой операцией `foo`, взаимодействующей с `X`.
diff --git a/book/ru/src/internals/tasks.md b/book/ru/src/internals/tasks.md
index 6650325..01380ba 100644
--- a/book/ru/src/internals/tasks.md
+++ b/book/ru/src/internals/tasks.md
@@ -79,8 +79,8 @@ mod app {
}
// очередь готовности диспетчера задач
- // `U4` - целое число, представляющее собой емкость этой очереди
- static mut RQ1: Queue<Ready<T1>, U4> = Queue::new();
+ // `5-1=4` - представляет собой емкость этой очереди
+ static mut RQ1: Queue<Ready<T1>, 5> = Queue::new();
// обработчик прерывания, выбранный для диспетчеризации задач с приоритетом `1`
#[no_mangle]
@@ -151,9 +151,9 @@ mod app {
const RQ1_CEILING: u8 = 2;
// используется, чтобы отследить сколько еще сообщений для `bar` можно поставить в очередь
- // `U2` - емкость задачи `bar`; максимум 2 экземпляра можно добавить в очередь
+ // `3-1=2` - емкость задачи `bar`; максимум 2 экземпляра можно добавить в очередь
// эта очередь заполняется фреймворком до того, как запустится `init`
- static mut bar_FQ: Queue<(), U2> = Queue::new();
+ static mut bar_FQ: Queue<(), 3> = Queue::new();
// Поиск максимального приоритета для конечного потребителя `bar_FQ`
const bar_FQ_CEILING: u8 = 2;
@@ -227,7 +227,7 @@ mod app {
// список свободной памяти: используется для отслеживания свободных ячеек в массиве `baz_INPUTS`
// эта очередь инициализируется значениями `0` и `1` перед запуском `init`
- static mut baz_FQ: Queue<u8, U2> = Queue::new();
+ static mut baz_FQ: Queue<u8, 3> = Queue::new();
// Поиск максимального приоритета для конечного потребителя `baz_FQ`
const baz_FQ_CEILING: u8 = 2;