diff options
| author | Jorge Iglesias Garcia <44316552+jorgeig-space@users.noreply.github.com> | 2021-08-27 11:16:51 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-27 11:16:51 +0800 |
| commit | 77427f962dec01b3aa49a5e4a2a77293794d8f2e (patch) | |
| tree | a0844994c04e264343571f916f81e87f4bc4e4ad /book/ru/src/internals | |
| parent | a4b6fb3404bbdbb853cc3fe6c7a110ddc3beb1a7 (diff) | |
| parent | 22ec841ee14cc313b1725ff6ab6de1b5706d2824 (diff) | |
Merge branch 'rtic-rs:master' into master
Diffstat (limited to 'book/ru/src/internals')
| -rw-r--r-- | book/ru/src/internals/late-resources.md | 3 | ||||
| -rw-r--r-- | book/ru/src/internals/tasks.md | 10 |
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; |
