Embedded Software Developer
Responsibilities:
- Take a part of electronics and schematics design (choosing sensors, interfaces and others);
- Algorithms development;
- Firmware development;
- Development of utilities for manufacturing, testing and debugging of electronic devices;
- Start-up and debug the prototypes;
- Development of technical documentation, manuals, etc.;
- Technical support of testing and manufacturing processes;
Requirements:
-
Degree in software engineering, electrical engineering, computer science or related field
-
Developing using C programming with 16 bit and/or 32 bit micro-controllers, ARM Cortex-M7 and Cortex-M4F (ST STM32F7 and TI TM4C series)
-
Practical experience and in depth knowledge and use of IAR Development environment and JTAG debuggers/programmers.
-
Ability to translate requirements into design specifications
-
Practical experience and expertise in interfacing software to electronics (e.g. off board memory, ADC’s DAC’s, Motor controllers, serial ports, SPI, I2C, heater control, PWM, Interrupt Timers, Internal EEPROM, programmable resistors, GPIO expanders, temperature sensors)
-
Very fast learner, able to pick up existing code base and project technology quickly
-
Communications Protocols
-
Solid understanding of embedded systems and RTOS
-
Experience with embedded development and processors
-
Systems software expertise in developing modular software for embedded software applications
-
Experience designing software APIs, managing make files and build environment
- Experience with GPSsystem devices and products (ublox, navspark, etc.)