Board Support Package (BSP) Development Services
Expertise in BSP Development Projects for Automotive
Embitel offers Board Support Package (BSP) solutions and reference designs for an array of microcontroller platforms (Freescale, Fujitsu, IAR and more) that are popularly deployed for automotive applications.
In our automotive journey of more than 11 years, we have built a team with in-depth expertise in automotive ECUs (control units), software stacks and embedded hardware; successfully delivering projects for OEMs and Tier-1 suppliers from across the world.
Meet Our Automotive Leaders
BSP Development Services: Embedded Hardware and Software
Device Driver Development
Robust device drivers development is an essential part of BSP development. These drives support the different peripherals of the hardware including USB, GPS, touchscreen and more.
These low-level drivers allows the OS Kernel to communicate with the hardware’s component like internal/external buses, CPU and memory.
Hardware Abstraction Layer (HAL) Libraries Development
The HAL includes all the routines that are required for hardware initialization, interrupt handling, hardware timer and clock and memory management.
Implement Seed and Key algorithm for security access
Additional device drivers and other services can be added to this library to support any custom hardware requirements.
Porting and Migration Services
We offer support for Android BSP Porting and Linux BSP Porting to custom hardware platform
Complete integration of BSP with your target hardware and OS is provided. Unit testing, functional testing and integration testing is performed to ensure bug-free code.
BSP development, customization, application specific configurations and hardware-specific foot-print optimizations, bootloader specific configurations are carried out efficiently.
Service and Safety Layer Services
Diagnostics Module: Development and integration of automotive diagnostic software stacks (UDS/J1939/KWP2000/OBD II).
Support for development and integration of custom-built diagnostic stack, as per your business requirements.
Safety Module Development: Support for development and integration of following safety module to safe-guard system from run-time errors:
RAM Corruption Test
ROM Corruption Test
CPU Overload Test
Stack Overflow Test
Program Flow Test
ECU State Manager: An ECU State Manager software module is designed to periodically check the current state of the ECU.
The integrated ECU State Manager, periodically fetches value from the lower layers (HAL and Low-level Device Drivers) to identify if the system is in one of the following modes:
Prepare to sleep mode
FCM (Fault Code Memory): FCM module is also integrated in order to store data regarding active faults, in-active faults and freeze frame data for future analysis and diagnostics of the system.
This is a robust module designed to transfer fault code memory data between Non-Volatile Memory (NVM)/ROM and RAM based on the current state of the system
FAQs: Board Support Package (BSP) Development
Q. Your automotive software & hardware teams have hands-on experience with which microcontrollers for BSP development.
A. Our Automotive software and hardware teams have partnered with global customers for development of Board Support Package (BSP) based on following hardware platforms:
- Renesas ( RL 78, RH 850)
- Freescale( S12G128, MPC56XX)
- Fujitsu, Texas, Atmel, STMicroelectronics and Cypress semiconductor.
Q. What is our business engagement model for BSP software development ?
A. We partner with our automotive customers under a one-time licensing fee model.
Under this model, our customer gets access to the entire source code of the Board Support Package (BSP). Customer also owns the IP rights of the BSP software.
Such a model delivers an added advantage of reuse of the BSP software modules across multiple projects (multiple platforms and/or for multiple application software).
P.S: When you partner with us for BSP Development, we also share the static files ;viz; cfg.c and cfg.h files. This enables your team to manage the system configuration and re-use of the source code for different projects.
Q. What programming language is used for development of BSP software? Is your code compliant with any global standard?
A. Our team has in-depth expertise in Embedded C software programming language for BSP development.
Our BSP code is compliant with 2012 MISRA C standard.
Q. If we have a custom-developed or third party software component, can it be ported with your existing architecture without any compatibility issues?
A. Yes, we ensure seamless portability of your software component module to our existing software architecture with the help of our API ( Application Programming Interfaces) based design.
Here at Embitel, we don’t follow a coding practice that is based on global variables. Rather, we follow an API based and a layered architecture design for BSP development. This ensures that any customization or addition/removal of a software module doesn’t require major changes in the source code of that module.
All the software modules in different layers of the BSP, communicate via APIs’ . This makes it easy for us to port your software components to our software architecture without causing any compatibility issues.
Q. Do you provide support for both Real time Operating Systems ( RTOS) and non-RTOS systems?
A. Yes, we have experienced engineering professionals who can work on both RTOS (Real time Operating Systems) and Non-RTOS based applications by following API based architecture for application programming.
Q. What tool-chains does your team expertise in for BSP development ?
A. At Embitel Technologies, we have deployed the following tool-chains for BSP development across different projects:
- Softune IDE: An Integrated Development Environment, Softtune is useful in developing, emulating and debugging an embedded application. The IDE is primarily used for the FR family of Fujitsu Microcontrollers.
- IAR: is an embedded workbench that is primarily used for RENESAS microcontroller. It includes the IAR C/C++ compiler and debugger.
- Greenhills: Multi IDE from Greenhills Software is used for developing BSP for PowerPC. Our automotive team has years of experience in the development and customization of BSP for PowerPC.
- CodeWarrior: CodeWarrior is one of the most widely used IDEs (integrated development environment) for embedded systems. It is used for editing, compiling and debugging software program for a wide range of microcontroller families, primarily the FreeScale.
Q. Do you also offer any documentation and testing related services for BSP software?
- Low Level Design Documentation
- API Documentation for software components
- Module Level Test Plan and Report: In order to ensure the quality of the application being developed, we perform unit testing, functional testing, and integration testing during the product development lifecycle. These tests are executed based on a test case plan and a report is generated once the tests are performed.
- a. Functional Testing & User Acceptance Testing : If we are involved in the development for the application software, we perform the functional testing and user acceptance testing.
- b. Manual testing: Manual testing is done for low level drivers
- c. Unit testing/ Script Testing: The unit testing is done through the Check C framework. A script testing helps in ensuring a Modified condition/Decision coverage.
- d. Integration Testing: If the application being developed has any additional software component, as per the user’s requirement, then an integration testing of the software modules is performed.
Our Expertise in BSP Tools and Technologies
Softune IDE: Softtune is an Integrated Development Environment to develop programs for FR family of Fujitsu Microcontrollers. This IDE takes care of all the development, emulation and debugging needs.
CodeWarrior: One of the most widely used tool in embedded systems, CodeWarrior is an integrated development environment that is used to write, compile and debug a program for several microcontroller families, most primarily FreeScale.
IAR: It is a workbench that is primarily used for RENESAS microcontroller. Their association with each other is quite old and strong.
Greenhills: Multi IDE from Greenhills Software is essentially used for developing BSP for PowerPC and our automotive team hasin-depth expertise in development and customization of BSP for PowerPC.