Search
Close this search box.

Low-level Drivers for Automotive MCU

Client: Automotive Tier1 Supplier

Technology

  • C embedded
  • JTAG debugging
  • Python 

Services

  • Custom design and development of a new family of Microcontroller Units (MCU) for automotive solutions engineering
  • Board bring-up
  • Low-level drivers
  • Low-level features
  • Software integration
  • Software integration test and release

Challenges

Our Client was looking to build:

  • a completely new MCU family for the Automotive market, and
  • A dozen of low-level drivers and development tools to help its end clients – automotive integrators –build solutions based on the new MCU.

 

The company had ZERO bandwidth to release the new MCUs and they needed help to speed up their development and testing processes.

In addition, the Client had a hyper-aggressive timeline for the solutions delivery we had to meet.

Solution

We at rinf.tech joined forces with a leading company in the semiconductors industry (with more than 25,000 customers) to build a new MCU family and toolboxes for the automotive software developers.

We developed a series of low-level drivers required for the next generation of the Client’s automotive products to work seamlessly and maintain their forefront position in the carmaking industry.

Our main areas of expertise included:

Board support package

  • Bring-up of new MCUs: NXP iMX8 DX
  • 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
  • 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 different backgrounds to work together to obtain the best end results using an Agile methodology.

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

The driver development and complementary libraries were 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 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 compromises on the quality standards.
  • 15+ sample use cases (set) helped the end clients to develop new automotive products in a shorter time.
  • Various complementary libraries allowed our Client to reach new ecosystems and get new customers.
  • The above helped our customers gain momentum on the market and develop new business opportunities.

Other Similar Projects

Looking for a technology partner?

Let’s talk.