Job Description
Roles and Responsibilities
1. Board Support Package (BSP) development
- Create and customize BSPs: Design, develop, and maintain the software package that enables the operating system to interface with and run on a specific hardware board.
- Bootloader development and porting: Work on low-level software like bootloaders (e.g., U-Boot), customizing them for new hardware platforms to handle the initial boot sequence.
- Operating system integration: Port, configure, and optimize embedded operating systems (like Linux, Android, or an RTOS) for the custom hardware, including adapting the kernel and file system.
- Driver development: Write and integrate device drivers that allow the OS to communicate with and control various hardware components and peripherals (e.g., I2C, SPI, UART, USB, PCIe).
2. Board and device bring-up
- Initial board bring-up: Be one of the first engineers to get the new hardware board running. This involves low-level code that verifies the initial functionality of the CPU, memory, and critical peripherals.
- Collaborate with hardware teams: Work closely with hardware engineers during the design phase (e.g., reviewing schematics) and during bring-up to debug and resolve board-level issues.
- Test and validation: Design and execute test cases to validate hardware functionality across a range of operating conditions (e.g., voltage, temperature).
- Troubleshooting and debugging: Use specialized lab equipment, such as JTAG debuggers, oscilloscopes, and logic analyzers, to perform root-cause analysis on complex hardware-software issues.
3. System integration
- Cross-functional collaboration: Work with multiple teams, including hardware design, firmware, and application software developers, to ensure a smooth integration process.
- Optimize performance: Identify and resolve performance bottlenecks in the low-level software to improve the overall speed, responsiveness, and power efficiency of the system.
- Generate build images: Create bootable OS images for the custom hardware, often using build systems like the Yocto Project or Buildroot.
- Documentation: Create and maintain technical documentation, including bring-up procedures, test reports, and design specifications.
Key Skills and Qualifications
- System-Level Development (C/C++): Experience developing SoC Coreboot, BSP, Device Driver, UEFI, Bootloader for Device bring-up and diagnostics.
- Graphics, Display, Camera & Audio drivers
- Hardware Integration & Device Bring-Up: Lead hardware bring-up, device drivers, silicon integration, and manage peripheral drivers and power/performance optimization. Hardware brings up using interfaces like ADC, GPIO, SPI, I2C, etc.
- Debugging: Debug hardware, firmware, system-level, multi-component issues spanning Linux kernel to application.
- SoC and MCU: Experience with Qualcomm (XR2, AR1), Mediatek SoCs, MCUs (STMicro (STM32N6), NXP, Renesas, Infineon) for Products like (AR/VR), Smart Glasses, Wrist Bands and Smart watches.
- Technical Qualifications: Requires a Computer/Electronics Engineering degree with 3-6 years in C/C++, OS, embedded systems, or driver development.
͏
͏
͏
͏
Experience: 3-5 Years .
Reinvent your world. We are building a modern Wipro. We are an end-to-end digital transformation partner with the boldest ambitions. To realize them, we need people inspired by reinvention. Of yourself, your career, and your skills. We want to see the constant evolution of our business and our industry. It has always been in our DNA - as the world around us changes, so do we. Join a business powered by purpose and a place that empowers you to design your own reinvention.