Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@
# The Embedded Rust Book
# Книга по Embedded Rust

> Documentation on how to use the Rust Programming Language to develop firmware for bare metal (microcontroller) devices
> Документация по использованию языка программирования Rust для разработки прошивок для устройств без операционной системы (микроконтроллеры)

This project is developed and maintained by the [Resources team][team].
Данный перевод был сделан с помощью нейросети, поэтому могут быть ошибки, которые при нахождении будут исправлены

See [the issue tracker] for more details. This book is a living document, and is updated continuously.
Этот проект разрабатывается и поддерживается [командой ресурсов][team].

[the issue tracker]: https://github.com/rust-embedded/book/issues
Подробности можно найти в [отслеживателе задач]. Эта книга является живым документом и постоянно обновляется.

## Online Copies of this Book
[отслеживатель задач]: https://github.com/rust-embedded/book/issues

This book is located at https://docs.rust-embedded.org/book/
## Онлайн-копии этой книги

## License
Эта книга доступна по адресу https://docs.rust-embedded.org/book/

The Embedded Rust Book (this project) is distributed under the following licenses:
## Лицензия

* The code samples and free-standing Cargo projects contained within this book are licensed under the terms of both the [MIT License] and the [Apache License v2.0].
* The written prose contained within this book is licensed under the terms of the Creative Commons [CC-BY-SA v4.0] license.
Книга по Embedded Rust (этот проект) распространяется под следующими лицензиями:

Copies of the licenses used by this project may also be found here:
* Примеры кода и отдельные проекты Cargo, содержащиеся в этой книге, лицензируются на условиях [MIT License] и [Apache License v2.0].
* Книга лицензируется на условиях лицензии Creative Commons [CC-BY-SA v4.0].

* [MIT License Hosted]
* [Apache License v2.0 Hosted]
* [CC-BY-SA v4.0 Hosted]
Копии лицензий, используемых этим проектом, также можно найти здесь:

* [MIT License]
* [Apache License v2.0]
* [CC-BY-SA v4.0]

[MIT License]: ./LICENSE-MIT
[Apache License v2.0]: ./LICENSE-APACHE
Expand All @@ -32,15 +34,13 @@ Copies of the licenses used by this project may also be found here:
[Apache License v2.0 Hosted]: http://www.apache.org/licenses/LICENSE-2.0
[CC-BY-SA v4.0 Hosted]: https://creativecommons.org/licenses/by-sa/4.0/legalcode

### Contribution
### Вклад

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.
Если не указано иное, любой вклад, намеренно представленный для включения в этот проект, как определено в лицензии Apache-2.0, лицензируется, как указано выше, без дополнительных условий.

## Code of Conduct
## Кодекс поведения

Contribution to this crate is organized under the terms of the [Rust Code of
Conduct][CoC], the maintainer of this crate, the [Resources team][team], promises
to intervene to uphold that code of conduct.
Вклад в этот проект организуется в соответствии с [Кодексом поведения Rust][CoC], и сопровождающий этого проекта, [команда ресурсов][team], обязуется вмешиваться для соблюдения этого кодекса.

[CoC]: CODE_OF_CONDUCT.md
[team]: https://github.com/rust-embedded/wg#the-resources-team
87 changes: 43 additions & 44 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,59 @@
# Summary
# Содержание

<!--

Definition of the organization of this book is still a work in process.
Организация этой книги всё ещё находится в процессе разработки.

Refer to https://github.com/rust-embedded/book/issues for
more information and coordination
Для дополнительной информации и координации обратитесь к https://github.com/rust-embedded/book/issues

-->

- [Introduction](./intro/index.md)
- [Hardware](./intro/hardware.md)
- [Введение](./intro/index.md)
- [Аппаратное обеспечение](./intro/hardware.md)
- [`no_std`](./intro/no-std.md)
- [Tooling](./intro/tooling.md)
- [Installation](./intro/install.md)
- [Инструменты](./intro/tooling.md)
- [Установка](./intro/install.md)
- [Linux](./intro/install/linux.md)
- [MacOS](./intro/install/macos.md)
- [Windows](./intro/install/windows.md)
- [Verify Installation](./intro/install/verify.md)
- [Getting started](./start/index.md)
- [Проверка установки](./intro/install/verify.md)
- [Начало работы](./start/index.md)
- [QEMU](./start/qemu.md)
- [Hardware](./start/hardware.md)
- [Memory-mapped Registers](./start/registers.md)
- [Semihosting](./start/semihosting.md)
- [Panicking](./start/panicking.md)
- [Exceptions](./start/exceptions.md)
- [Interrupts](./start/interrupts.md)
- [IO](./start/io.md)
- [Peripherals](./peripherals/index.md)
- [A first attempt in Rust](./peripherals/a-first-attempt.md)
- [The Borrow Checker](./peripherals/borrowck.md)
- [Singletons](./peripherals/singletons.md)
- [Static Guarantees](./static-guarantees/index.md)
- [Typestate Programming](./static-guarantees/typestate-programming.md)
- [Peripherals as State Machines](./static-guarantees/state-machines.md)
- [Design Contracts](./static-guarantees/design-contracts.md)
- [Zero Cost Abstractions](./static-guarantees/zero-cost-abstractions.md)
- [Portability](./portability/index.md)
- [Concurrency](./concurrency/index.md)
- [Collections](./collections/index.md)
- [Design Patterns](./design-patterns/index.md)
- [HALs](./design-patterns/hal/index.md)
- [Checklist](./design-patterns/hal/checklist.md)
- [Naming](./design-patterns/hal/naming.md)
- [Interoperability](./design-patterns/hal/interoperability.md)
- [Predictability](./design-patterns/hal/predictability.md)
- [Аппаратное обеспечение](./start/hardware.md)
- [Регистры с отображением в память](./start/registers.md)
- [Полухостинг](./start/semihosting.md)
- [Паника](./start/panicking.md)
- [Исключения](./start/exceptions.md)
- [Прерывания](./start/interrupts.md)
- [Ввод/вывод](./start/io.md)
- [Периферийные устройства](./peripherals/index.md)
- [Первая попытка на Rust](./peripherals/a-first-attempt.md)
- [Проверка заимствования](./peripherals/borrowck.md)
- [Синглтоны](./peripherals/singletons.md)
- [Статические гарантии](./static-guarantees/index.md)
- [Программирование с использованием типовых состояний](./static-guarantees/typestate-programming.md)
- [Периферийные устройства как конечные автоматы](./static-guarantees/state-machines.md)
- [Контракты проектирования](./static-guarantees/design-contracts.md)
- [Абстракции с нулевой стоимостью](./static-guarantees/zero-cost-abstractions.md)
- [Портируемость](./portability/index.md)
- [Параллелизм](./concurrency/index.md)
- [Коллекции](./collections/index.md)
- [Шаблоны проектирования](./design-patterns/index.md)
- [HAL](./design-patterns/hal/index.md)
- [Контрольный список](./design-patterns/hal/checklist.md)
- [Именование](./design-patterns/hal/naming.md)
- [Взаимодействие](./design-patterns/hal/interoperability.md)
- [Предсказуемость](./design-patterns/hal/predictability.md)
- [GPIO](./design-patterns/hal/gpio.md)
- [Tips for embedded C developers](./c-tips/index.md)
<!-- TODO: Define Sections -->
- [Interoperability](./interoperability/index.md)
- [A little C with your Rust](./interoperability/c-with-rust.md)
- [A little Rust with your C](./interoperability/rust-with-c.md)
- [Unsorted topics](./unsorted/index.md)
- [Optimizations: The speed size tradeoff](./unsorted/speed-vs-size.md)
- [Performing Math Functionality](./unsorted/math.md)
- [Советы для разработчиков на C для встраиваемых систем](./c-tips/index.md)
<!-- TODO: Определить разделы -->
- [Взаимодействие](./interoperability/index.md)
- [Немного C с вашим Rust](./interoperability/c-with-rust.md)
- [Немного Rust с вашим C](./interoperability/rust-with-c.md)
- [Неклассифицированные темы](./unsorted/index.md)
- [Оптимизации: компромисс между скоростью и размером](./unsorted/speed-vs-size.md)
- [Выполнение математических операций](./unsorted/math.md)

---

[Appendix A: Glossary](./appendix/glossary.md)
[Приложение A: Глоссарий](./appendix/glossary.md)
47 changes: 19 additions & 28 deletions src/appendix/glossary.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,55 @@
# Appendix A: Glossary
# Приложение A: Глоссарий

The embedded ecosystem is full of different protocols, hardware components and
vendor-specific things that use their own terms and abbreviations. This Glossary
attempts to list them with pointers for understanding them better.
Экосистема встраиваемых систем полна различных протоколов, аппаратных компонентов и специфичных для производителей терминов и аббревиатур. Этот глоссарий стремится перечислить их с указателями для лучшего понимания.

### BSP

A Board Support Crate provides a high level interface configured for a specific
board. It usually depends on a [HAL](#hal) crate.
There is a more detailed description on the [memory-mapped registers page](../start/registers.md)
or for a broader overview see [this video](https://youtu.be/vLYit_HHPaY).
Крейт поддержки платы (Board Support Crate) предоставляет высокоуровневый интерфейс, настроенный для конкретной платы. Обычно он зависит от крейта [HAL](#hal).
Более подробное описание можно найти на [странице о регистрах с отображением в память](../start/registers.md)
или для более общего обзора смотрите [это видео](https://youtu.be/vLYit_HHPaY).

### FPU

Floating-point Unit. A 'math processor' running only operations on floating-point numbers.
Блок операций с плавающей запятой (Floating-point Unit). "Математический процессор", выполняющий операции только с числами с плавающей запятой.

### HAL

A Hardware Abstraction Layer crate provides a developer friendly interface to a microcontroller's
features and peripherals. It is usually implemented on top of a [Peripheral Access Crate (PAC)](#pac).
It may also implement traits from the [`embedded-hal`](https://crates.io/crates/embedded-hal) crate.
There is a more detailed description on the [memory-mapped registers page](../start/registers.md)
or for a broader overview see [this video](https://youtu.be/vLYit_HHPaY).
Крейт уровня абстракции аппаратного обеспечения (Hardware Abstraction Layer) предоставляет удобный для разработчика интерфейс к функциям и периферийным устройствам микроконтроллера. Обычно он реализуется поверх крейта [Peripheral Access Crate (PAC)](#pac).
Также он может реализовывать трейты из крейта [`embedded-hal`](https://crates.io/crates/embedded-hal).
Более подробное описание можно найти на [странице о регистрах с отображением в память](../start/registers.md)
или для более общего обзора смотрите [это видео](https://youtu.be/vLYit_HHPaY).

### I2C

Sometimes referred to as `I²C` or Inter-IC. It is a protocol meant for hardware communication
within a single integrated circuit. See [here][i2c] for more details
Иногда обозначается как `I²C` или Inter-IC. Это протокол, предназначенный для коммуникации между аппаратными компонентами внутри одной интегральной схемы. Подробности смотрите [здесь][i2c].

[i2c]: https://en.wikipedia.org/wiki/I2c

### PAC

A Peripheral Access Crate provides access to a microcontroller's peripherals. It is one of
the lower level crates and is usually generated directly from the provided [SVD](#svd), often
using [svd2rust](https://github.com/rust-embedded/svd2rust/). The [Hardware Abstraction Layer](#hal)
would usually depend on this crate.
There is a more detailed description on the [memory-mapped registers page](../start/registers.md)
or for a broader overview see [this video](https://youtu.be/vLYit_HHPaY).
Крейт доступа к периферийным устройствам (Peripheral Access Crate) предоставляет доступ к периферийным устройствам микроконтроллера. Это один из низкоуровневых крейтов, который обычно генерируется непосредственно из предоставленного [SVD](#svd), часто с использованием [svd2rust](https://github.com/rust-embedded/svd2rust/). Крейт [уровня абстракции аппаратного обеспечения](#hal) обычно зависит от этого крейта.
Более подробное описание можно найти на [странице о регистрах с отображением в память](../start/registers.md)
или для более общего обзора смотрите [это видео](https://youtu.be/vLYit_HHPaY).

### SPI

Serial Peripheral Interface. See [here][spi] for more information.
Интерфейс периферийных устройств (Serial Peripheral Interface). Подробности смотрите [здесь][spi].

[spi]: https://en.wikipedia.org/wiki/Serial_peripheral_interface

### SVD

System View Description is an XML file format used to describe the programmers view of a
microcontroller device. You can read more about it on
[the ARM CMSIS documentation site](https://www.keil.com/pack/doc/CMSIS/SVD/html/index.html).
Описание системного вида (System View Description) — это формат XML-файла, используемый для описания представления микроконтроллера с точки зрения программиста. Подробности можно прочитать на
[сайте документации ARM CMSIS](https://www.keil.com/pack/doc/CMSIS/SVD/html/index.html).

### UART

Universal asynchronous receiver-transmitter. See [here][uart] for more information.
Универсальный асинхронный приёмопередатчик (Universal Asynchronous Receiver-Transmitter). Подробности смотрите [здесь][uart].

[uart]: https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter

### USART

Universal synchronous and asynchronous receiver-transmitter. See [here][usart] for more information.
Универсальный синхронный и асинхронный приёмопередатчик (Universal Synchronous and Asynchronous Receiver-Transmitter). Подробности смотрите [здесь][usart].

[usart]: https://en.wikipedia.org/wiki/Universal_synchronous_and_asynchronous_receiver-transmitter
Loading