Overview
Embedded Software Engineer
We are looking for engineers who can develop, test and debug software in an embedded platform.
Responsibilities
- Design, develop, test and debug driver or application software for a microcontroller or Linux platform
- Define, develop, test and debug applications to validate the functionality of hardware or existing embedded software
Required skills and knowledge
- Very good programming skills in C language or C++ language
- Microcontroller based firmware development
- Implement software as per a given hardware, software or protocol reference manual
- Concepts of RTOS, concepts of microprocessor, interrupts, assembly instructions, startup code, memory map
- Hands on experience in setting up Linux kernel or BSP build environments
- Hands on experience in writing Linux kernel space code
- Concepts of Kernel build environment, Linux Device Driver development and common Kernel functions
- Experience in developing complex software with multiple processes, synchronization and inter-process communication
- Knowledge of APIs related to file I/O, memory management, process management, signal handling
- Experience in deriving test cases from hardware specification
- Experience in debugging the hardware in lab bench, FPGA or simulation