The Job is closed. Check the latest active jobs here.
- 2-6 years embedded systems industry experience.
- Competency in the ‘C’ programming language.
- Competency in at least one assembly language, preferably ARM, ARMv6, ARMv7, ARMv8, ARMv9.
- A good understanding of computer architecture, microprocessor internals; advantage to have understanding on ARM/ DSPs.
- An understanding of memory regions, and their uses.
- Working with hexadecimal numbers and hexadecimal math; good understanding of Boolean math (logic).
- Good knowledge of what interrupts are and how they work in code.
- Good knowledge on MMU, caches, and how to write optimized code considering micro-architecture of processor.
- Ability to use a debugger (gdb, T32) to perform at least simple operations such as setting breakpoints, single stepping, examining variable values, examining memory, examining registers.
- Ability to debug multi-tasking code.
- The ability to read and understand datasheets, and produce driver code for a given device based on the information contained in its datasheet.
- Understanding and development work done in Hypervisor on ARM.
- Develop code to run under an RTOS, and how to use semaphores, mutexes, queues, IPC.
- Develop and debug code with stacks, queues, linked-lists, and other common data structures.
- Advantage to have understanding of development on RTOS
- Good written and verbal communication skills
- Good mental math capability and deductive logic.
- Ability to write secure code and follow coding guidelines
- Ability to extract the requirements and design from feature/product information.
Hypervisor development on ARM
BE/ME/BTech/MTech (Computer Science or Electronics & Communication or related)