Software Developer - Bangalore (Bengaluru)

Software Developer - Bangalore (Bengaluru)

11 Oct
|
VIDPRO CONSULTANCY SERVICES
|
Bengaluru

11 Oct

VIDPRO CONSULTANCY SERVICES

Bengaluru

Greetings from Vidpro Consultancy.

We are hiring for Software Developer/Engineer for one of our Aerospace and defense.

Software Developer / Engineer.

Role summary

Convert approved algorithms from MATLAB or Python into embedded C/C++, build the operational software around them, port it to a real-time target running VxWorks, and integrate and test it on the target hardware.

Key responsibilities

- Convert algorithms from MATLAB or Python into optimised, embedded-grade C/C++ code.
- Design and build the operational software framework: tasks, data flow, interfaces and error handling.
- Port and deploy the software on target hardware using VxWorks and its IDE.
- Develop and integrate Ethernet, MIL-STD-1553 and PCIe interfaces as defined in the interface specifications.
- Integrate with the existing system software on the target. • Profile and optimise for real-time performance, and produce benchmark results. • Re-run the algorithm test cases on the software modules and prove the outputs match the prototype.
- Support integration and hardware-in-the-loop (HIL) testing.
- Verify output data timing, size and duration against the acceptance criteria.
- Maintain commented, documented source code and provide design inputs for reviews.

Qualification

- B.E./B.Tech or M.E./M.Tech in CSE, ECE or EEE.
- • Minimum 3 years of embedded software development in C and C++. Must-have skills for every candidate Area What you must be able to do C programming Data types, pointers, arrays, structures and unions, bit manipulation, function pointers, memory layout, and static and dynamic memory

Embedded C Writing code for a target board: memory-mapped registers, interrupts, timers, volatile and const usage, fixed-size data structures, and code without agile memory allocation C++ programming Classes, inheritance, templates, STL containers, and modern C++ (C++11/14) features that are suitable for embedded use

RTOS, mainly VxWorks Tasks and priorities, scheduling, semaphores and mutexes, message queues, timers, interrupt service routines,



and priority inversion. Hands-on VxWorks application development with Wind River Workbench

Ethernet interface Socket programming with UDP and TCP, packing and unpacking binary messages, byte order handling, and network debugging

MIL-STD-1553 interface Bus controller, remote terminal and bus monitor roles, message formats, sub-addresses, and using a 1553 interface card and its driver API

Area What you must be able to do

PCIe interface Understanding of PCIe devices and drivers, device enumeration, memory- mapped I/O, and communicating with PCIe-based interface cards

Embedded hardware Hands-on work with edge devices or avionics single-board computers

(SBCs): board bring-up support, boot flow, BSP usage, and cross-compilation

Algorithm conversion Convert MATLAB or Python algorithms to C/C++, including matrix operations and numerical code, and prove the output matches the original

Multithreading Design thread-safe code, and avoid race conditions and deadlocks

Debugging and optimisation Use debuggers and profilers on a target board, and find timing, memory and performance faults

Code quality Follow a coding standard such as MISRA C/C++, write unit tests, and use static analysis tools

Working independently Write code without internet search or AI tools, using your own knowledge and offline documentation

Tech stack

- Languages: C, Embedded C and C++.
- RTOS and IDE: VxWorks with Wind River Workbench. Other RTOS experience is also considered.
- Interfaces: Ethernet (UDP/TCP), MIL-STD-1553, PCIe and serial (RS-232/RS-422).
- Hardware: Avionics SBCs and edge devices, for example PowerPC, ARM or x86 based boards.
- Libraries: Eigen or another linear algebra library.
- Testing: GoogleTest or similar, gcov for coverage, and HIL test setups.
- Static analysis: Cppcheck, Coverity, PC-lint, LDRA or Polyspace.
- Build and version control: Git, Make/CMake, and cross-compilation toolchains. Good to have
- Python or MATLAB knowledge, which is an added advantage for algorithm conversion and test

scripting. Experience with MATLAB Coder or similar code generation

📌 Software Developer - Bangalore (Bengaluru)
🏢 VIDPRO CONSULTANCY SERVICES
📍 Bengaluru

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: software developer - bangalore (bengaluru) / bengaluru