Embedded Software Engineer
Expleo are seeking an experienced Embedded Software Engineer to support the delivery of a software engineering work package for ongoing vehicle intercom development. The role focuses on developing low-level peripheral drivers and system software for an embedded platform based on the NXP i.MX8 (A53 core) processor family.
The work will be delivered in bare-metal C, with integration into an existing embedded codebase. The system may optionally involve ThreadX RTOS and uBoot bootloader components.
This is a 3 month rolling contract, and required 1 day onsite a week.
Responsibilities
The engineer will be responsible for the design, development, testing, and integration of low-level device drivers and supporting system components as outlined below:
- eMMC Interface - Development & Testing
- Develop eMMC driver module
- Integrate driver into main codebase
- Develop eMMC test application
- Produce supporting technical documentation
- SPI Flash Interface - Development & Testing
- Develop SPI Flash driver module
- Integrate driver into main codebase
- Develop SPI Flash test application
- Produce supporting technical documentation
- UART Interface - Development & Testing
- Develop UART driver module
- Integrate driver into main codebase
- Develop UART test application
- Produce supporting technical documentation
- Ethernet Interface - Development & Testing
- Develop Ethernet driver module
- Integrate driver into main codebase
- Develop Ethernet test application
- Produce supporting technical documentation
- MMU and Bootloader Support
- Conduct code review of system startup and MMU configuration
- Review and assess uBoot configuration
- Provide recommendations and improvements where required
- Technical Requirements / Constraints
- All driver implementations should be non-blocking where possible
- Preference for DMA-based implementations where supported by hardware
- Solutions must be suitable for embedded real-time operation
- Code must be written in portable, maintainable C
Essential skills
- Strong proficiency in bare-metal C programming
Experience
- Experience with ThreadX RTOS
- Experience with uBoot bootloader development or configuration
- Proven experience developing embedded peripheral drivers
- Experience with NXP i.MX8 (A53 core) processor family or similar ARM-based SoCs
What do I need before I apply
- You will need to hold or be eligible to qualify for SC.
Benefits
- Collaborative working environment - we stand shoulder to shoulder with our clients and our peers through good times and challenges
- We empower all passionate technology loving professionals by allowing them to expand their skills and take part in inspiring projects
- Expleo Academy - enables you to acquire and develop the right skills by delivering a suite of accredited training courses
- Competitive company benefits
- Always working as one team, our people are not afraid to think big and challenge the status quo
- As a Disability Confident Committed Employer we have committed to:
- Ensure our recruitment process is inclusive and accessible
- Communicating and promoting vacancies
- Offering an interview to disabled people who meet the minimum criteria for the job
- Anticipating and providing reasonable adjustments as required
- Supporting any existing employee who acquires a disability or long term health condition, enabling them to stay in work at least one activity that will make a difference for disabled people
"We are an equal opportunities employer and welcome applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age".
We treat everyone fairly and equitably across the organisation, including providing any additional support and adjustments needed for everyone to thrive