Role: Embedded Software Developer
Location: Shoreview, MN
Duration: Long Term
Job Description:
Technical Skills:
- Linux kernel compilation, optimization & booting sequence
- Signal and interrupt handling,
- Designing & Optimization of Firmware/Software architecture for different embedded Products
- Device driver development
- Algorithm development
- Designing Complex data structures
- File-systems (UBI-FS/JFFS2/YAFFS2)
Technology Stack knowledge
- Network Protocols: TCP, UDP, SNTP, FTP, DNS, DHCP, SNMP, RADIUS, WirelessHART, cctalk, SMS (GSM3.40), IPSec VPN, PPPoE
- Bus Protocols: SPI, I2C, USB, RS232, MODBUS, CAN, ADC, DAC, DMA, PWM, 1-Wire, GPIO, Zigbee, Bluetooth, NMEA0183, NMEA2k, RFID protocols
- Peripheral devices: RTC, Printer, GPS, Camera, Light Sensor, LCD Back light, EEPROM, Temperature Sensor, Light Sensor, Stepper motor, Graphical & alphanumeric LCD, MMC/SD, 3G/GSM/GPRS module
- Hardware Platforms: PIC16/18/24/32, MSP430, Atmel AVR, TI TM4C123, TI OMAP 3530, Intel Quark, Davinci, i.MX6 Solo, ESP8266 NodeMCU, STM32F103, Samsung S3C2412, Cirrus EP9301, Austria Microsystem AS3527, VIA processor
- Programming Languages: C, C++, (ideally would know Java as well, but could learn on-the-job)
- Linux Programming: Multithreaded programming, IPC, TCP/IP sockets, Makefile, Message Queues, Shared Memory, Mutex, Semaphores, Kernel threads, POSIX threads, System Calls, Event driven mechanisms: event manager daemon, device manager daemon, control manager daemon
- OS: uCOS, FreeRTOS, Linux, Windows, QNX, WindRiver, ThreadX, eCos.
Responsibilities:
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment
- Design, develop, code, test and debug system software
- Review code and design
- Analyze and enhance efficiency, stability and scalability of system resources
Post a Comment