0% found this document useful (0 votes)
5 views6 pages

Des Assignment

The document discusses the importance of tool chain availability in selecting microprocessors and microcontrollers for embedded systems, emphasizing that the right tools can significantly impact development time and product success. It outlines three categories of tool coverage: compiler tools, debugging tools, and performance measuring tools, and highlights various issues that can affect processor selection, such as implementation availability, performance metrics, RTOS compatibility, and organizational commitments. Additionally, it stresses the need to consider time-to-market constraints when making these decisions.

Uploaded by

ecaip250492
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views6 pages

Des Assignment

The document discusses the importance of tool chain availability in selecting microprocessors and microcontrollers for embedded systems, emphasizing that the right tools can significantly impact development time and product success. It outlines three categories of tool coverage: compiler tools, debugging tools, and performance measuring tools, and highlights various issues that can affect processor selection, such as implementation availability, performance metrics, RTOS compatibility, and organizational commitments. Additionally, it stresses the need to consider time-to-market constraints when making these decisions.

Uploaded by

ecaip250492
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Assignment

Akshaya S S
Roll No: 3
[Link], AEI
ECE Dept
CET

1
Write brief notes on Tool Chain Availability. What are the
other issues in the selection of a microprocessor/
microcontroller for your application?

Tool Chain Availability


Choosing the appropriate embedded design and debugging tools is as important as selecting
the microprocessor and the real-time operating system (RTOS). In many cases, tool selection
becomes even more critical because inefficient or incompatible tools can significantly
increase development time and delay product release. If the right tools are not chosen at the
initial stage of design, debugging and testing may become extremely difficult, which can
ultimately affect the success of the product in the market. Therefore, tool chain selection must
be carried out carefully along with system design decisions.
Consider a telecommunications switch containing more than 200 independent
microprocessors exchanging terabytes of data per second. Without a well-planned debug
strategy established at the same time as the system design, an engineering team has no hope
of debugging such a system. The tool chain is therefore not an afterthought — it is a first-
class design artifact.

The Three Categories of Tool Coverage

When evaluating the tool chain for an embedded system, designers should ensure good,
integrated coverage across three broad categories:
• Compiler Tools — including cross-compilers, assemblers, linkers, and standard
libraries.
• Hardware and Software Debugging Tools — including in-circuit emulators (ICE), ROM
emulators, logic analyzers, and on-chip debug interfaces.
• Performance Measuring Tools — including real-time trace analyzers, performance
profilers, and benchmark frameworks.

1. Compiler Tools

The compiler is the backbone of the software development tool chain. A compiler can have a
surprisingly large effect on the apparent performance of a processor. For RISC architectures
in particular, the quality of the generated object code is critical. A compiler that is not tuned
for the specific register structure and pipeline of the target processor may produce code that
runs at half the speed of an optimized compiler.

2
Important features that improve the usability and quality of a cross-compiler include:
support for inline assembly using the asm keyword, support for interrupt service routines
(ISR) using the interrupt type specifier, assembly language list file generation for low-level
debugging, re-entrant standard library functions, correct startup code (from RESET to the
call to main()), RTOS compatibility, and optimization modes for both speed and code size.

2. Hardware and Software Debugging Tools

Embedded debugging is fundamentally different from debugging a desktop application. The


source of a problem may lie in the underlying hardware, in the operating system, or in the
interaction between hardware and software timing. A software-only debugger is insufficient
for finding bugs that only manifest when the system runs at full speed.

Three core capabilities are required for debugging any embedded or real-time system:
• Run Control: The ability to start, stop, inspect, and modify the processor state and
memory contents.
• Memory Substitution: Replacing ROM-based memory with RAM to enable rapid code
download, debug, and repair cycles.
• Real-Time Analysis: Tracing code execution flow at full speed using real-time trace
hardware.

Modern embedded processors include dedicated on-chip debugging circuitry — such as JTAG
and BDM interfaces — to facilitate these requirements. These on-chip hooks allow a host
debugger to communicate with the processor on the target board without the need for a full
in-circuit emulator in simpler cases.

3. Performance Measuring Tools

Understanding the actual performance of an embedded system in its real operating


environment is as important as correctness. Performance analysis tools allow designers to
observe code execution in real time, identify bottlenecks, measure interrupt latency, and
assess task-switching overhead.

A critical lesson from industrial practice is that simplistic benchmark data can be
dangerously misleading. One embedded controller manufacturer selected a processor based
on a claimed two-fold benchmark improvement, only to find a mere 15% improvement in
their actual application because the benchmark did not reflect their code structure, memory
hierarchy, or real-time behavior.

3
Other Issues in the Selection Process
While tool chain support, performance, operating system availability, and suitable
implementation are the four primary criteria for processor selection, several additional
organizational and strategic issues frequently constrain or override the technically optimal
choice.

3.1 Availability in a Suitable Implementation

The physical packaging and implementation of a processor can be as decisive as its logical
architecture. Cost-sensitive applications may require an off-the-shelf, highly integrated part.
High-reliability industrial equipment manufacturers, who must guarantee parts availability
for 20-year product lifetimes, cannot afford to select a processor whose vendor cannot make
a corresponding long-term supply commitment.

Military and aerospace applications require components rated for extreme temperature
ranges and radiation hardness, which are typically available only for certain approved
processor families. Packaging technology — BGA, QFP, DIP — also limits architectural choices
when specific board form factors or assembly processes are mandated. The advent of System-
on-Silicon (SoS) and System-on-Chip (SOC) designs has further expanded the designer's
options.

3.2 Adequate Performance and Meaningful Benchmarking

Performance is the criterion most instinctively prioritized by engineers, but it is also the
most frequently misunderstood. The common assumption — that a processor benchmarking
at 1.5 MIPS will definitively outperform one at 0.8 MIPS — is flawed. MIPS, as one industry
expert noted, stands equally well for "Meaningless Indicator of Performance for Salesmen."

Real-time performance must also be evaluated separately. Two key dimensions —


interrupt latency and task-switching speed — are critical for processors that must respond
to events in the physical world. These characteristics depend not only on processor
architecture but also on the quality of the RTOS kernel port.

3.3 RTOS Availability and Fit

The Real-Time Operating System choice is tightly coupled to the processor selection. A
high-performance processor provides little advantage if no well-ported RTOS is available for
it.

The development of a Board Support Package (BSP) — the set of drivers and RTOS
integration code for specific hardware — is an expensive, expertise-intensive undertaking.
One documented BSP port cost approximately $750,000. Designers therefore consider the
prior availability of a BSP for their target hardware when choosing an RTOS.

4
3.4 Prior Commitment to a Processor Family

In many organizations, the most decisive factor in processor selection is not technical
merit but institutional commitment. If a company has an established investment in tools,
libraries, development platforms, and engineering expertise built around a particular
processor family — such as the Intel x86 or Motorola 68000 family — the desire to reuse this
investment can outweigh the potential advantages of switching to a newer or theoretically
superior architecture.

Family continuity — the ability of newer devices to execute existing object code — is
commercially valuable precisely because it preserves the customer's software investment.
The Intel x86 family maintains this compatibility across generations extending back to the
8086, and the Motorola MC680X0 family maintains backward compatibility to the original
MC68000.

3.5 Prior Restriction on Programming Language

The programming language available for a project can significantly constrain the
processor options. Defense-related projects in the United States have historically mandated
the Ada programming language. Certain industry sectors impose strong preferences for
specific languages due to certification requirements, legacy code bases, or established
organizational practice.

When a significant body of existing source code in a particular language must be


leveraged, the design team must either continue working in that language or find a
compiler/linker combination that supports mixed-language linking. For some specialized
high-performance architectures, particularly those with heavily parallel or non-standard
instruction set architectures, only a limited dialect of C and native assembly may be
practically available.

3.6 Time-to-Market Constraints

Engineers often underestimate the business importance of market timing. Missing a


product's introduction window by even one month has been estimated to reduce the
product's total profitability by up to 30%. A technically superior processor choice that results
in a prolonged development cycle is, from a business perspective, a poor choice.

Intel's Embedded Processor Division uses the term "time to money" — the elapsed time
from the start of a design project to large-volume shipment to end users. This factor also
highlights the importance of tool maturity. An engineer who selects a bleeding-edge
processor with an immature tool chain may find that debugging the system consumes the
majority of the available schedule, negating any theoretical performance advantage.

5
6

You might also like