diff options
| author | Andrey Zgarbul <zgarbul.andrey@gmail.com> | 2019-02-08 23:18:51 +0300 |
|---|---|---|
| committer | Andrey Zgarbul <zgarbul.andrey@gmail.com> | 2019-02-08 23:18:51 +0300 |
| commit | 5ef1f2088a089e9ac731cfc2037282a6033c2c82 (patch) | |
| tree | 5bad376b2f1d716eda5efb61b7bfcf61a4711e30 /ru/src/by-example/new.md | |
| parent | 45659fdbbc1163efd71ed89f892beeeeffd54cee (diff) | |
russian translation
Diffstat (limited to 'ru/src/by-example/new.md')
| -rw-r--r-- | ru/src/by-example/new.md | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/ru/src/by-example/new.md b/ru/src/by-example/new.md new file mode 100644 index 0000000..f3aa455 --- /dev/null +++ b/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}}``` |
