diff options
| author | Jorge Aparicio <jorge@japaric.io> | 2019-02-11 21:40:53 +0100 |
|---|---|---|
| committer | Jorge Aparicio <jorge@japaric.io> | 2019-02-11 21:40:53 +0100 |
| commit | 0007a35a274ab2d07eb937e41971ea5e2c1cb5ff (patch) | |
| tree | 98361d6d3dfced4b068771c31163b324573294b7 /book/ru/src/by-example/new.md | |
| parent | 68a937a72a3a6d261076803d38b7d9b2cb9e3067 (diff) | |
change layout of books
Diffstat (limited to 'book/ru/src/by-example/new.md')
| -rw-r--r-- | book/ru/src/by-example/new.md | 67 |
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}}``` |
