Job
Description
As a Senior Embedded Engineer specializing in ARM microcontrollers, your role will involve designing, developing, testing, and debugging firmware for ARM-based microcontrollers. You will collaborate with hardware engineers on PCB design, schematic review, and hardware-software integration. Your expertise in C/C++, ARM assembly, and low-level programming will be crucial in developing robust code with a focus on reliability, performance, and low-power optimization. Additionally, you will be responsible for developing device drivers, communication protocols, RTOS-based solutions, and custom bootloaders for ARM controllers. Key Responsibilities: - Design, develop, test, and debug firmware for ARM-based microcontrollers. - Collaborate with hardware engineers on PCB design, schematic review, and hardware-software integration. - Develop robust code in C/C++ and ARM assembly, focusing on reliability, performance, and low-power optimization. - Develop device drivers, communication protocols (SPI, I2C, UART, USB), and RTOS-based solutions. - Create and maintain custom bootloaders for ARM controllers. - Implement software for embedded systems from concept to production. - Perform system-level validation, debugging, and troubleshooting of hardware/firmware interactions. - Optimize firmware for power consumption, memory efficiency, and execution speed. - Troubleshoot and resolve firmware/hardware issues in the system. - Participate in design reviews, code reviews, and system architecture discussions. - Maintain clear and well-structured technical documentation using Markdown or similar formats. - Stay updated with the latest developments in ARM architectures, microcontroller technologies, and industry best practices. Qualifications Required: - Bachelors degree in Electronics, Computer Science, Electrical Engineering, or a related field. - Proven experience in ARM Cortex-M, Cortex-A, or similar microcontroller families. - Strong proficiency in C, C++, and ARM assembly programming. - Experience with RTOS (e.g., FreeRTOS) and exposure to Embedded Linux is a plus. - Familiarity with hardware design principles, schematic review, and PCB design considerations. - Experience in writing code in Keil MDK compiler platform. - Hands-on experience with debugging tools such as JTAG, Oscilloscopes, USB Analyzers, Logic Analyzers etc. - Strong understanding of embedded communication protocols (I2C, SPI, UART, USB). - Knowledge of Git and other version control systems. - Ability to prepare detailed technical documentation and process flows. - Strong problem-solving and analytical skills. - Experience with low-power, battery-operated embedded systems. - Knowledge of embedded security and cryptography concepts. - Excellent problem-solving skills and the ability to troubleshoot embedded systems. - Ability to work in a team-oriented, collaborative environment.,