Technical Publications
The Power and Flexibility of Link-Time Decisions
More Techpubs
Microtec C/C++ Compiler Toolkit for PowerPC
Embedded developers need a set of compiler tools that can take high-level languages such as C, C++, or assembly language, and produce reliable code for their embedded target. These development tools should also offer flexibility in code optimizations for space and fast execution speeds. And finally, developers today require a complete set of compiler tools that reliably produce executable binaries.
The Microtec C/C++ compiler toolkit for PowerPC is a complete cross-compiler solution that includes a compiler, assembler, and linker – all designed exclusively for building today’s advanced embedded applications. This paper discusses the many advantages of the Microtec C/C++ compiler toolkit, which has been developed to deliver capabilities far beyond traditional compilers.
Simtest Simulation: A Powerful Tool for Embedded Software Development
Embedded software is no longer written in assembly language macros. In fact, the same high-level languages and tools used for writing embedded software are the same tools used for designing application software of non-embedded computers. However, embedded software is still decidedly different from non-embedded application software. With embedded software, the constraints are tighter and the requirements are stricter. This dichotomy has produced two different simulation methodologies: the traditional hardware-related simulation that consists of a target-based development; and host-based simulation which is quickly becoming the preferred method within the embedded community. This paper discusses host-based simulation and introduces two new tools that utilize this type of technology.
Prevention is Better Than the Cure: Compiler Run-Time Error Checking
Compilers are generally thought of as being tools that convert a high level language, like C or C++, into assembler or machine code. Of course, they do perform this function, but have the potential to do much more. Code may be generated by a compiler, or be extracted from its run-time library, which adds to the functionality of the user-written code in order to detect run-time errors and take appropriate action. This is useful in any software development context, but for embedded systems, where a fail-safe error control system is often required, this compiler functionality is essential. This paper reviews a number of the error detecting and trapping techniques that are available and discusses how these techniques are implemented in modern compilers. The availability of such functionality in embedded compilers on the market today is also reviewed.
Advantages of Host Simulation Over Other Types of Embedded Software Simulators
During the last decade, embedded software’s nature in devices has changed radically. As devices have taken on increasingly more functionality, the complexity of higher level software has grown accordingly. Today’s devices employ high-performance hardware such as accelerators and multi-core architectures, which in turn, enable more sophisticated software applications to cater to growing customer demands and using hardware drivers that come out-of-the-box. This quantum leap in software complexity, combined with ever tightening development schedules, requires more advanced software development tools and a new approach to embedded software development.
In this paper, the differences between three different types simulators are examined. All three simulation approaches are viable and the decision to choose one over the other depends not only on the requirements burdened upon the software, but also on the needs embedded device manufacturers are facing today.
Three Proven Techniques for Improving Embedded Software Performance
These days embedded developers are looking for new and cost-efficient methods to maximize the performance of their application while still maintaining a high level of design efficiency. This paper takes a look at three proven methodologies for improved performance through simple code modifications. The three areas explored include: measuring worst case and average case interrupt latency, measuring CPU loading, and reducing program size while increasing runtime performance.
Introducing the Powerful Capabilities of SimTest Runtime
The EDGE SimTest family of simulation tools provide a unique virtual development platform for software engineers – taking productivity and quality to an entirely new level. EDGE SimTest Runtime is a lightweight EDGE component that provides demonstration services for any embedded software application utilizing Nucleus OS or any of its middleware offerings. This paper discusses the advantages of SimTest Runtime and offers a downloadable demonstration.
Nucleus Platform Solutions
Electronic devices are evolving at a breakneck pace as manufacturers strive to differentiate from the crowd with more features, lower power consumption, and a better user experience. Such enhancements might be great for the end user, but they cause major headaches for the software developer who must deliver ever more sophisticated software on top of ever more complex silicon, and still get products out the door on time and within budget. What's needed is a new kind of development platform which empowers electronic devices: flexible enough to be reused across a wide range of products and scalable enough to exploit the unique capabilities of any target silicon. Introducing Nucleus Platform Solutions from Mentor Graphics ...
Envisioning the Perfect Development Tool for Embedded Systems
The difficulty of embedded systems development has increased because of the need to have elaborate systems that can perform complex tasks. The difficulty of embedded systems development involves the use of different hardware components with different software running on each component. To develop embedded systems, different hardware platforms and
How a Compiler Can Aid Embedded Software Developers
When a software developer is acquiring a compiler, a primary consideration is the code quality produced by the compiler. But other features that are not required by the ANSI language description (that are tailored to embedded developer needs) can make the developer's task simpler to maintain. This paper investigates some desirable features of compilers used in embedded application development, and some techniques for making use of these features.