Estonian based company is looking for talented Linux kernel developers to join their embedded team. We are looking for new people in area of automotive and embedded software development. During initial term (about 1 month) it may be part time work but, as a goal, we are willing to establish strong and long-term relationships with potential candidates for full-time remote position.
The persons we are looking for will be involved in projects for one of our customers in USA and should have strong solid skills together with practical usage in Linux kernel development, device drivers for ARM based platform (Freescale i.MX6), knowing different basses: i2C, serial, SPI, USB, etc.
In general, you will be charged with tasks that require the following area of competence:
* Linux kernel experience in:
- resource controlling
- system calls
- kernel and its subsystems
* Different ways how to interact between user space and kernel levels, pros and cons.
- netlink socket;
- block/character devices;
- mmap и shared memory
- standard libc library
* device drivers development:
- driver initialization (probes)
- description of hardware (device tree)
- IRQ processing
- top and bottom halves
- softirq/hardirq, difference
- mutex/spin_locs, difference
* runtime power manager:
- supend/resume functions of device drivers
* debugging a kernel and device drivers:
- printk и /proc/sys/kernel/printk
- kernel debugger kgdb
- analyzing of Oops messages
- using debugfs
- ftrace and tracepoints
Also your level of English should be enough to pass the technical interview with customer in USA.
If this sounds interesting for you, please apply at this position together with your CV. Should you have any questions don’t hesitate to ask.