More processors mean more complexity (Photo: Daimler, Illustration: Sabina Vogel)

Today”˜s driver assistance provides a whole new challenge to developers. Highly integrated processor chips are at the center of the newest technologies. But these often are incompatible with the large array of legacy software in the car.

First, a look at the status quo. The self-parking car, as shown by Audi and other automakers, relies on its own on-board sensors, a whole phalanx of cameras, radar antennas and lidar systems. And, of course,data from the navigation system. That’s a lot of data that need to be processed, and much of that data lacks any kind of uniformstructure. Radar, for example, scans a car’s environment in a relatively wide arc, whereas lidar provides a much sharper picture of the immediate surroundings. Cameras offer a full-color HD image that allows the reading of road signage.

All this information is decoded in on-board control units. It is checked, tested and, finally, turned into a three-dimensional image of the world around the car. This is all done by way of complex sensor-fusion algorithms that run as software on microprocessors in the car’s control units. Depending on the kind of data, vastly different processor architectures are needed. Increasingly, more and more is integrated on a single semiconductor chip. These so-called systems on a chip (SoC) make possible the development of very powerful systems on a tiny surface. And they consume much less electricity than separate processors.

The requirement for ever more powerful processors presents developers with a multitude of challenges. These don’t just result from the complexity of the software but also are a reflection of the heterogeneity of the development tools and the different environments. In a recent address to automotive developers, Bernhard Bauer, an expert from Germany’s Augsburg University, listed the technologies that need to be managed: parallel processing, task scheduling, synchronization of calculations and systems virtualization. And those are just some of the skills that software developers operating in this segment have to bring to the task.

Redesign needed

Makers of software development tools assume that multi-processor SoCs will play a greater role in automotive electronics.“We see a bigger need for software optimization,” said RobertLeibinger, an executive at tool developer Elektrobit. The trend is relatively clear, but automotive embedded software has at least one problem in common with office IT: Installed software at many companies very often stands in the way of badly needed new development. Hence, Jens Harnisch, a developer at chipmaker Infineon, urges his automotive customers to make a completely new start. “The introduction of multi-processor systems offers the possibility to straighten out existing software and clean up outdated structures,” he said.

Harnisch cited so-called tracing ”“ a way to more effectively test program sequences ”“ as an important trend in the development of embedded software. “Tracing will increase in importance, especially for multicore systems,” he said. Simon Fuerst, who heads software development and software infrastructure at BMW, agrees that legacy software can pose a problem in the development of new technologies. “The integration and migration of existing software is a challenge,” mostly because legacy software generally doesn’t support multicore architectures, he said. But he was optimistic that, despite the legacy issue, “multicore systems will find wide distribution in vehicles.” BMW is planning the introduction of domain-level control processors to replace the proliferation of dedicated ECUs that handle individual functions. That should simplify automotive electronics going forward. But first, a software spring cleaning seems to be in order. The auto industry, said Fuerst, “needs a massive redesign of its existing software.”

By Christoph Hammerschmidt