blob: 6a898b4976e4357593baae3e0f01bde128fbe502 [file] [log] [blame] [view] [edit]
# Appendix A: Glossary
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).
### FPU
Floating-point Unit. A 'math processor' running only operations on floating-point numbers.
### 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).
### 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
[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).
### SPI
Serial Peripheral Interface. See [here][spi] for more information.
[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).
### UART
Universal asynchronous receiver-transmitter. See [here][uart] for more information.
[uart]: https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter
### USART
Universal synchronous and asynchronous receiver-transmitter. See [here][usart] for more information.
[usart]: https://en.wikipedia.org/wiki/Universal_synchronous_and_asynchronous_receiver-transmitter