HyPrix Aviation Logo

HyPrix Aviation

Embedded Software Engineer BSP Platform

Posted 13 Days Ago
Be an Early Applicant
In-Office
Bengaluru, Bengaluru Urban, Karnataka, IND
Mid level
In-Office
Bengaluru, Bengaluru Urban, Karnataka, IND
Mid level
Develops low-level BSP, HAL, drivers, bootloaders, and platform software for flight computers. Responsibilities include startup code, memory and interrupt configuration, Linux BSPs, board bring-up, firmware updates, watchdogs, nonvolatile storage, timing, latency measurement, documentation, unit testing, and SIL/HIL test support. The role requires embedded C/C++, ARM Cortex-M/R/A, TI real-time MCUs, embedded Linux, RTOS and bare-metal development, hardware debugging, and production-quality software practices.
The summary above was generated by AI

Who Are We?

At HyPrix, we're building attritable payload delivery systems for autonomy. Things that fly fast, we're enabling them with conscious software. Replicating the capabilities of expensive conventional frontline systems, we're 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.

Learn more about us: https://hyprix.in

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.

The position holder implements the board support package, the hardware abstraction layer (HAL) and the bus drivers to the architecture that the Firmware team sets. Sensor fusion, GNC, RTOS scheduling and datalink protocols are not in the scope of this role.

  • 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.

Required Skills

  • 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.

Advantageous Skills/Qualifications

  • Experience with bootloaders, dual-bank firmware update or flash file systems such as LittleFS.

  • Experience with TI C2000 or F29x, NXP i.MX RT or Xilinx Zynq.

  • Experience with RS-422/485, Ethernet MAC and PHY drivers, or PTP hardware timestamps.

  • Knowledge of MIL-STD-1553 or ARINC 429.

  • Experience with secure boot, image signatures or hardware crypto engines.

  • Experience with PREEMPT_RT or dm-verity on embedded Linux.

  • Knowledge of DO-178C, IEC 61508 or ISO 26262.

  • Experience with HIL rigs, production test or ATP firmware.

  • Experience with Rust for embedded systems.



Benefits

Why Join HyPrix?

HyPrix is a lean team with no rule book. Each person receives an end goal tied to a real product, and decides how to achieve it.

The Embedded Software Engineer II – BSP & Platform writes the first code that runs on each HyPrix flight computer.



Similar Jobs

2 Hours Ago
Hybrid
Bengaluru, Bengaluru Urban, Karnataka, IND
Senior level
Senior level
Fintech • Financial Services
Provides enterprise technical leadership for complex engineering challenges across networking, application delivery, information security, databases, operating systems, and web technologies. Defines architecture and engineering standards, leads hybrid-cloud modernization, and designs highly available, scalable, secure infrastructure using F5 BIG-IP and AVI load balancers. Drives automation, Infrastructure as Code, DevOps, resiliency, production support, and incident resolution while advising leadership, influencing strategy, and mentoring engineers.
Top Skills: AnsibleAvi Load BalancerAWSAzureCi/CdCiscoDnsF5 Big-IpGCPGtmKubernetesLtmOpenshiftPythonSite Reliability EngineeringSsl/TlsTcp/IpTerraformVMwareWafZero Trust
2 Hours Ago
Hybrid
Bengaluru, Bengaluru Urban, Karnataka, IND
Senior level
Senior level
Fintech • Financial Services
Owns product demand, roadmaps, backlogs, requirements, Agile delivery, testing, release readiness, governance, and executive reporting across market maker and options clearing. Coordinates Product, Technology, Operations, Risk, Compliance, Finance, and Control stakeholders while managing dependencies, risks, controls, regulatory initiatives, and process improvements. Supports automation, analytics, AI enablement, production governance, and operational readiness for clearing and post-trade capabilities.
Top Skills: Agile Delivery MethodologiesAi-Enabled ToolsAnalyticsJIRALow-Code PlatformsExcelMS OfficeMicrosoft PowerpointMicrosoft WordWorkflow Automation
11 Hours Ago
In-Office or Remote
560071, Domlur, Karnataka, IND
Entry level
Entry level
Cloud • Information Technology • Productivity • Security • Software • App development • Automation
Principal Software Engineer focused on encryption, working remotely within Atlassian’s distributed-first engineering organization. The provided description contains limited role-specific responsibilities.
Top Skills: Encryption

What you need to know about the Bengaluru Tech Scene

Dubbed the "Silicon Valley of India," Bengaluru has emerged as the nation's leading hub for information technology and a go-to destination for startups. Home to tech giants like ISRO, Infosys, Wipro and HAL, the city attracts and cultivates a rich pool of tech talent, supported by numerous educational and research institutions including the Indian Institute of Science, Bangalore Institute of Technology, and the International Institute of Information Technology.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account