Embedded Software Engineer
Required skills and Knowledge:
1.
Very good programming skills in C language or C++ language
2.
Possess any of the following group of skills -
• Micro controller based firmware development
Implement software as per a given hardware, software or protocol reference manual
Concepts of RTOS, Concepts of micro processor, interrupts, assembly instructions, startup code, memory map etc
• Linux Porting / Device Driver development
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
• Linux user space development
Experience in developing complex software with multiple processs, synchronization and inter process communication
Knowledge of APIs related to file I/O, memory management, process management, signal handling
• Silicon Validation
Experience in deriving test cases from hardware specification
Experience in developing validation software
Experience in debugging the hardware in lab bench, FPGA or simulation Roles and
Responsibilities:
You may work in projects that deals with any of the following
• 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.