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 crate. There is a more detailed description on the memory-mapped registers page or for a broader overview see this video.
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). It may also implement traits from the embedded-hal crate. There is a more detailed description on the memory-mapped registers page or for a broader overview see this video.
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 for more details
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, often using svd2rust. The Hardware Abstraction Layer would usually depend on this crate. There is a more detailed description on the memory-mapped registers page or for a broader overview see this video.
SPI
Serial Peripheral Interface. See here for more information.
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.
UART
Universal asynchronous receiver-transmitter. See here for more information.
USART
Universal synchronous and asynchronous receiver-transmitter. See here for more information.