Four Steps to Creating Great 32-Bit Microcontroller Applications

A series of four step-by-step guides to using the ARM RealView 

Microcontroller Development Kit 

 

Guide 1: Selecting the right microcontroller for your 

application 

 

Rod Crawford June 2006 

 

 

Abstract: Selecting the right ARM® processor-based microcontroller (MCU) for your 

application can be a daunting task. With more than 125 ARM processor-based 

microcontrollers available, finding one with the right peripheral set and performance 

criteria could take extensive research. This white paper describes how the 

parametric search engine in the Device Database®, which integrates with the 

RealView® Microcontroller Development Kit, can be used to quickly choose the right 

MCU for your application. In addition, we show how the Device Database can be 

used to configure the tools in the RealView Microcontroller Development Kit for the 

chosen MCU part. 

 

      

Overview 

In the modern world of embedded development, the demand to stay ahead of 

competitors, coupled with the ready availability of low-cost, high-performance 32-bit 

microcontrollers, is leading to widespread adoption of these parts in new products, 

taking over from the 8-bit and 16-bit microcontrollers of yesteryear. When choosing a 

microcontroller, embedded developers have four main criteria by which they make 

their choice: functionality, availability, cost and familiarity. In this paper, we discuss 

how an online Device Database can be used to aid developers in making the right 

choice for their application. We also demonstrate how the Device Database 

integrates with the RealView Microcontroller Development Kit to allow developers to 

automatically configure their toolchain for development with the chosen MCU. 

 

The problem of choice 

Today, when selecting an MCU that will deliver the required peripheral set and 

performance at the right price-point, developers are faced with a considerable 

breadth of choice. There are more than sixteen semiconductor companies shipping 

ARM processor-based MCUs, including some of the largest providers of MCUs in the 

world.  Each semiconductor vendor offers not just one MCU but several families of 

MCUs that target specific market areas. At the time of writing, there are more than 

125 ARM processor-based MCUs available and that number is growing week on 

week. 

 

Some vendors offer some form of online search tool that allows developers to 

compare and contrast the MCUs in their product portfolio. However that doesn’t help 

when wanting to compare the MCUs of one vendor with those of another vendor. 

What is really is needed is a tool that allows developers to compare and contrast 

MCUs within product families, across product families and across vendors. That’s 

where the Device Database comes in. 

 

The Device Database 

The Device Database is a searchable database that contains information about the 

various MCUs supported by software development tools from Keil™ — an ARM 

Company, including those ARM processor-based MCUs supported by the RealView 

Microcontroller Development Kit. There are two editions of the Device Database, one 

online at www.keil.com/dd and one built into the RealView Microcontroller 

Development Kit. The parametric search function is available only on the Web-based 

edition. 

 

The database includes the following information for supported MCUs: 

      

 

Entry                                                  Description 

Part Description                A brief description of each device including part 

                                             number, core and peripheral set. 

Header Files                     C and assembly language header files that 

                                            describe the SFRs (Special Function Registers) 

                                            available for this MCU. 

Example Code                 Code snippets and example programs that have 

                                            been written for the selected MCU or MCU family. 

Peripheral Simulation     List of the on-chip peripherals that are fully 

                                            simulated by the µVision® Integrated Development 

                                            Environment (IDE), which is integrated with the 

                                            RealView Microcontroller Development Kit. 

Data Sheets                      Data sheets related to the MCU part that may be 

                                            downloaded from the Keil web site. 

Boards                               The available evaluation boards for the selected MCU. 

Emulators                          The available emulators for the selected MCU. 

      

Third-Party Software       Software that can run on the MCU, such as Real- 

                                            Time Operating Systems and application libraries. 

Consultants                      A list of software and hardware consulting 

                                            companies familiar with this MCU. 

 

 

In addition to the above, the database contains links to FindChips.com, which can list 

what distributors carry a particular MCU. 

 

Database searches 

The Device Database can be searched for MCUs in the following ways: 

• Architecture, which shows all MCUs that support a particular processor 

architecture. E.g., searching by ARM Architecture will list all of the vendors 

that support the ARM architecture at the heart of an MCU. 

• Vendor, which shows all MCUs produced by particular silicon vendor. E.g., 

searching for Philips as a vendor will list all MCU families and MCUs that 

Philips produces. 

• Parametric, which allows developers to enter the requirements for the MCU 

they want to find. 

 

Using the power of the parametric search 

The parametric search capability of the Device Database is perhaps of the most 

interest to developers, since it enables them to search for specific peripheral sets 

and performance criteria across the whole range of MCUs without being constrained 

by the search capabilities of any single processor vendor. Using this kind of search, 

developers can quickly home in on a single MCU part or MCU family that will offer 

the best match of performance, peripheral set and scalability for future-proofing. 

 

Parametric search example 

To show some of the advanced capabilities of the parametric search of the Device 

Database, we will use the following example: 

 

Example: Remote Temperature Logging Device 

The device we are creating is a remote temperature sensing device with the ability to 

log information from a sensor over time and store it locally. The device should run on 

batteries when in the field and should have failsafe reboot should it crash. When the 

device is docked via USB, the device should be able to dumps its log via USB and 

synchronize its clock for further data collection. Based on these criteria, we can distill 

the requirements for the MCU to the following: 

 

Peripheral                           Parameter 

On-chip RAM                      >8K 

On-chip Flash                     >64K 

A/D Channels                     8+ 

Power-Down Mode           Yes 

Idle Mode                            Yes 

Real-Time Clock                Yes 

Watchdog Timer                 Yes 

USB                                      Yes

 

If we feed these parameters as a parametric search into the Device Database, we 

find that there are currently two ARM processor-based MCU families from different 

MCU vendors, each with four MCU parts that fit the bill. Using this kind of search 

across different MCU vendors has narrowed our choice from more than 125 MCUs 

to eight. From here, we can examine each individual part entry in the Device 

Database and make our final decision based on more subjective criteria, such as 

past experience, clarity of documentation, relevance of applications libraries and 

example code and, of course, price/volume.  

 

RealView Microcontroller Development Kit configuration 

In the above example, we have shown how the Device Database can be used as a 

stand-alone tool on the Web to make informed decisions regarding the choice of 

MCU for a particular application. However, the Device Database’s usefulness 

extends beyond this, because it can also be used during the setup phase for a 

particular application project. The RealView Microcontroller Development Kit 

contains an edition of the Device Database which is invoked when a developer 

begins a new project. When the developer specifies the chosen MCU in the Device 

Database within the RealView Microcontroller Development Kit’s µVision IDE, the 

database’s knowledge of that MCU is used to automatically configure and tailor the 

development tools specifically to that MCU. This can significantly reduce tooling 

setup times. The automatic tools configuration includes the following: 

 

Simulator setup 

This configures the µVision  simulator to model the appropriate MCU including 

default clock rate, instruction set, register set, internal ROM and RAM spaces and 

peripheral set. 

 

   

   

Linker setup 

This builds a linker readable memory map or Scatter File that defines where the 

linker should place the code to the right addresses and tells the MCU simulator the 

layout of the memory map (the simulator can trap writes to non-memory or read-only 

memory). 

 

Compiler and assembler setup 

This sets the compiler and assemblers include path to include the correct header 

files for this MCU. 

 

Installation of startup code into the project 

This prepends the source of the relevant example MCU startup code to the start of 

the project, ensuring that after reset the MCU is put into a known, well-defined state 

prior to execution of the application. 

 

In addition to the above, the automatic configuration sets several useful defaults for 

first-time use of the tools, including compiling for debug, generation of a map file and 

call graph. Each of these options is shown in the Options for Target GUI in the 

µVision IDE as both a GUI changeable item and the set of command line arguments 

      

for each tool the GUI generates. 

 

Conclusion 

At the beginning of this guide, we stated that when choosing an MCU, embedded 

developers have four main criteria by which they make their choice: functionality, 

availability, cost and familiarity. The Device Database is unique in its ability to enable 

developers to make informed choices on these criteria by allowing them to: 

• Search for specific functionality across the whole range of ARM processor- 

based MCUs. 

• Quickly find pricing and availability of MCUs from distributors. 

• Rapidly start working in the familiar µVision development environment that 

has been pre-configured to build applications for their specific chosen MCU. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Technorati
  • Twitter

Comments

Leave a Reply