logo

JobNob

Your Career. Our Passion.

C/C++ Developer - Communication Protocols


Kiash Solutions LLP


Location

Bangalore | India


Job description

Job Description :Skills Required : - C, C++ Programming: Proficiency in C and C++ programming languages, including strong knowledge of syntax, data structures, algorithms, and best coding practices. - Communication Protocols: Experience with serial communication protocols such as SPI, I2C, UART (RS232), and network protocols including Ethernet (TCP/IP, UDP). - Real-Time Operating Systems (RTOS): Experience in developing applications for Real-Time Operating Systems like FreeRTOS, VxWorks, or similar, including task scheduling, synchronization, and inter-process communication. - Linux : Familiarity with Linux operating system, including system-level programming, shell scripting, and device driver development. - Multithreading and Memory Management : Proficiency in multithreading concepts and techniques for developing concurrent applications. Strong understanding of memory management techniques and optimization strategies. - Microcontroller Programming : Experience in programming microcontrollers using C/C++ for embedded systems applications. Familiarity with hardware interfaces, peripheral configuration, and low-level device programming. Responsibilities : - Software Development : Design, develop, and maintain embedded software applications in C/C++ for various platforms and devices. - Communication Protocol Implementation : Implement communication protocols such as SPI, I2C, UART (RS232), and Ethernet (TCP/IP, UDP) for data exchange between embedded systems and external devices. - RTOS Development : Develop real-time embedded software applications using RTOS, including task scheduling, interrupt handling, and resource management. - Linux System Programming : Develop software applications for Linux-based embedded systems, including device drivers, kernel modules, and system utilities. - Multithreading and Memory Optimization : Implement multithreaded applications for parallel processing and efficient resource utilization. Optimize memory usage and performance of embedded software applications. - Microcontroller Programming : Develop firmware for microcontrollers using C/C++, including peripheral initialization, sensor interfacing, and low-power management. - Debugging and Testing : Debug and troubleshoot software issues using debugging tools and techniques. Write unit tests and perform integration testing to ensure software quality and reliability. - Documentation : Create technical documentation including design documents, specifications, and user manuals. Maintain up-to-date documentation for software projects. - Collaboration : Collaborate with hardware engineers, firmware developers, and other team members to design and integrate software components into embedded systems. - Continuous Learning : Stay updated with the latest trends and technologies in embedded systems development, C/C++ programming, and related domains. Continuously enhance technical skills through self-learning and professional development activities. (ref:hirist.tech)


Job tags



Salary

All rights reserved