diff options
| author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-02-11 20:41:49 +0000 |
|---|---|---|
| committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-02-11 20:41:49 +0000 |
| commit | 672886a67a80136f5620115772ceec1a628d8ee6 (patch) | |
| tree | 98361d6d3dfced4b068771c31163b324573294b7 /book/ru/src/by-example/new.md | |
| parent | 1d52964df7abf9fba09933470d5c3dcce96760c4 (diff) | |
| parent | 0007a35a274ab2d07eb937e41971ea5e2c1cb5ff (diff) | |
Merge #139
139: russian translation r=japaric a=japaric
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com>
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}}``` |
