Design, develop, code, and document larger modules as part of firmware projects and lead a firmware project.
Rich experience on embedded SoC software development and debug environment setup.
Work with relevant architects, software and hardware teams to finalize the system level solutions and modularize the firmware development works.
Utilize low level C coding techniques when developing codebases, follow coding standards and follow standard development best practices.
Read schematics, utilize oscilloscopes, digital analyzers, and other test equipment in the development and debugging of firmware designs.
Have fundamental knowledge about the operating system and its common drivers, especially understanding basics of RTOS.
Have fundamental knowledge about inter-chip communications in heterogenous processor environment, and able to use OpenAMP or RPC such techniques.
Understand storage devices/controller (i.e. SAS, SATA etc.) driver, protocols and firmware design is a plus.
Understand power management at system level and OS power management handling is a plus, especially familiar with PMIC firmware.
Understand the virtualization techniques on server environment is a plus.
Requirements:
Minimum degree in Bachelors Engineering in Computer Science/Engineering, Electrical Engineering, related field or equivalent experience on embedded system.
Minimum of 3-5 years of experience
Experience with implementing embedded operating systems such as Linux, FreeRTOS on target hardware
Demonstrated experience with C/C++/assembly language programming.
Demonstrated experience with ability of problem analysis and solving.
Familiar with RISC-V/ARM ISA is a plus.
Good team player and be able to prioritize the tasks and delivery the modalized development work.