BSP and Driver Development
|
A board support package is software that implements and supports an operating system on hardware like a development board. Usually built with a bootloader, a BSP contains the minimal device support to load the OS and device drivers for all the devices on the board. Our firmware service delivery exceeds the industry standard in adapting existing reference BSPs to customer specifications. We work with each customer to understand their device project needs, and find ways to deliver extra value throughout the project including editing, and maintaining production-ready reference BSPs and drivers. Take a look at our reference products we have already developed for various partners. |
|
- Board Support Package
- Custom Drivers
- System Performance Optimization
Adding Value with Efficient BSP Development
BSP development is a specialized task that requires in-depth knowledge of low-level system software, a thorough understanding of hardware, and deep familiarity of the OS internals.
Our many years of developing reference BSPs for new Silicon Vendor chips means we have extensive expertise in designing, implementing and debugging BSPs developed from scratch. Our firmware expertise combined with our reference BSPs ensure device makers and independent hardware vendors (IHVs) can:
- Rapidly port an OS onto a target board to evaluate its capabilities
- Reduce the time required to develop an OS-based device
Our Expertise in Developing BSP
We have led projects with the leading embedded OS platforms including the Windows Embedded suite, Windows Mobile, Android and embedded Linux. Deep familiarity with some of the embedded industry's best processor architectures of ARM, PPC, NIOS, ColdFire and x86 have allowed our engineers to develop high-value technical skills in:
- Developing bootloaders that allow a quick downloads of new OS images during the development process
- Developing the architecture code that facilitates the communication between the OS kernel and the target device
- Creating device drivers to support peripherals on-board such as a keyboard, touch screen, USB, audio and many others >> see an example: Driver for Texas Instruments WL1271 chip
- Customizing the OS design to fit the needs of the final product through reconfiguring the BSP
If you do not have a BSP, Adeneo Embedded can create a new one or clone an existing BSP that is designed for similar hardware.
Mature Expertise in Custom and Complex Driver Development
Adeneo Embedded has been involved in many custom and complex driver developments including:
|
|
Such complex driver development requires a great deal of expertise. It is vital to have a precise understanding of how drivers should interact with an OS or kernel to extend the standard BSP architecture and integrate specific customer required features.
Our engineering team provides development services for:
- Rewriting existing device drivers for Windows Embedded Suite, Windows Mobile, Android and embedded Linux platforms
- Creating new device drivers for ARM, PPC, NIOS, ColdFire and x86-based devices
Through our extensive expertise with embedded operating systems and ARM-based solutions, we can provide unique experience on optimizing firmware and software stacks of your design:
Power management
- Advanced low power modes for idle
- Suspend and resume modes, including hibernation and deep sleep mechanisms
- Fast suspend to resume mechanisms
- Device drivers optimization
Multimedia performances
- Optimizing complete graphical chain, from hardware acceleration driver to OpenGL application
- Audio and video optimization (HD Video playing, FPS optimization, etc…)
Boot time duration
- Getting operational Linux/Android/Windows Embedded CE system in <1sec
- Getting full OS running in a few secs
- Fast loading mechanism
Communication stacks
- Drivers and middleware stacks for Industrial protocols (including CAN, EtherCAT, Modbus, Profibus, …)
Real-Time Performances
- Third party RT extension integration (Xenomai, RTAI, …)
- System architecture to warrant RT performances
- Bottleneck investigations
Case study
Low consumption in suspend for a custom platform based on a Texas Instruments OMAP3530 ARM Cortex-A8 processor and running on Linux 2.6.34 operating system
Power Management Optimization - TI OMAP3530-based Platform




