Application of the hottest arm architecture in the

  • Detail

Application of arm architecture in the field of 32-bit microcontrollers

in the world of standard microcontrollers, arm architecture has great influence in the field of 32-bit embedded RISC. Just like the wide application of 8051 in the 8-bit world, arm has been particularly favored in the field of 32-bit microcontrollers, and has almost become a de facto standard

the improvement of system performance requirements and the development of embedded functions are one of the reasons for designers to change to 32-bit processors; However, the biggest driving force of this transformation comes from the limitations and challenges faced by the 8-bit microcontroller in its evolution process

although the 8-bit microcontroller will continue to lead the standard product market, the practices of many companies to extend the 8-bit architecture life cycle have brought more and more difficulties to design engineers in developing products. Suppliers of 8/16 bit solutions have increased the peripherals on the chip, improved the clock speed and expanded the architecture at an amazing rate in the past decade

although this improves the performance, it makes the designer's work more difficult and expensive. Designers now have to face the development tools of each new derivative chip and deal with a series of unpredictable debugging problems. With the improvement of the chip clock, its speed exceeds the ability of the simulator, so it is difficult to debug them by simulation. In order to solve this dilemma, programs use more and more memory, but this growth of memory is based on a very inefficient architecture

change of price/performance ratio

from the perspective of the whole system, the traditional advantage of 8-bit microcontroller - price - is also declining. Terry Thomas, the single chip market manager of sharp microelectronics, said: "although an 8-bit single chip can handle the traditional control functions of home appliances, run electronic games and use them in some PDAs, if you want to use some additional functions required by the new market, such as Internet access and large screen display, you must add additional chips to the PCB." However, these functions can be easily and cheaply implemented in software on a 32-bit chip

even in the direct comparison of the unit price between chips, the competition is in full swing. During the recent embedded system conference, several companies showed a variety of 32-bit standard microcontrollers based on ARM kernel at the same time. Today we can find arm chips of various prices. The average price of a single-chip microcomputer with an arm core is between $4 and $5, which is a big drop from the previous average price of $8.50. Close to the traditional 51 single chip microcomputer

various market forces come together. It is time for design managers to seriously consider the transition to 32-bit architecture. There are usually two issues that they are concerned about: first, whether they can get high-quality debugging and development tools; Second, how to avoid the loss of powerful tool support for the selected architecture for various reasons. These problems were once a major obstacle for all developers facing 32-bit architecture. However, with the introduction of MCU based on ARM kernel, all the problems have been solved

now we can easily find many development tools for ARM core standard single chip microcomputer, and more development tools will appear in the near future. Another reassuring reason is that arm has such a high share in the asic/soc embedded market, which not only means that arm's architecture has a large group of developers, but also confirms that the third-party development tool providers will actively follow up with industry leaders and support arm

transfer to arm

with the development of tools and more and more support for ARM architecture, designers need to understand the differences between 8-bit and 32-bit arm development environments and how debugging and development tools deal with them. The extended instruction set, memory architecture and on-chip debugging environment are the first to be familiar with. Bruce beckloff, manager of arm's European marketing department, said, "many differences in architecture have been covered up by the initial awareness tools of most users and have inherent renewable features. Now the efficient C compiler and powerful development tools will make this change very easy."

although easy, it is not effortless. Learning new instruction sets is still important, and we still rely on them when we want to write compact, time critical code. When porting code, we need to understand the concepts of register set, program jump scheme and instruction level interrupt handling. But in the process of transferring to arm, we can already see many new methods

for most applications, the essence of the problem is not whether there is a program migration tool or an efficient cross compiler. Instead, designers want to know if the 32-bit tool will work in the same environment as the 8-bit tool their team is using

when engineers try to learn new architectures, familiar graphical interfaces and similar operating environments are a key to facilitate their learning. Most suppliers are aware of the importance of this feature. Michael Healy, President of Ashling Microsystems, said that "our 32-bit debugger has a similar look and feel to the 8-bit debugger". However, outside the graphical interface, the two are very different. Unlike the 8-bit development tool control simulator, the 32-bit development tool communicates with the on-chip debugging port

memory management

32-bit memory model is essentially different from 8-bit memory model. In the 8-bit world, the maximum memory space of the 8051 is 64KB, which makes us hardly seriously consider whether to use MMU. Programs with 2MB space usually use bank switching memory

32-bit architecture has always been good at supporting large-scale applications and complete operating systems. It prefers to store programs in off chip ram, execute programs in cache and use MMU to process the whole process, which is a strange model for many sophisticated 8-bit developers. The compiler is useful, but the complexity of handling so many branches and exceptions in the cache will bring some trouble to developers who are used to zero wait memory operations

chipmakers have developed a clever method to solve this problem. When realizing that the progress of chip manufacturing technology makes the on-chip high-capacity flash memory do not cost too much power consumption, Philips semiconductor launched the LPC2100 series chip based on arm7tdmi-s core, which has 128 bit wide zero wait flash memory. Philips uses a 128 bit flash memory interface to compensate for the 50ns access delay of flash memory. If the 32-bit data bus is directly used to transmit data, it will be slower than the 10ns delayed ram. However, having a 128 bit bandwidth means that three times more data can be transmitted per cycle, thereby improving the effective bandwidth. Use Philips low-power flash memory unit and low-power 0.18 μ M process, 128 bit flash data channel makes the bottleneck of memory access disappear. Developers can write programs just like 8-bit or 16 bit microcontrollers, and the code is stored and executed in flash memory. Compilers and connectors seamlessly splice code and store variables and data in RAM. Geoff lees, marketing manager of Philips MCU, said that "this configuration is very ideal for real-time embedded applications"

debugging technology

the biggest difference between designers moving to 32-bit architecture lies in the tools and technologies for code debugging. The characteristic of 8-bit single-chip microcomputer is to debug with simulator (ice). It becomes more and more complex with the release of different new products. In order to meet the performance and price requirements, 8-bit SCM suppliers have derived many different on-chip peripherals, memory options and pin numbers

this strategy has derived a large number of different microcontrollers, each of which requires a different ice. Debugging tool providers adopt flexible strategies to reduce complexity and reuse their basic ice platform. However, it is still difficult for the development team to decide which derivative chip to use and purchase the corresponding debugging tools

however, when they enter the 32-bit design field, designers will have more on-chip debugging tools to choose from. The road of learning is still difficult, but JTAG, ARM embedded ice-rt and embedded trace macrocell (ETM) will finally point out the direction of stepping out of the mire of 8-bit derivative chips. (as shown in Figure 1)

these technologies are very easy for ARM development engineers of SOC and ASIC, but they need some explanation for system designers who have just turned to 32-bit. Taking arm7dtmi as an example, the kernel includes embeddedice-rt technology, which allows interrupts to be generated during debugging, so that the interrupt service program (ISR) can be executed. This real-time capability is an enhancement of embeddedice technology. Embeddedice is a kernel debugging channel of arm based on JTAG. It handles typical ice functions, such as conditional breakpoints and single step operation. Because these devices are on-chip, embeddedice-rt technology will avoid the use of cumbersome and unreliable probe insertion devices. The debug module embedded in the chip is independent of the external system timing. It can directly run at the clock speed inside the chip

background debug mode (BDM) technology is widely used in real-time instruction tracking to control registers, buses and memories in the world of 5000mm wide and thick plates and special rods demonstration intelligent workshops built before and after 8-bit Nanjing Iron and Steel Co., Ltd. The corresponding arm tool is ETM (embedded trace macrocell). Trigger points and filtering functions are configured by debugging software and transmitted to ETM through standard JTAG interface. Using the existing programmable tracker, the tracking port can be configured with 4-bit, 8-bit or 16 bit data bus width. Like an 8-bit emulation tool, peripherals and interrupt programs can continue to run during emulation

arm's interrupt vector controller (VIC) is an unfamiliar technology to many people. There are often a large number of interrupt sources in real-time embedded systems. It is very important to determine their priority and deal with them effectively. Vic is an ideal solution for managing interrupts. From the structure (Figure 2), it moves the interrupt controller to the AMBA AHB bus; In terms of function, it supports up to 32 standard interrupts, 16 IRQ vector interrupts, hardware interrupt priority control, chain controller and other features

about tools

there is no doubt that we deserve to change to arm 32-bit architecture. Before the transformation, we can foresee that arm is destined to become a widely adopted 32-bit architecture solution. But like the 8-bit world, embedded applications are still cost sensitive. (end)

Copyright © 2011 JIN SHI