×

Happy to Help!

This website doesn't store cookies. Enjoy the experience, without worrying about your data!

Great, thanks!

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, Infineon, Texas Instrument, Renesas, Fujitsu, IAR and more) that are popularly deployed for automotive applications. As the BSP solutions are designed for particular Microcontroller Platform, we also called it the Platform Software.

In our automotive journey of more than 11 years, we have built a team with in-depth expertise in Platform Software development for automotive ECUs (control units).

We have the expertise to develop Board Support Package/Platform Software for the following automotive applications:

  • Powertrain ECU
  • Seating Control ECU
  • Interior/Exterior Lighting
  • On-board Diagnostics
  • Motor Control System
  • Body Control Module
  • Secure Bootloader
  • Telematics
  • Infotainment System
  • Battery Management System, and more

Features of BSP Solutions for Automotive:

  • Encryption/Decryption algorithm ensures a secure flow of data to and from the software components
  • Platform Software is also secured with Digital Signature capability
  • We develop board support package that adds value to your product development efforts. In order to be sure of the quality and integrity of the solution, we strictly adhere to the quality guidelines and MISRA C best practices
  • Our Board Support Package is tested rigorously under stress conditions to optimize the overall system performance. This includes optimization of power to reduce the power footprint and optimisation of the boot-time.
  • Custom Built or Off-the Shelf BSP

    We offer ready-to-deploy Platform Software reference design solutions for all the popular hardware platforms. Leverage the pre-tested and production grade BSP reference design to reduce product development cost and time-to-market.

    Following is the comprehensive list of MCU platforms for which we provide ready-to-deploy platform software:

     

    Infineon Microcontroller Aurix TC3xx series
    TLE98xx Series
    Texas Instrument TMS320
    TMS320F28379d
    NXP MPC57xx
    S32K14x
    KEAZ128
    KEAZ64
    Cypress Semiconductor Cypress PsoC series
    Renesas RH850
    V80
    RL78/F13
    RL78/F14
    RL78/F15
    ST Micro STM32Fxx
    SPC58xx
    Fujitsu F2MC-16FX
    Atmel Micro ATSAMHA1G16A
    SAMV70
    Microchip PIC16F series
    DsPIC30F Series
    DsPIC40F Series
    Silabs SLWSTK6102AA

     

    Board Support Package


     

    Meet Our Automotive Leaders

     

    Board Support Package Factsheet:

    Flash Bootloader-PDF-Image

    This Board Support Package (BSP) factsheet has been designed to provide all the necessary information related to BSP solution package and BSP software integration and support services.

    Download this Board Support Package hand-book to also know about:

    • BSP software stack business model
    • Benefits of one-time licensing fee engagement model
    • Value-add features of our read-to-deploy BSP solution
    • Automotive related use-cases of Board Support Package


    Please refer to Board Support Package FAQ’s for more details.

     

    Board Support Package/Platform Software Development Services

    Testing support

    Low-level Drivers and Device Driver Development

  • Support for development of low-level drivers for a range of Microcontroller platforms
  • Low-level drivers include MCU drivers, memory drivers, communication drivers (CAN, LIN, SPI, Ethernet, etc.) and I/O drivers
  • Support for development of device drivers including System-on-Chip, EEPROM, MOSFET, CAN Partial Network and others
  • Support for both AUTOSAR and non-AUTOSAR device driver development
  •  

    In-vehicle communication and application layer services

    Hardware Abstraction Layer (HAL) and Data Abstraction Layer (DAL) Development

  • Our HAL component implements a fully reusable hardware interface in the application
  • HAL includes ADC, DIO, PWM, ICU, I2C and more
  • Additional device drivers and other services can be added to this library to support any custom hardware requirements
  • DAL includes the routines needed for data conversion to physical data
  • We provide hardware independent and reusable Data Abstraction Layer
  • Flash Bootloader development services

    Communication and Diagnostics Layer

  • Communication layer has different components to provide signal level access to the application layer
  • Includes ISO9141, DoIP, CAN-IF, CAN NM, J1939, ISOTP and other protocols as per the project’s requirements
  • Diagnostics layer includes OBD, UDSonIP, J1939, UDSonCAN, KWP2000 and others
  • We provide support for integration of the diagnostics and communication stacks
  •  

    application layer services

    Safety Modules Development

  • Safety module supervises the MCU system and reports any malfunction to the upper layer
  • We offer support for the development and integration of the following safety modules to safe-guard the system from run-time errors:
  • RAM Corruption Test
  • ROM Corruption Test
  • CPU Overload Test
  • Stack Overflow Test
  • Flash ECC
  • Program Flow Test
  • Integration of additional monitoring of Battery Voltage and Clock monitors
  • FAQs: Board Support Package (BSP) Development/Platform Software

      Ans. Our Automotive software and hardware teams have partnered with global customers for development of Board Support Package (BSP) based on following hardware platforms:

      1. Renesas ( RL 78, RH 850)
      2. Freescale( S12G128, MPC56XX)
      3. Fujitsu, Texas, Atmel, STMicroelectronics and Cypress semiconductor.

      Ans. 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.

      Ans. 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.

      Ans. 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.

    Ans. 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.

      Ans. At Embitel Technologies, we have deployed the following tool-chains for BSP development across different projects:

      1. 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.
      2. IAR: is an embedded workbench that is primarily used for RENESAS microcontroller. It includes the IAR C/C++ compiler and debugger.
      3. 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.
      4. 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.

    Ans. Yes. We offer the following documentation and testing services:

    1. Low Level Design Documentation
    2. API Documentation for software components
    3. 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.
  •   

    Knowledge Bytes
      What is the Board Support Package/Platform Software?

      Board Support Package, abbreviated as BSP, is the set of software codes (for low-level drivers and hardware abstraction layer) which are essential to facilitate robust boot process of a microcontroller.

      It does not include any software other than what is necessary for the desired functioning of the peripherals of the System-on-Chip (SoC).

      As BSP is the first software code to be developed for a SoC, it also consists of the bootloader software that will load the applications in the OS memory. The board support package is also designed as per the unique specifications of a particular hardware platform and is not dependent on the OS (Operating System). With respect to the automotive embedded systems, the BSP can have varying number of CAN, PWM and ADC channels.

      What Function does a BSP perform in an automotive ECU?

      The primary function of Board Support Package is to facilitate the communication between the hardware (microcontroller) and the application software.

      To enable this, the BSP has

      • Low-level Drivers– Vehicle network drivers (CAN, LIN etc), Analog to digital converters and more.
      • Hardware Abstraction Layer– I/O handler, Pulse Width Modulation handler, communication control and more.
      • Service and Safety layers– RAM, State Manager, Fault Code Memory and Diagnostics stacks (like UDS, OBD2)
      • Scheduler and Flash Bootloader

      In an automotive ECU, the peripherals on the SOC have to interact with the OS or the Scheduler (depending on the use case). These peripherals may include USB, GPS, touchscreen and more.

      Communication between the OS kernel and the hardware component like system Bus and Memory is also taken care by the Board Support Package.

      Modules to check the ECU state, memory management and fault code memory (FCM) are all handled by BSP software.
      BSP may support additional functions as well depending on the use cases and applications.