TekWissen Group is a workforce management provider throughout India and many other countries in the world, the Client has proven expertise in ASIC design from Spec to Silicon and software development end to end.
Job Title: LDD (Kernel) Developer
Job Description:
LDD(USB) Dev
- We are seeking a skilled Engineer/Senior Engineer to join our team in Hyderabad, focusing on USB software development for the Client .
- The successful candidate will be responsible for developing and debugging USB software drivers for the Chipsets.
- This role involves close collaboration with Tech, Test, Hardware (H/W), and Customer Engineering (CE) teams to resolve stability issues effectively.
Key Responsibilities:
- Develop and maintain device drivers for USB controllers, USB Host, and Gadget drivers on Linux operating system.
- Debug and find the root cause of USB related software/stability issues.
- Collaborate with Tech, Test, H/W, and CE teams to resolve stability issues.
Required Skillset:
- Excellent debugging skills, particularly in the Linux kernel software and USB domain.
- Strong knowledge of the Linux kernel and device driver model.
- Proficient in ARM architecture.
- Expert-level knowledge of C programming.
- Strong analytical and problem-solving skills.
- Ability to prioritize and manage multiple tasks efficiently.
- Experience with USB bus analyzers for debugging.
- Understanding of USB protocol.
- Familiarity with debug tools such as JTAG and Oscilloscope.
- Knowledge of C++ is an advantage.
- Work experience in making Linux builds, worked on device drivers.
- 2 to 3 years of relevant work experience.
Education Requirements:
- Master's or Bachelor's degree in Electronics and Communication Engineering (ECE), Electrical Engineering (EE), or Computer Science (CS).
LDD
Keywords (To Look for):
- Embedded, ARM, RISC V, Debuggers, JTAG, Device Drivers, BSP, Operating System, Android, Linux, Hypervisor, Programming, C/C++, Security, Cryptography, Trusted Computing, ATF, OPTEE, Trusty-TEE, Problem Solving, Debugging.
Required:
- Excellent C programming skills with proven experience of writing efficient code for low powered and memory constrained systems.
- Strong understanding and hands-on experience in embedded systems, including memory-mapped I/O, interrupt handling, OS fundamentals, Linux kernel device drivers, Device tree programming and kernel patching concepts.
- Strong understanding of, and hands-on experience with, Linux embedded environments, including the Yocto build system, Linux kernel compilation, and tracking upstream kernel and opensource changes.
- Experience working within open-source communities, such as upstream kernel development or other community-based projects like DragonBoard platforms and booting with open-source kernels
- Strong troubleshooting and analytical skills applied to resolving potential system issues.
- Experience in working ARM or RISC-V based SoCs and debugging using Trace-32 or Lauterbach (JTAG) debuggers
- Knowledge of security concepts such as Secure Boot, Access Control, Authentication, Encryption/Decryption, secure device provisioning or key management.
- Exposure to debugging tools and use of utilities like kernel dmesg, gdb, logic analyzers.
- Triage, Debug and resolve issues and bugs in the software through good problem solving skills
- Strong communication skills with ability to evaluate and create design documentation detailing complex features and relationships
- Work on multiple assignments and demonstrate an ability and flexibility to cater to changing priorities.
Desirable Qualifications:
- Good understanding of and experience on embedded processor architectures like ARMv8/9 or RISC-V processors.
- Experience with code versioning tools (git / perforce) build tools (Makefiles/SCons), and debuggers like JTAG.
- Understanding of a broad range of topics Linux Kernel, Android Framweworks, Secure software development etc.
LDD(USB) Dev
- We are seeking a skilled Engineer/Senior Engineer to join our team in Hyderabad, focusing on USB software development for the
- The successful candidate will be responsible for developing and debugging USB software drivers for the Chipsets. This role involves close collaboration with Tech, Test, Hardware (H/W), and Customer Engineering (CE) teams to resolve stability issues effectively.
Key Responsibilities:
- Develop and maintain device drivers for USB controllers, USB Host, and Gadget drivers on Linux operating system.
- Debug and find the root cause of USB related software/stability issues.
- Collaborate with Tech, Test, H/W, and CE teams to resolve stability issues.
Required Skillset:
- Excellent debugging skills, particularly in the Linux kernel software and USB domain.
- Strong knowledge of the Linux kernel and device driver model.
- Proficient in ARM architecture.
- Expert-level knowledge of C programming.
- Strong analytical and problem-solving skills.
- Ability to prioritize and manage multiple tasks efficiently.
- Experience with USB bus analyzers for debugging.
- Understanding of USB protocol.
- Familiarity with debug tools such as JTAG and Oscilloscope.
- Knowledge of C++ is an advantage.
- Work experience in making Linux builds, worked on device drivers.
- 2 to 3 years of relevant work experience.
Education Requirements:
- Master's or Bachelor's degree in Electronics and Communication Engineering (ECE), Electrical Engineering (EE), or Computer Science (CS).
TekWissen Group is an equal opportunity employer supporting workforce diversity.