Source description
About the role
Degree (1st or 2.1) or equivalent, in Electronics, Embedded Software, Signal Processing or related discipline
Strong professional experience of developing embedded firmware in C/C++ for fixed-point and floating-point DSPs and embedded platforms.
Ability to go from a Matlab algorithm design to an embedded firmware design in C/C++ for fixed-point and floating-point
DSPs and embedded platforms.
Proven ability to optimize firmware: cycle counting, memory layout, DMA usage, cache behavior, minimizing latency and jitter.
Experience in several of the following: filter design, adaptive filtering, audio / sensor signal processing; FFT/spectral based processing and machine learning in an audio context.
Solid understanding of embedded software fundamentals:
register-level programming, memory-mapped I/O
concurrency (ISRs, RTOS tasks), race conditions, timing determinism
fixed-point arithmetic, numerical precision, and overflow/underflow management
Proven ability to optimize firmware: cycle counting, memory layout, DMA usage, cache behavior, minimizing latency and jitter.
Ability to pick up a broad range of responsibilities from design and simulation to prototyping and implementation on custom hardware.
Ability to plan and work to a managed schedule across multiple functional teams.
Comfortable with toolchains and build systems:
GCC/LLVM-based toolchains, cross-compilation
CMake/Make, Meson, linker scripts, map files
Strong debugging skills with hardware and firmware:
JTAG/SWD debugging
root-cause analysis of timing and performance issues
Source control expertise (Git, GitHub) and disciplined engineering practices (code reviews, CI).
More at Cirrus Logic