BENGALURU · FULLTIME
Embedded Software Engineer BSP Platform

Hyprix
Bengaluru · onsite · Posted 4d ago
Sourced from
Undisclosed3–4 yrsfulltimeBengaluru
Your match
?
Sign in to see your match score, skill gaps & tailored resume.
Section · 01
About this role
Job Title
Job Summary
What You'll Do
Requirements
Disclaimer: This job posting has been aggregated from external source. Role details, content, and availability are subject to change. Applicants are advised to confirm the latest information directly on the company website before applying.
Embedded Software Engineer BSP Platform
Location: Bengaluru
Job Summary
Who Are We At HyPrix, were building attritable payload delivery systems for autonomy. Things that fly fast, were enabling them with conscious software. Replicating the capabilities of expensive conventional frontline systems, were building the cheapest micro and cruise missile systems on the planet. Built for a war of attrition, built for the era of software-defined warfare, built to cater to the front lines of battlefields where no man should stand in the future.
What You'll Do
The Embedded Software Engineer II - BSP Platform writes and maintains the low-level platform software on the HyPrix flight computer. This software is the layer between the silicon and the RTOS.
- Startup code and clocks. Write and maintain the reset path, vector table and stack set-up for each processor. Configure the oscillators, PLLs and bus clock.
- Memory, MPU and caches. Write the linker scripts and the memory map. Configure the MPU, caches and FPU, and set the cache rules for DMA buffers.
- Interrupts, timers and multicore. Configure the interrupt controller from the interrupt priority map. Start the secondary cores and configure lockstep on Cortex-R, C2000 processors.
- Linux BSP. Configure U-Boot, the device trees and the kernel for the Cortex-A processors. Build the root filesystem with Yocto or Buildroot.
- Board bring-up. Do the first power-on of new and revised boards with the staged bring-up checklist. Test the clocks, memory, flash and each peripheral in turn. Record each result in a bring-up report, and improve the checklist after each board.
- Board revisions, errata and defects. Port the BSP to each new board revision and processor, and keep the board and software compatibility matrix. Implement a software workaround for each silicon or board erratum. Write clear defect reports for the avionics hardware team.
- HAL and drivers. Implement the HAL and the drivers for UART, RS-422/485, SPI, I2C, CAN, Ethernet, ADC, PWM, timers and DMA. Each driver must be RTOS-independent and use static memory allocation.
- Bootloader and firmware update. Implement the bootloader, dual-bank (A/B) images and rollback. Make sure that the unit boots after a power cut at any point in an update.
- Watchdogs, resets and BIT. Configure the hardware watchdogs and record the reset cause at each boot. Write fault handlers that save a fault record before reset. Write the power-on BIT tests for the processor, memory and peripherals.
- Non-volatile storage. Write the flash and eMMC drivers, and the partitions for images, configuration. Make sure that a power cut during a write does not corrupt data.
- Time base. Set up the hardware time base and the PPS capture that each timestamp uses.
- Latency and execution time. Measure the worst-case interrupt latency and the execution time of each driver on the target. Record the results in the driver documentation.
- Board documents. Keep the memory map, interrupt priority map, DMA channel map, pin map and errata log current and in version control.
- Test support. Write unit tests for each driver, and the host build and simulation back-ends for SIL tests. Give fault-injection points to the test team for HIL tests.
Requirements
- Minimum Experience (Years): 3 to 4 years of embedded software or firmware development on microcontrollers or SoCs. This includes hands-on bring-up of at least one custom board.
- HyPrix prefers this experience, but it is not mandatory. Demonstrated capability is more important than years.
- Embedded C. Strong C for bare-metal and RTOS firmware. Good knowledge of C++.
- ARM Cortex-M. Hands-on work with startup code, linker scripts, vector tables, NVIC priorities, the MPU and caches.
- ARM Cortex-R. Hands-on work with Cortex-R5 or Cortex-R52 cores, for example TI Sitara AM64x or the Zynq UltraScale+ RPU. Knowledge of TCM, the GIC or VIM, ECC, lockstep and the Cortex-R MPU.
- ARM Cortex-A. Worked with Cortex-A53 or similar, for example NXP i.MX 8 or the Zynq UltraScale+ APU. Knowledge of the MMU, exception levels and the boot flow to the kernel.
- TI C2000 or F29x. Hands-on work with TI C28x or C29x real-time MCUs, their ePWM, eCAP, ADC and CLA peripherals, and C2000Ware.
- Embedded Linux. Hands-on work on at least one embedded Linux system, with U-Boot, device trees, kernel configuration and Yocto or Buildroot.
- Drivers. Production drivers for UART, SPI, I2C and CAN, with interrupt and DMA designs.
- Board bring-up. First power-on with peripheral tests and memory tests.
- RTOS. Production experience with an RTOS such as FreeRTOS, Zephyr or ThreadX.
- Bare metal. Production firmware without an operating system, with interrupt-driven designs.
- Hardware literacy. Ability to read schematics and datasheets, and to debug with JTAG or SWD, an oscilloscope and a logic analyser.
- Tools. Experience with GCC or a vendor toolchain, Make or CMake, Git and Python scripts.
- Software quality. Knowledge of MISRA C, static analysis, unit tests and code review.
- A bachelor's degree in electronics, electrical, computer engineering or computer science.
Disclaimer: This job posting has been aggregated from external source. Role details, content, and availability are subject to change. Applicants are advised to confirm the latest information directly on the company website before applying.
Sourced from naukri
Let the agent run this one for you.
Tailored resume, auto-apply, and referral lookup — in under 2 minutes.
Section · 02
Skills
ATPCode Reviewcmakearm cortexcomputer engineeringBootloaderBoard Support PackageBspavionicsEmbedded CEmbedded SoftwareEmbedded LinuxCachefile systemsEmbedded SystemsDebugBuildrootBare MetalArchitecture