TATata Elxsi Limited
BSP Specialist / Developer - Automotive
Bangalore ₹2-4 LPA Posted 22 Jan 2025
FULL TIME
Bsp
C#
C
Linux
Job Description
As a BSP (Board Support Package) Developer, you will play a crucial role in the Linux bringup on hardware boards, customization of BSP components, and device driver development. You will work closely with hardware and software teams, ensuring smooth integration of system components and contributing to the development of efficient, robust, and high-performing embedded systems.
Key Responsibilities:
- Linux Bringup: Work on bringing up Linux on hardware boards, ensuring stable and reliable booting and initialization.
- BSP Customization: Perform tasks like pinmux configuration, device tree customization, memory initialization, and OS porting.
- Device Driver Development: Develop and integrate device drivers for various peripherals such as I2C, SPI, PCIe, USB (host and gadget functions), SDIO, etc.
- Kernel Configuration: Customize and configure the Linux kernel to suit hardware requirements and integration.
- Bootloader Customization: Work with U-Boot to customize the bootloader for hardware bring-up.
- System Integration: Lead integration efforts, ensuring that all components, including hardware and software, work cohesively.
- Hardware Debugging: Analyze kernel panics, OOPS, and perform software/hardware debugging to identify and resolve issues.
- Device Driver Architecture: Ensure a strong understanding of device driver architecture, including flow of display, graphics, sound, and inputs (e.g., touch).
- Collaboration with Vendors: Engage with silicon vendors, ensuring alignment on hardware specifications and software requirements.
- Tool Expertise: Use tools like Logic Analyzers and Digital Storage Oscilloscopes (DSO) for debugging and analysis.
Required Skills & Expertise:
- Languages: Proficient in C and C++ programming languages.
- Operating Systems: Strong experience with Linux OS, including Linux kernel and bootloader development.
- Hardware & Boot Configuration: In-depth understanding of device trees, boot configurations, and board initialization processes.
- Peripheral Knowledge: Familiarity with SPI, I2C, PCI, Networking, ALSA, and V4L2.
- Device Driver Development: Experience with developing and configuring device drivers, including I2C/SPI/PCIe/SDIO/USB.
- Virtualization: Awareness of virtualization technologies and hypervisors.
- Debugging: Strong skills in software and hardware debugging, including analyzing hardware schematics.
- Integration & Testing: Experience in board bring-up, system integration, and testing procedures.
Preferred Skills:
- Expertise in Bootloader (U-Boot) customization and BSP customization.
- Ability to analyze kernel panics and OOPS logs effectively.
- Experience with build customization, including creating custom recipes and configuring layers.
