More Markets and Trends
In 1986 iSYSTEM’s first development tool was shipped to an embedded systems supplier. Since then lots of embedded software has been developed, debugged, analyzed, tested and deployed using iSYSTEM’s Embedded Software Development Environment (winIDEA/testIDEA) in combination with iSYSTEM Blue Box Debugger and Analyzer Hardware.
Trends in Embedded Software Development Tools: One day a traditional debug tool will just upload data … Well, this could be the dark side for an Embedded Systems tool manufacturer such as iSYSTEM. However, there is also a more realistic view telling us that future functionality of a development and test tool will be more software than hardware. Ok, this is nothing magic and it is a general trend for years now. Implicitly it tells us that even if a tool will just upload data, it has to upload and display a mass of data at high speed. Not only a challenge for tool but also for PC manufacturers. USB 3.0 may be an answer here. In addition to that debugging tools have to support the new high-speed serial interfaces implemented on todays and future micro controllers (e.g., AURORA). Challenging will be the way how the data is collected and pre-analyzed as well as displayed in real-time on the PC.
To build a professional debug tool today, it is not enough to know all about the details of a micro controller. The core know-how of a tool vendor has to be extended towards process know-how within their customer base. Why? Because todays tools have to be seamlessly integrated in such processes and have to support automating big portions of the process steps. They also have to fit in the context of market specific standards, e.g., safety standards and have to come up with answers to model based development and testing, requirements traceability, as well as connectivity to simulator software and hardware and other layers of the V diagram. These requirements do have an impact on the actual and future functionality set of debug tools already today:
Connectivity (open and public APIs): Tool vendors like iSYSTEM have to provide generic interfaces to integrate these tools in their customers’ development and test processes so that this functionality can be used in full. The interfaces have to support a wide range of tasks (development, test, verification and validation of software and hardware). The trend is towards supporting many different programming languages (C, C++, C#, JAVA) and script languages (Python, Perl, TCL) to “remotely control” the development tool from within another application (also customer-specific). In principle, specific process sequences can thus be automated both during development and test.
Software Testing Capabilities – Real-time Testing: Testing is a requirement in several (safety) standards, e.g. IEC 61508 and its derived standards ISO 26262, DO-178B, IEC 62304 and so forth. Standards and standardization have a tremendous influence on the development cycle and especially on the amount of testing. Instead of purchasing an additional tool and in order to test as early and close as possible to the hardware today’s debuggers should offer an integrated testing functionality. This is what iSYSTEM implemented as real-time testing. It does not require code instrumentation or any test driver. This enhancement to iSYSTEM’s debug and analyzer tools allows to generate and execute test cases from inside the development environment. No test driver is necessary. Without compiling/linking/downloading a test case again and again, the test is executed on the real hardware. Additionally features of iSYSTEM’s debug and trace tools e.g. tracing, profiling, code coverage can be integrated in the test processes.
Multicore Processor Support: Multicore processors have found their way into a wide range of applications. Here as well, suitable development tools will offer solutions to support the development and test of dedicated multicore applications. There are still a lot of open questions for all parties including semiconductor vendors, end customers, tool vendors, universities etc. On a long run real multicore based application development and testing will change not only tools but also the development and test process within a company.
“Mini HIL” Functionality and Power Measurement: Future development tools will also provide so-called “mini HIL” functionality (hardware-in-the-loop, measurement and stimulus modules for testing and power measurement), to generate and record digital and analog signals and integrate them in testing at a very early stage. This makes it possible to develop software very close to reality and to test as early as necessary. Important is that this can be done from within the usual environment, and virtually on-the-fly.