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

Terminology and Glossary

You can look up some terms in this terminology chapter if you have never heard them before or if they confused you.

  • Peripheral: Dedicated hardware unit. On microcontrollers, this can be something like a UART, SPI or timer hardware block.
  • Flash: Non-volatile memory which you can use to store your code and constants.
  • Stack: Local memory that your program uses as it executes functions
  • Heap: Free memory that can be allocated in blocks. Oftentimes not available on microcontrollers.
  • Static: Usually refers to the lifetime of a variable. A static variable is valid for the whole program duration.
  • RAM: Volatile memory used to store your stack, heap and static variables.
  • Processor: Executes your code.
  • MCU or Microcontroller: Integrates the processor, peripherals, flash, RAM and is usually placed on a printed circuit board as part of an embedded system.
  • Firmware: Software which interacts a lot with hardware. Usually refers to the finished software product on your MCU which runs the embedded system.
  • PCB - Printed Circuit Board: This is usually an electronic circuit integrated on a sandwhich structure. Oftentimes, chips, sensors and other components will be soldered on top of the PCB.
  • UART - Universal Asynchronous Receiver-Transmitter: Asynchronous serial communication interface which only requires two physical pins, one for transmission and one for reception.
  • DMA - Direct Memory Access: Hardware subsystems can access the memory of a system directly without CPU intervention.
  • HAL - Hardware Abstraction Layer: High level library providing drivers for the hardware blocks on a microcontroller.