BSP Engineer
Lead end-to-end BSP design and development, from requirements gathering and architecture through hardware-software integration and delivery. The role works across embedded hardware and software teams and manages multiple projects.
Responsabilidades
- Lead BSP planning and development from requirements through architecture, integration, and customer delivery.
- Adapt Linux and RTOS systems, configure bootloaders, and tailor memory and hardware configuration to dedicated platforms.
- Develop and integrate kernel-space drivers for hardware interfaces such as I2C, SPI, Ethernet, CAN, and GPIO.
- Develop user-space libraries, APIs, and tests.
- Implement security policies, reduce attack surfaces, manage permissions, and isolate processes according to project and relevant standards.
- Configure and optimize Linux kernels for ARM, x86, soft-core, and RISC-V processor architectures; write device trees.
- Coordinate technical interfaces with firmware, application software, board, and systems engineers.
- Prepare requirements documents, including SRS, SRD, SDD, and use cases, and document development and integration.
- Manage multiple projects, schedules, deliveries, and technical quality in a dynamic environment.
Requisitos
- At least two years of BSP software development experience.
- Relevant academic degree in software engineering, computer science, or electrical engineering.
- Strong understanding of system architecture, including HAL, BSP, and OS layers, and embedded-system lifecycles.
- Experience with ARM Cortex-A/M/R, x86, and soft-core processor architectures such as MicroBlaze or Nios II.
- Familiarity with embedded and industrial communication interfaces, including I2C, SPI, UART, USB, Ethernet, CAN, and PCIe.
- Experience writing technical specifications and use cases, and translating requirements from non-technical stakeholders into clear specifications.
- Hardware-software integration and debugging experience using tools such as JTAG, logic analyzers, and oscilloscopes.
- Experience writing unit, integration, and system tests, and automating CI/CD for embedded projects.
- Good technical English for reading and writing documentation, datasheets, application notes, and standards.