Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Вступ

Ласкаво просимо до The Embedded Rust Book: ознайомчої книги про використання мови програмування Rust у вбудованих “Bare Metal” системах, таких як мікроконтролери.

Для кого Вбудований Rust

Вбудований Rust для кожного, хто бажає програмувати вбудовані системи використовуючи переваги концепцій вищого рівня та гарантій безпеки, які надає мова Rust. (Дивіться також Для кого Rust)

Область застосування

Цілі цієї книги:

  • Надати розробникам швидкий доступ до розробки вбудованих систем на Rust. Тобто як налаштувати середовище розробки.
  • Поділіться найкращими сучасними практиками використання Rust для розробки вбудованих систем. Тобто як найкраще використовувати можливості мови Rust для написання більш коректних вбудованих програм.
  • Cлугувати кулінарною книгою у деяких випадках. Наприклад як поєднати C та Rust в одному проекті?

Ця книга намагається бути якомога більш загальною, але щоб полегшити роботу як читачам, так і авторам, у ній використовується архітектура ARM Cortex-M у всіх її прикладах. Однак книга не передбачає, що читач знайомий із цією конкретною архітектурою, і пояснює деталі, пов’язані з цією архітектурою, де потрібно.

Для кого Ця Книга

Ця книга розрахована на людей, які мають досвід роботи з вбудованими програмами або з Rust, але ми віримо, що всі, хто цікавиться програмуванням у вбудованому Rust, можуть щось отримати з цієї книги. Для тих, хто не має попередніх знань, ми пропонуємо прочитати розділ «Припущення та передумови» та надолужити пропущені знання, щоб отримати більше від книги та покращити свій досвід читання. Ви можете переглянути розділ «Інші ресурси», щоб знайти ресурси на теми, які, можливо, захочете надолужити.

Припущення та передумови

  • Вам зручно користуватися мовою програмування Rust і ви вже писали, запускали та налагоджували програми Rust у середовищі робочого столу. Ви також повинні бути знайомі з ідіомами 2018 Edition, оскільки ця книга спрямована на Rust 2018.
  • Вам зручно розробляти та налагоджувати вбудовані системи іншою мовою, наприклад C, C++ або Ada, і ви знайомі з такими поняттями, як:

    • Крос-компіляція
    • Периферійні пристрої з відображенням у пам’яті
    • Переривання
    • Загальні інтерфейси, такі як I2C, SPI, Serial тощо.

Інші ресурси

Якщо ви не знайомі з чимось із згаданого вище або вам потрібна додаткова інформація про конкретну тему, згадану в цій книзі, деякі з цих ресурсів можуть стати в нагоді.

TopicResourceDescription
RustRust BookIf you are not yet comfortable with Rust, we highly suggest reading this book.
Rust, EmbeddedDiscovery BookIf you have never done any embedded programming, this book might be a better start
Rust, EmbeddedEmbedded Rust BookshelfHere you can find several other resources provided by Rust’s Embedded Working Group.
Rust, EmbeddedEmbedonomiconThe nitty gritty details when doing embedded programming in Rust.
Rust, Embeddedembedded FAQFrequently asked questions about Rust in an embedded context.
Rust, EmbeddedComprehensive Rust 🦀: Bare MetalTeaching material for a 4-day class on bare-metal Rust development
InterruptsInterrupt-
Memory-mapped IO/PeripheralsMemory-mapped I/O-
SPI, UART, RS232, USB, I2C, TTLStack Exchange about SPI, UART, and other interfaces-

Переклади

Цю книгу перекладено волонтерами. Якщо ви хочете, щоб ваш переклад був тут, будь ласка, відкрийте запит на злиття, щоб додати його.

Як читати цю книгу

Ця книга зазвичай передбачає, що ви читаєте її послідовно. Подальші розділи ґрунтуються на концепціях попередніх розділів, і попередні розділи можуть не заглиблюватися в деталі теми, повертаючись до неї в наступному розділі.

Для більшості наведених у цій книзі прикладів використовуватиметься розробна плата STM32F3DISCOVERY від STMicroelectronics. Ця плата заснована на архітектурі ARM Cortex-M, і хоча основні функції однакові для більшості процесорів на основі цієї архітектури, периферійні пристрої та інші деталі реалізації відрізняються у мікроконтролерах різних постачальників, і часто навіть різняться між сімействами мікроконтролерів одного й того ж постачальника.

З цієї причини ми пропонуємо придбати плату розробки STM32F3DISCOVERY щоб повторювати приклади з цієї книги.

Внесок у цю книгу

Робота над цією книгою координується в цьому сховищі і в основному розробляється командою ресурсів.

Якщо у вас виникли проблеми з дотриманням інструкцій з цієї книги або ви вважаєте, що якийсь розділ книги недостатньо зрозумілий або складний для виконання, то це помилка, і про неї слід повідомити в трекері випуску цієї книги.

Запити на виправлення помилок і додавання нового матеріалу дуже вітаються!

Повторне використання цього матеріалу

Ця книга розповсюджується за наступними ліцензіями:

  • Зразки коду та окремі проекти Cargo, що містяться в цій книзі, ліцензовано відповідно до умов MIT License та Apache License v2.0.
  • Текст, малюнки та діаграми, що містяться в цій книзі, ліцензовані відповідно до умов ліцензії Creative Commons CC-BY-SA v4.0.

TL;DR: Якщо ви маєте намір використовувати наш текст або зображення у своїй роботі, вам потрібно:

  • Надати відповідне посилання (тобто згадати цю книгу на своєму слайді та надати посилання на відповідну сторінку)
  • Надати посилання на ліцензію CC-BY-SA v4.0
  • Вказати, чи змінювали ви матеріал будь-яким чином, і зробити зміни в наші матеріали доступними за тією ж ліцензією

Також, будь ласка, повідомте нам, якщо ви знайдете цю книгу корисною!