As a highly skilled Embedded Software Expert, this role will lead the design and development of embedded software for our next-generation millimeter-wave (mmWave) radar systems. The successful candidate will work on firmware and algorithm implementation/optimization for a new RISC-V based chip, integrating RF frontend algorithms, optimizing post-processing performance, and enhancing computational acceleration techniques. This role requires expertise in embedded systems, low-level programming, hardware-software integration, and advanced algorithm optimization.
Key Objectives:
- Develop, verify, and optimize embedded software for RISC-V based radar chips
- Implement RF frontend waveform configuration, FFT, interference suppression, and other signal processing algorithms in hardware accelerators
- Optimize post-processing algorithms (e.g., Extended Kalman Filter) for performance and resource efficiency
- Explore and deploy novel acceleration techniques utilizing hardware accelerators and assembly-level coding
- Design and implement high-speed multi-core shared memory schemes
- Troubleshoot and resolve low-level hardware/software integration issues
- Collaborate with hardware development and algorithm teams to align software solutions with hardware capabilities
Task areasMain tasks*
Hardware and Firmware Integration
- Develop firmware for controlling RF frontend and signal conditioning modules
- Configure and manage waveform generation and parameter adjustments
- Interface with hardware accelerators for waveform processing tasks
Algorithm Implementation & Optimization - Implement core RF algorithms such as FFT, interference suppression, noise filtering, and waveform configuration in hardware accelerators
- Optimize these algorithms for real-time performance on RISC-V architecture
- Adapt and fine-tune algorithm code to leverage HW accelerator features
Post-Processing and Algorithm Acceleration
- Develop efficient post-processing routines for target detection, tracking, and classification
- Accelerate computationally intensive algorithms like EKF using dedicated hardware resources
- Explore assembly language optimization for critical routines to maximize performance gains
- Integrate hardware acceleration modules with software processing pipeline
- Deploy new acceleration scheme to optimize runtime critical operations, such as floating point calculation and matrix operation in RISC-V architecture
Parallel and Multi-core Programming
- Design and implement high-speed multi-core shared memory schemes to maximize parallel processing efficiency
- Develop synchronization, data sharing, and memory access protocols for multi-core execution
- Ensure low-latency communication between cores for real-time operation
Software Optimization & Low-Level Troubleshooting
- Profile and identify performance bottlenecks across software modules
- Fine-tune memory management, cache utilization, and data flow for optimized performance
- Troubleshoot and debug low-level issues arising from hardware-software interactions or embedded system constraints
System Validation & Testing
- Develop test strategies for embedded firmware and algorithms
- Verify functionality against design specifications under various operating conditions
- Collaborate with hardware teams to diagnose and rectify hardware-related issues
Documentation & Collaboration
- Maintain detailed technical documentation for firmware, algorithms, and system architecture
- Collaborate closely with hardware designers, algorithm developers, and system engineers
- Participate in design reviews, code reviews, and continuous improvement initiatives
aumovio