Low-level Drivers for Automotive MCU

Client: Automotive Tier1

Technology

  • C embedded
  • JTAG debugging
  • Python 

Services

  • Board bring up activities with new MCUs
  • Low-level drivers
  • Low-level features
  • Software integration
  • Software integration test and release

Challenges

  • 1 new MCU family designed for the Automotive market.
  • 10+ drivers and development tools to help the automotive integrators to build solutions based on the new MCU.
  • ZERO bandwidth to release the new MCUs and they needed help to speed-up the development and testing.
  • Hyper-aggressive timeline

Solution

We have contributed significantly to build toolboxes for the developers themselves. Our work was carried out in partnership with a leading company in the semiconductors industry serving more than 25.000 customers.

We arrived at addressing complex issues such as developing low-level drivers required for the next generation of products to work seamlessly, once launched in the marketplace, in order for these product suites to maintain their forefront position in the Automotive industry.

Our main areas of expertise are:

Board support package

  • Bring up of new MCUs: NXP iMX8 DX bring-up from scratch
  • Low-level driver implementation: Display handler, Light sensors, Orientation sensors, QNX raw NAND driver, Optimizations for start-up and inter-processor communication
  • Support software workarounds for MCU errata

Low-level features

  • Touch display control: Low level driver on QNX, Firmware update support

Software integration

  • Integration of software delivered from India and Timisoara
  • Build system adaptation and improvement

Software integration test & release

  • Definition of integration tests
  • Measurements for software KPIs
  • Execution of integration tests in line with customer due-dates
  • Improvements for release process

Methodology

We built a team of architects, hardware, and software engineers to develop and test the MCU drivers and the complementary libraries.

During the analysis phase, we identified the required setup and estimated the total effort required to deliver the project. The team, the roles and the required phases were defined during this phase and we started to onboard the engineers and to detail the development processes and deliverables.

We engaged engineers with a different background, which worked together to obtain the best end results using an Agile methodology.

A test bench was built to help for board bring up and debugging activities. The test bench toolset included JTAG debuggers, Oscilloscopes, Multimeters, Power supplies and other various tools.

The driver development and complementary libraries was done in C embedded using the MCU development toolkit.

We built an extensive automated test environment to cover functionality, performance, and robustness testing. For every software release we build a sanity testing suite and a regression testing suite to assure the software quality. The test cases were developed using Python language.

As a complementary activity we developed a set of integration use cases to demonstrate how the MCU and associated libraries can be used to develop automotive products.

Results

  • 1 new MCU family built within the targeted timeline
  • ZERO compromise on the quality standards.
  • 15+ sample use cases (set) helped the final clients to develop new automotive products in shorter time.
  • Various complementary libraries allowed our customer to reach to new ecosystems and get new customers.
  • The above helped our customer to catch the momentum on the market and to develop new business opportunities.

Other Similar Projects

Want to work together?

Let’s talk.