By Jamie Packer- VP of Customer Engineering
This continues our review of the history of the technologies used in embedded systems.
In 1971, Intel released the 4004, the first complete CPU on a single chip. This was a 4 bit processor designed with a Japanese company for their desktop calculator products. Its success led Intel to develop a couple of 8-bit processors (the 8008 and 8080). Around the same time, other companies produced their own processors, most notably the Motorola 6800, the MOS Technology 6502, and the Zilog Z80. These led to the growth of the desktop computer market, games consoles and embedded applications such as office equipment and industrial automation.
In 1978 Intel released the 8086. This was a 16-bit processor and the first to have the x86 instruction set that is still used in modern 32 and 64-bit Intel processors. This was used in a few early desktop (and even portable) computers but it was the release of the IBM PC in 1981 that led to the dominance of the Intel processor in the computer market.
1984 Inmos transputer launched - the first single chip computer system to have RAM on-chip, enabling small and low cost systems to be built. This trend continues today in most embedded MCU devices.
(Text continues below graphic.)
In 1985 Intel released the 80386, a 32-bit version of the x86 architecture. In that same year Acorn Computers of Cambridge produced the first ARM (Acorn RISC Machine) processor. The small size, low power consumption and availability as "silicon IP" have made it the most popular choice for building application-specific ICs for embedded systems. As of 2014, over 60 billion chips containing ARM cores have been sold. Since the original ARM architecture, a number of variants of the architecture have been produced, optimized for different types of application. Currently, there are three main classes of ARM processor:
- Cortex-A: High performance processors for feature rich operating systems and applications including smartphones, digital TV, servers and networking.
- Cortex-R: Exceptional performance for real-time applications where deeply embedded real-time applications where the need for low power and good interrupt behaviour are balanced with exceptional performance and compatibility.
- Cortex-M: Cost-sensitive solutions for deterministic microcontroller applications. These have been developed primarily for the microcontroller domain where the need for fast, highly deterministic, interrupt management is coupled with the desire for extremely low gate count and lowest possible power consumption
Although Intel has more than 60% of the processor market in revenue terms, the overwhelming majority of processors sold are for embedded applications. Most embedded systems use 32-bit processors (although about 15% of the market is still using 8-bit processors) and most of these are ARM cores. For example, ARM has over 95% of the smartphone market and 35% in digital TVs and set-top boxes.
However, over 60% of the resources (time, people, money) used in the development of an embedded product are for software rather than hardware development. This is why efficient development tools are critical to the success of an embedded product.
Software for Cortex-M processors, in particular, is very constrained by the memory available. In applications such as the Internet of Things (IoT) low cost and low power are very important. Therefore minimizing the amount of memory required, and making the best use of the available memory is critical.
As we saw in the previous article software development is the biggest problem when developing embedded systems and takes the majority of the resources in product development. C has become the most common language for embedded systems development, closely followed by C++, and Eclipse is the most popular integrated development environment (IDE).
SOMNIUM has therefore chosen to use these as the basis of its development tools for ARM processors - taking advantage of the industry-standard GCC compiler toolchain, the Eclipse IDE and SOMNIUM's patented technology to produce the DRT toolchain. DRT is the only set of tools on the market combining full compatibility with industry standard GNU and Eclipse, with patented resequencing optimizations. The high levels of optimization enabled by SOMNIUM's resequencing technology, enables the developer to make more effective use of the limited memory in embedded systems: achieving higher performance at lower cost.
About the author
Jamie heads SOMNIUM's customer engineering organization, which provides documentation and customer support. He has over 30 years experience in the semiconductor industry working for major semiconductor companies, such as STMicroelectronics and Infineon, as well as several smaller companies and startups. He has worked in SoC design and verification, software development and customer support.