
About the role
Experience in Firmware/Software programming in embedded Linux & RTOS based application development. Candidate must have a very good understanding of ARM processor, hardware and custom board or product development experience.
Roles and Responsibilities:
- Design, code and integrate software for an embedded Linux/RTOS targeted application (applications, drivers, framework)
- Customization, deployment and maintenance of Linux distribution
- Interact with Linux kernel, integrate new device drivers Improvement and maintain existing software components
- Perform unit test, Integration test, verification and validation of the product developed.
- Assist with the hardware design surrounding the processor
- Document the projects according to standards (protocols, architecture, technical specifications, etc.)
Qualifications:
- Bachelor degree in Electronics or computer science engineering.
- Minimum 6 - 12 years of experience in embedded Linux programming.
Specific skills:
- Expert in C programming with RTOS.
- Hands-On experience with Protocol development.
- Nice to have Protocol development experience such as USB or DP, HDMI or equivalent.
- System level design and understanding of overall system
- Strong knowledge of Linux, ARM processor architecture with SOC, FPGA interface is a plus.
- Hand-on experience on Linux kernel and device-driver development and debugging.
- Knowledge/Experience of TCP/IP, Network programming.
- Ability to write effective and reusable code according to best practices.
- Must be a dynamic, autonomous, and team-oriented individual.
- Knowledge of hardware and low-level development is an asset.

About Cornertree
About
Connect with the team
Similar jobs
Key Responsibilities:
1. Development, integration and testing of embedded software in the Embedded Linux RTOS
2. Integrate Application based on Adaptive AUTOSAR Platform
3. Contribute for Architecture, Detailed design, programming in C++ (11/14/17)
4. Perform Unit, Integration Tests of developed Application
5. Detail oriented systematic problem-solving approach in the embedded software.
6. Debug embedded software on hardware platforms for issue identification and resolution
Minimum qualification criteria:
1. Bachelor's degree in Electronics, Computer Science, Electrical Engineering, or related field
2. 2+ years of experience in software development in C or C++
3. 2+ years of experience in designing and implementing embedded systems for high performance, high reliability real-time embedded computing platforms
- Firmware Design and Development experience on different micro-controllers.
- C/C++ programming
- Linux Commands Operating System Concepts
- board bring up, embedded software, Kernel Build, Yocto
- Shell scripting Networking Concepts Openwrt OS Concepts
- Must have good Communication and Presentable skills.
- Experience on any Wifi, Bluetooth, GSM modules is a plus.
- Design, develop, code, test and debug system software.
Location : Hyderabad
Qualifications: BE/BTECH from EE/EC
Experience : 3-5 Years
Desired Candidate Profile:
-Development of Embedded device drivers, Ethernet, USB, SPI.
-Able to read data sheets.
-Good debug skills.
-Board bring up skill.
-Worked on application processor type boards( T2080/2081 etc. )
-Strong in embedded C
-Proficient in board bring up and device drivers is needed.
-System programming and building multi-platform SDK on Linux or other OS is desirable.
-Onsite system integration.
-Should have hands on debugging experience.
-Candidate is expected to have strong knowledge of C and C++.
-Understanding and experience using structured programming techniques.
Job Type: Full-time
Salary: ₹300,000.00 - ₹700,000.00 per year
Schedule:
Morning shift
Ability to commute/relocate:
hyderabad, Hyderabad - 500003, Telangana: Reliably commute or planning to relocate before starting work (Required)
Experience:
total work: 3 years (Preferred)


Domain Skills
Leads a team of Engineers for designing and architecting next generation platform solutions for clusters/Interior monitoring systems
Architecting the design for new features and technologies for Platform.
Expertise in programming using C, C++ and good understanding of OOAD & UML
Capable of analyzing HW schematics to realize the SW requirements.
Support and resolve issue resolutions and clarification for cross-functional teams.
Support team lead and project manager at program level in resolving open issues
Technical Skills
Expertise in memory management (eMMC, NAND)
Design, Develop and test device drivers in Linux/Android/QNX platform.
Multithreaded programming, usage of IPCs, Interrupts & synchronization methods.
Expertise in using the communication protocols (I2C, SPI & UART) in the device driver.
Expertise in handling Device Tree based configurations.
Strong C & C++ programming skills, OOPS concepts
Linux Architecture knowhow
Strong in software development for real-time embedded systems
Experienced in Design/Architecture Tools like EA
Expertise in SCM Tools like GIT/GERRIT
Ability to create and review changes for Gerrit and participate in a continuous integration loop
Ability to create/understand the build infranstructure using CMake for the middleware components
Experience in Unit test tools like cppunit, gtest.
Know-how and experience of SAFe/Agile Development
Knowledge in Automotive Safety Standards and Processes (ASPICE).
Logical, Analytical and Debugging/Problem-Solving skills
Qualifications
B.E/B.Tech in Computer Science with hands on with Embedded software development on RTOS

You would be part of:
- Designing/Improvement of new/existing architectures of distributed computing with subcomponents of Unmanned Aerial Systems (UAS).
- Working/Researching with industrial state of the art sensor systems and modules, and developing drivers (HAL or wrapper) and applications around their usage.
- Design and implementation of communication protocols between different subcomponents of UAS for distributed computing.
- Writing Applications and Drivers from the scratch for (embedded)linux based systems.
- Scripting and automations around work flows of UAS usage.
- Working with existing sophisticated software stacks of subcomponents of UASs.
- Working closely with electronics, design and systems teams for architecture development and deployment.
- Working closely with Flight Controller engineers to do collaborative development of UAVs.
We expect you to be:
- Experienced in hands-on development of complex embedded systems involving multiple microcontrollers or SoCs.
- Very good in analytical abilities to be able to do core research and development activities.
- Able to write low level drivers (wrapper or core) from the scratch.
- Very comfortable reading and understanding datasheets and reference manuals of microcontrollers, peripherals, sensors etc.
- Able to understand existing complex embedded software stack written in C/C++.
- Solid in C.
- Good in C++.
- Comfortable with using hardware debuggers.
- Having Hands-On experience with RTOS concepts like scheduling, threads synchronicity , race conditions etc.
- Having Solid understanding of interrupt mechanisms.
- Experienced in working with different hardware protocols like SPI, I2C, UART, PWM, CAN, USB etc.
- Having Solid understanding of interrupts architecture of ARM based microcontrollers like STM32, LPC etc.
- Having Good understanding of the concept of bootloaders.
- Able to multitask.
- A self-motivated and motivating personality who can work well independently as well as part of a team
- Having good interpersonal and soft skills who can adapt to the work environment while manifesting a good positive attitude
You are awesome if you are:
- Experienced in Linux Device Driver development.
- Having good exposure of working on and understanding of any sensor modules like GPS, LIDAR etc.
- Experienced in data filtering techniques (Example: Kalman filter)


Relevant experience: 2-3 years
Responsibilities:
- Should be good at, C, C++, Linux driver development
- Should have worked in protocol like i2S, SPI, i2C. rf, 6lowpan, Tcp / Ip stack etc..
- Experience in porting MbedOS , FreeRTOS to different boards is good.
- Analyzing and enhancing efficiency, stability and scalability of system resources
- Design, develop, code, test and debug system software
- Provide post production support
- Interface with hardware design and development
Requirements:
- Proven working experience in software engineering
- Experience in hands-on development and troubleshooting on embedded targets
- Solid programming experience in C or C++
- Adequate knowledge of reading schematics and data sheets for components
- Strong documentation and writing skills
Note: Self-motivated, goal oriented and good analytical skills.
Experience - 6 to 10yrs
Location - Bangalore , Pune and Mumbai
Job description -
- Bachelors in Electronics & Communication or equivalent
- 6-10 yrs experience in embedded software development
- Hands-on embedded C skills (mandatory)
- Experience with any microcontrollers MCU (mandatory) – Renesas/ Infineon/ Cypress/ ST-Micro /TI / Microchip
- Experience with any of peripherals & communication protocols usage in application development (mandatory) – UART, I2C, SPI, I2S, CAN, USB, ADC, DAC, EEPROM, Flash memory
- Experience with any RTOS – FreeRTOS, Azure RTOS, ThreadX
- Experience with any networking & connectivity modules (preferred & added advantage) – Ethernet, WiFi, BLE, MQTT, COAP
- Exposure to any IoT frameworks (desirable not mandatory) – IoTivity, AWS IoT, Azure IoT
- Experience with any device driver development, driver optimisation (desirable not mandatory)
- Good ability to read data sheets & technical manuals

Primary Skill: System Software Development
Skill sets req:
- Linux porting/development; Linux kernel concepts
- Expertise in Linux BSP device driver development
- Customizing kernel + Porting + Developing Applications Linux Device Driver Development (Character devices) Good Concepts of Network Drivers File Systems Concepts
- Expertise in porting, network stack; optimization, network programming
- Bootloader/Uboot porting
- Camera driver development (Good to have)



Software Engineer(Layer 2/Layer 3)
Location : Gurgaon (WFH currently)
Experience/ Skills Required : 5 to 10 years
To be successful in this role you should be well versed with the concepts of networking and comfortable in C programming in a linux environment for embedded software. As we use Linux, experience with this operating system is a mandatory requirement, knowledge and experience on OpenWrt is a bonus. Working experience with router software development for layer 3 and layer 4 features.
Domain knowledge required: IPv4, TCP/UDP, IPv6, NAT, Firewall (iptables), DHCPv4, DHCPv6, IPv6 prefix delegation, Port forwarding, Source based routing, Policy based routing, L3 QoS, IGMP proxy, IPv6 MLD snooping, DNS, DNS proxy. Knowledge on VoIP is a bonus.
Management methods: TR069, SNMPv2, CLI.
Operating system: Linux, OpenWrt
Programming languages: C(must have), Python
Working for us means having a healthy interest in Software but most of all, you like to work in a team. You like to take initiative and have the “just do it” approach. Having the right mentality and attitude are more important for us than a degree. Dedication, investigation and responsibility are keywords for us. Preferred years of experience in industry/technology: 5-10 years.
Role:
As a Software Engineer you develop new software features and solutions for our fibre connectivity product portfolio. The position offers a wide range of possibilities to work with everything from low-level Linux drivers to high-level applications. You develop for various protocols and HW interfaces, often in complex network scenarios in combination with customer specific requirements. The team is responsible for all SW development for existing and new Home Gateways. This means development of Linux drivers, network functionality, remote Management (TR-069) and VoIP application (sipapp). The development is mainly done in C and in Linux environment, knowledge in Python is an add-on. Products and development are realized in Agile.

