- United Kingdom -- England -- East of England -- Cambridgeshire -- Cambridge
06 August 2020
Samsung Cambridge is looking for a bright, enthusiastic contractor to join the Firmware team developing a world leading Wi-Fi solution for Samsung. The role is open for a 6 month contract with a possibility of extension.
The role involves extensive analysis, debugging and fixing of issues by customers and internal test teams. The role also involves design, development and test of firmware modules within WLAN firmware, with a focus on system software rather than protocols. The role may also involve enhancement of our existing tool sets to assist and enhance the debugging capabilities.
The software is written in C and runs in a resource constrained, embedded, real time environment and tools are typically written in Python and shell scripting languages.
Given the current COVID-19 situation, the role will be mainly based on remote working with occasional visits to office for training, to set up equipment or perform experiments. Hence the ability to work efficiently with minimal supervision is essential.
- Embedded firmware design and development
- Analyse and document, system and module requirements.
- Support customer issues and provide timely analysis and solutions.
- Design and document individual modules.
- Participate in cross team system level architectural/design/interface discussions and reviews
- Develop and test (unit, system and acceptance) firmware of major scale and complexity.
- Maintenance of software including defect investigation.
- Contribute actively towards the continuous development of the department’s processes.
- Constantly seeks quality in deliveries; works with lead engineers and project managers to ensure timely delivery of designs.
- Excellent proven understanding of C programming language for resource constrained real-time environments where MIPS and memory have to be utilised carefully.
- Experience of developing bare-metal embedded software on ARM processors.
- Familiar with working in a Linux-based command line development environment.
- Experience of scripting languages such as Python and Bash.
- Familiarity with “make” build systems and GNU toolchain.
- Good understanding of embedded debug techniques and tools (e.g. Lauterbach Trace32).
- Effective team player and good communicator.
- Able to work efficiently and remotely with minimal supervision.
- Excellent problem solving ability and tenacity in finding root cause for complex issues with focus on delivering results.
- Excellent oral and written communications with attention to detail.
- Experience of techniques for communicating between hardware and software.
- Knowledge of embedded multi-processor systems and inter-processor communication techniques.
- Familiarity with ARM Cortex R and M series processors.
- Experience of using debugging tools such as ARM debuggers, analysers and oscilloscopes.
- Experience of debugging hardware issues.
- Experience of real-time operating systems e.g. FreeRTOS.
- Knowledge of processor architectures and peripherals.
- Familiarity with 8051 microcontrollers.
- Understanding of low power designs.
- Understanding of PCIe.
- Exposure to Verilog/VHDL and ability to interpret hardware schematic and PCB layouts.
- Exposure to software debugging in digital simulation environment.
- Exposure to revision control systems (Git preferred).
- Familiarity with Linux kernel and drivers.
- Familiar with working on embedded Linux platforms.
- Familiar with working on Android platforms.