Global Sources
EE Times-India
Stay in touch with EE Times India
EE Times-India > Embedded

Making multi-core development more flexible, testable

Posted: 15 Jul 2015     Print Version  Bookmark and Share

Keywords:Green Hills Software  RTOS  AMP  SMP  multi-processor 

Both ISO26262 in automotive and DO-178B/C in mil/aero require compliance at several levels of precision. At one end it can be simply showing whether a line of source code has been executed at least once by a set of test cases. At the other end, it is necessary to use more complex modified condition/decision coverage (MC/DC), where a component is placed under exhaustive testing.

It is not just because such standards require a direct one-to-one mapping between specific code and the core it runs on that makes code coverage difficult on multi-core designs. According to Steve Morton, a consultant and FAA Level A Software Designated Engineering Representative, it is much more than that. "Multicore software represents a blurring of the lines separating different pieces of software – they still execute at least semi-independently, but they are more interrelated than more traditional systems."

On the plus side, affinity grouping deals with this issue by providing, at any moment, a mechanism for direct mapping of execution paths to specific cores, thus making code coverage more straightforward. The downside is that many code coverage and analysis tools require the heavy-weight, line-by-line instrumentation technologies that can barely keep up with the dynamic nature of affinity mapping.

The problems with doing safety- and security-critical code coverage in a multi-core environment relate to core affinity and the bewildering array of synchronisation mechanisms that must be tracked. To provide developers using its time-variant RTOS with a lightweight and flexible way to meet certification requirements, GHS has just partnered with LDRA Inc. to integrate the latter's tracing technology into the company's MULTI development tool chain.

LDRA's trace technology tools make use of branch point instrumentation and aggregation to capture run-time dynamics without significantly affecting the overall performance on any of the cores or on the overall system. Rather than lock down the execution path being analysed to ensure accurate measurement, in the LDRA approach run-time dynamics are simply captured, aggregated, and piped back to the host platform.

Figure 2: Performing structural analysis of the code on a multi-core processor, the LDRA coverage tool flow graph shows exactly what has and has not been "covered" in the execution of the code.

Structural coverage analysis can be captured at the individual core or aggregated to provide a multi-core system-level view. Results are portrayed graphically, enabling developers to follow the flow of code execution and to assess system behaviour at core and system levels.

Multicore is hard, compliance is harder
Even with such building blocks and tools, doing multi-core software apps that require certification compliance will always be difficult. One issue code coverage specialist Morton foresees is how to naturally create the conditions to cause a semi-visible program to follow a specific desired path through the code, which is often blocked because external stimuli may be filtered by adjacent cores' programs, causing the semi-visible program to operate in an unexpected manner.

He said that from a tooling perspective, the issue comes down to whether the tools can appropriately handle the number of cores and the semi-integrated hardware operating environment. "From a regulatory perspective, the applicant must demonstrate that they have considered the issues, and present a plan for satisfying the objectives."

About the author
Bernard Cole is the Editor of the EE Times' Microcontroller and Printed Circuit Board Designlines.

 First Page Previous Page 1 • 2

Comment on "Making multi-core development more f..."
*  You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.


Go to top             Connect on Facebook      Follow us on Twitter      Follow us on Orkut

Back to Top