Job description
The main responsibilities includes, but not limited to the following.
- Develop and maintain firmware verification environment.
- Develop test scripts for test automation and regression.
- Create test cases for verifying and validating real-time firmware.
- Verify and debug firmware using simulator, emulator and reference board.
- Develop C-model and test applications for firmware/IC design verification.
- Integrate C-model with firmware verification environment.
- Bring-up emulator and reference board for on-chip testing and verification.
- Design, develop, test, debug, validate, qualify and maintain firmware in C and assembly language.
- Collect and analyse firmware performance and test data.
- Define and document firmware/hardware/software interfaces and specifications.
- Provide support and verify existing development and products.
- Work closely with firmware/hardware/software architect, hardware design engineers and software/systems engineers.
- Phd/Masters/Bachelors degree in EE, Computer Science or Embedded System with up to 2 years of related experience in firmware, verification, C-model and real-time software development
- Good programming skill in C/C++ and a scripting language such as Perl, Python. Good programming skill in C/C++, Perl, Python and SWIG.
- Hands-on experience in programming firmware in C and assembly language.
- Have understanding of test automation, automation techniques and test generation.
- Experience in developing firmware verification environment, developing test cases for verifying and validating real-time firmware will be an added advantage.
- Having knowledge of networking protocol and have some experience writing low-level network protocol (TCP/IP) will be an added advantage.
- A committed, competent and self-motivated team player with outstanding analytical and problem solving skill, strong verbal, written communication and excellent presentation skills for interfacing with architects, hardware designers and system engineers.