Microcontrollers, SoCs, and Development Boards Questions

Selecting and reasoning about microcontroller and system-on-chip families, evaluation boards, and reference platforms for embedded work. Covers CPU cores, memory maps, on-chip peripherals, boot flow, and the trade-offs between MCU, MPU, and SoC targets. Includes how architecture choices constrain firmware and toolchain decisions.

HardTechnical
79 practiced

Explain how instruction and data caches interact with DMA and memory-mapped peripherals on systems that include caches. Describe cache maintenance operations (invalidate, clean, clean-invalidate), memory attribute configuration (device vs normal memory), and the sequence needed to safely perform DMA reads and writes to cached memory regions.

MediumTechnical
77 practiced

Explain how memory alignment and structure packing can affect DMA transfers and peripheral accesses on microcontrollers. Provide examples of issues (misaligned buffers causing bus faults or performance penalties) and how to ensure DMA-safe buffers and data structures (.align directives, padding, linker placement).

HardTechnical
70 practiced

You must port low-level peripheral drivers written for an 8-bit AVR to a 32-bit ARM Cortex-M family. Describe the major hardware and software differences you must handle during the port: register width and alignment, endianness, ISR entry/exit conventions, interrupt priorities, calling conventions, memory model, and common pitfalls when moving from an 8-bit to a 32-bit architecture.

MediumTechnical
82 practiced

Explain how to use a DMA controller to transfer ADC samples to RAM with minimal CPU intervention. Describe key DMA configuration parameters (source/destination increment, data width, transfer length, circular mode), how to handle buffer wrap-around and half/full transfer interrupts, and how you'd detect and recover from buffer overrun conditions.

EasyTechnical
97 practiced

Define endianness and explain the practical effects of little-endian vs big-endian on reading multi-byte hardware registers, packing data for network transmission, and DMA transfers between peripherals and memory. How would you write portable code to handle endianness differences when communicating with an external device?

Unlock Full Question Bank

Get access to all 39 Microcontrollers, SoCs, and Development Boards interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.