aboutsummaryrefslogtreecommitdiff
path: root/book/ru/src/by-example/new.md
diff options
context:
space:
mode:
authorJorge Aparicio <jorge@japaric.io>2019-02-11 21:40:53 +0100
committerJorge Aparicio <jorge@japaric.io>2019-02-11 21:40:53 +0100
commit0007a35a274ab2d07eb937e41971ea5e2c1cb5ff (patch)
tree98361d6d3dfced4b068771c31163b324573294b7 /book/ru/src/by-example/new.md
parent68a937a72a3a6d261076803d38b7d9b2cb9e3067 (diff)
change layout of books
Diffstat (limited to 'book/ru/src/by-example/new.md')
-rw-r--r--book/ru/src/by-example/new.md67
1 files changed, 67 insertions, 0 deletions
diff --git a/book/ru/src/by-example/new.md b/book/ru/src/by-example/new.md
new file mode 100644
index 0000000..688935e
--- /dev/null
+++ b/book/ru/src/by-example/new.md
@@ -0,0 +1,67 @@
+# Создание нового проекта
+
+Теперь, когда Вы изучили основные возможности фреймворка RTFM, Вы можете
+попробовать его использовать на Вашем оборудовании следуя этим инструкциям.
+
+1. Создайте экземпляр из шаблона [`cortex-m-quickstart`].
+
+[`cortex-m-quickstart`]: https://github.com/rust-embedded/cortex-m-quickstart#cortex-m-quickstart
+
+``` console
+$ # например используя `cargo-generate`
+$ cargo generate \
+ --git https://github.com/rust-embedded/cortex-m-quickstart \
+ --name app
+
+$ # следуйте остальным инструкциям
+```
+
+2. Добавьте крейт устройства, сгенерированный с помощью [`svd2rust`] **v0.14.x**,
+или библиотеку отладочной платы, у которой в зависимостях одно из устройств.
+ Убедитесь, что опция `rt` крейта включена.
+
+[`svd2rust`]: https://crates.io/crates/svd2rust
+
+В этом примере я покажу использование крейта устройства [`lm3s6965`].
+Эта библиотека не имеет Cargo-опции `rt`; эта опция всегда включена.
+
+[`lm3s6965`]: https://crates.io/crates/lm3s6965
+
+Этот крейт устройства предоставляет линковочный скрипт с макетом памяти
+целевого устройства, поэтому `memory.x` и `build.rs` не нужно удалять.
+
+``` console
+$ cargo add lm3s6965 --vers 0.1.3
+
+$ rm memory.x build.rs
+```
+
+3. Добавьте библиотеку `cortex-m-rtfm` как зависимость, и если необходимо,
+включите опцию `timer-queue`.
+
+``` console
+$ cargo add cortex-m-rtfm --allow-prerelease --upgrade=none
+```
+
+4. Напишите программу RTFM.
+
+Здесь я буду использовать пример `init` из библиотеки `cortex-m-rtfm`.
+
+``` console
+$ curl \
+ -L https://github.com/japaric/cortex-m-rtfm/raw/v0.4.0-beta.1/examples/init.rs \
+ > src/main.rs
+```
+
+Этот пример зависит от библиотеки `panic-semihosting`:
+
+``` console
+$ cargo add panic-semihosting
+```
+
+5. Соберите его, загрузите в микроконтроллер и запустите.
+
+``` console
+$ # ПРИМЕЧАНИЕ: Я раскомментировал опцию `runner` в `.cargo/config`
+$ cargo run
+{{#include ../../../../ci/expected/init.run}}```