Learning Center
Plans & pricing Sign in
Sign Out

Microcontroller applications


									                                                                                          TECHNOLOGY IN-DEPTH

                        Four Steps to a Great ARM
                        Microcontroller Application
                                                I  ntroduction
                                                Something is changing in the embedded
                                                                                               MDK (a member of the RealView DEVELOP
                                                                                               product family) was introduced in 2006
  Rod Crawford, RealView Marketing              industry; something that will change the       and represents the fusion of ARM’s leading
  Manager, North America, ARM                   way we develop microcontroller-based           compilation technology with Keil’s leading
                                                applications. That something will radical-     µVision integrated development environ-
  Synopsis:                                     ly change the user experience of the micro     ment for microcontroller applications
  The ARM® RealView® Microcontroller            computers that surround us day-to-day          development.
  Development Kit and RealView Real-Time
                                                hidden in such things as our children’s
  Library provide developers with a complete
  solution for developing ARM processor-based   toys, vending machines, our car and even       The Four Steps
  microcontroller applications. Based on a      our washing machine. That something is         Developing a microcontroller application
  simple four step process developers are       the ready availability of low cost, off-the-   with the RealView Microcontroller Devel-
  able to rapidly produce complete working      shelf 32-bit microcontrollers.                 opment Kit encourages a simple 4 step
  applications with a high degree of                                                           development process:
  confidence that they will meet market         For over 20 years the low volume per           1) Choose the right microcontroller for the
  expectations.                                 design-in embedded marketplace has been           application
                                                the mainstay of 8- and 16-bit microcon-        2) Configure the microcontroller and
  The four steps are:
  1) Choose the right microcontroller for       trollers; simple, effective and above all         off-the-shelf software components
     the application                            cheap. With the ready availability of 32-      3) Optimize and test the application
  2) Configure the microcontroller and          bit ARM processor-based microcontrollers       4) Commit the application to Flash
     off-the-shelf software components          costing around $1, the landscape is rapid-        memory
  3) Optimize and test the application          ly changing. The high performance offered
  4) Commit the application to Flash memory     by these microcontrollers is allowing the      Unlike the classic development processes of
                                                use of large-scale, off-the-shelf software     optimizing and testing the application
  This four step process encourages
                                                components that 8-bit and 16-bit micro-        after building a flash model, the process
  developers to model, optimize and test
  their application before committing it        controllers could never adequately sup-        above enables developers to model, opti-
  to actual hardware enabling parallel          port. Embedded developers can now pro-         mize and test their application before com-
  hardware and software development             gram their microcontroller applications        mitting it to actual hardware. This devel-
  flows and enabling the commitment             using high-level languages such as ISO         opment philosophy can be found through-
  to specific hardware to be made later         standard C and C++. The use of high-level      out members of the RealView CREATE and
  in the development process.                   languages more easily supports the use of      DEVELOP families and has been shown to
  .                                             off-the-shelf software components such as      deliver up to 40% time-to-market reduc-
                                                real-time kernels, file systems and net-       tion by enabling parallel hardware and
                                                working libraries. The process of software     software development flows. In addition
                                                development becomes a matter of bolting        this approach can delay the commitment
                                                components together, enabling embedded         to a specific hardware part until much
                                                applications to be built quickly with little   later in the project. So if requirements
                                                knowledge of the inner working of compo-       change or the software requires different
                                                nents or of the peripherals they service. In   performance criteria the developer can
                                                addition the broad range of peripherals        change processors on the fly right up until
                                                supported by these microcontrollers means      step four. Each of the four steps is described
                                                that the need for discrete components in a     below.
                                                microcontroller hardware design is greatly
                                                reduced.                                       Step 1: Choose the right microcon-
                                                                                               troller for the application
                                                This article describes the development         When choosing a microcontroller, embed-
                                                process for building a 32-bit ARM proces-      ded developers have four main criteria by
                                                sor-based microcontroller application          which they make their choice: functionali-
                                                using the ARM RealView Microcontroller         ty, availability, cost and familiarity. The
                                                Development Kit (MDK). The RealView            online Device Database can be used to aid

Information Quarterly
                                                                  [14]                                               Volume 5, Number 4, 2006
                                                                                                                         TECHNOLOGY IN-DEPTH

developers in making the right choice for                                   The Device Database                               Device Database, we use the following
their application. The Device Database                                      The Device Database is a searchable data-         example:
integrates with the RealView Microcon-                                      base that contains information about the
troller Development Kit allowing develop-                                   various microcontrollers supported by soft-       Example: Remote Temperature
ers to automatically configure their tool-                                  ware development tools from Keil™ — an            Logging Device
chain for development with the chosen                                       ARM Company. Included are those ARM               The device we are creating is a remote tem-
microcontroller.                                                            processor-based microcontrollers support-         perature sensing device with the ability to
                                                                            ed by the RealView Microcontroller                log information from a sensor over time
The problem of choice                                                       Development Kit. There are two editions of        and store it locally. The device should run
Today, when selecting a microcontroller                                     the Device Database, one online at                on batteries when in the field and should
that will deliver the required peripheral set                      and one built into the            have failsafe reboot should it crash. When
and performance at the right price-point,                                   RealView Microcontroller Development              the device is docked via USB, the device
developers are faced with a considerable                                    Kit. The parametric search function is            should be able to dump its log via USB and
breadth of choice. There are more than six-                                 available only on the Web-based edition.          synchronize its clock for further data col-
teen semiconductor companies shipping                                       The database includes the information on          lection. Based on these criteria, we can dis-
ARM processor-based microcontrollers,                                       Table 1 for supported microcontrollers.           till the requirements for the microcon-
including some of the largest providers of                                                                                    troller to the following:
microcontrollers in the world. Each semi-                                   In addition to Table 1, the database con-         If we feed these parameters as a paramet-
conductor vendor offers not just one micro-                                 tains links to, which can
controller but several families of microcon-                                list what distributors carry a particular         Peripheral                 Parameter
trollers that target specific market areas. At                              microcontroller.                                  On-chip RAM                >8K
the time of writing, there are more than
150 ARM processor-based microcontrollers                                    Database searches                                 On-chip Flash              >64K
available.                                                                  The Device Data-base can be searched for          A/D Channels               8+
                                                                            microcontrollers in the following ways:
Some vendors offer online search tools that                                 • Architecture, which shows all microcon-         Power-Down Mode            Yes
allows developers to compare and contrast                                   trollers that support a particular processor      Idle Mode                  Yes
the microcontrollers in their product port-                                 architecture. E.g., searching by ARM archi-
folio. However that doesn’t help when                                       tecture will list all of the vendors that sup-    Real-Time Clock            Yes
wanting to compare the microcontrollers                                     port the ARM architecture in their micro-         Watchdog Timer             Yes
of one vendor with those of another ven-                                    controller.
dor. What really is needed is a tool that                                   • Vendor, which shows all microcontrollers        USB                        Yes
allows developers to compare and contrast                                   produced by particular silicon vendor. E.g.,
microcontrollers within product families,                                   searching for Philips as a vendor will list       ric search into the Device Database, we
across product families and across ven-                                     all microcontroller families and microcon-        find that there are currently two ARM
dors. That’s where the Device Database                                      trollers that Philips produces.                   processor-based microcontroller families
comes in.                                                                   • Parametric, which allows developers to          from different microcontroller vendors,
                                                                            enter the requirements for the microcon-          each with four microcontroller parts that
Entry                   Description                                                troller they want to find.                 fit the bill. Using this kind of search across
Part Description        A brief description of each device including part
                                                                                                                              different microcontroller vendors has nar-
                        number, core and peripheral set.                           Using the power of the                     rowed our choice from more than 125
Header Files            C and assembly language header files that describe         parametric search                          microcontrollers to eight. From here, we
                        the SFRs (Special Function Registers) available for        The parametric search capability of        can examine each individual part entry in
                        this microcontroller.                                      the Device Database is perhaps of the      the Device Database and make our final
Example Code            Code snippets and example programs that have been          most interest to developers, since it      decision based on more subjective criteria,
                        written for the selected microcontroller or
                        microcontroller family.                                    enables them to search for specific        such as past experience, clarity of docu-
Peripheral Simulation   List of the on-chip peripherals that are fully simulated
                                                                                   peripheral sets and performance cri-       mentation, relevance of applications
                        by the µVision® Integrated Development Environment         teria across the whole range of micro-     libraries and example code and, of course,
                        (IDE), which is integrated with the RealView               controllers without being constrained      price/volume.
                        Microcontroller Development Kit.
                                                                                   by the search capabilities of any sin-
Data Sheets             Data sheets related to the microcontroller part that       gle processor vendor. Using this kind      RealView Microcontroller
                        may be downloaded from the Keil web site.
Boards                  The available evaluation boards for the selected           of search, developers can quickly          Development Kit configuration
                         microcontroller.                                          hone in on a single microcontroller        In the above example, we have shown
Emulators               The available emulators for the selected                   part or microcontroller family that        how the Device Database can be used as a
                        microcontroller.                                           will offer the best match of perform-      stand-alone tool on the Web to make
Third-Party Software    Software that can run on the microcontroller, such as      ance, peripheral set and scalability       informed decisions regarding the choice of
                        Real-Time Operating Systems and application
                                                                                   for future-proofing.                       microcontroller for a particular applica-
Consultants             A list of software and hardware consulting companies
                                                                                                                              tion. However, the Device Database’s use-
                        familiar this microcontroller.                             Parametric search example                  fulness extends beyond this, because it can
                                                                                   To show some of the advanced capa-         also be used during the setup phase for a
Table 1                                                                            bilities of the parametric search of the   particular application project.

Information Quarterly
                                                                                                [15]                                                Volume 5, Number 4, 2006
                                                                                              TECHNOLOGY IN-DEPTH

The RealView Microcontroller Develop-            additional on-board memory locations, to            and peripheral behavioral requirements of
ment Kit contains an edition of the Device       the configuration.                                  each application that runs on a specific
Database which is invoked when a devel-                                                                      microcontroller can be significant-
oper begins a new project. When the devel-                                                                   ly different, and it is impossible for
oper specifies the chosen microcontroller in                                                                 the supplied startup code to cater
the Device Database within the RealView                                                                      for every possible setup that devel-
Microcontroller Development Kit’s µVision                                                                    opers may require.
IDE, the database’s knowledge of that
microcontroller is used to automatically                                                                        One approach is for developers to
configure and tailor the development tools                                                                      take a standard set of startup code
specifically to that microcontroller. This                                                                      and incrementally modify it until
can significantly reduce tooling setup                                                                          the required state of the microcon-
times. The automatic tools configuration                                                                        troller and its resources, such as
includes the following:                                                                                         stacks, is achieved. This approach,
                                                                                                                while undoubtedly leading to suc-
Simulator setup                                                                                                 cess, can be time consuming. The
This configures the µVision simulator to                                                                        RealView Microcontroller Devel-
model the appropriate microcontroller            Figure 1: Setting options for the target microcontroller       opment Kit offers an alternative
including default clock rate, instruction                                                                       approach to hand modifying the
set, register set, internal ROM and RAM          Step 2: Configure the                                 example        startup     code      with    a
spaces and peripheral set.                       Microcontroller and Off-the-shelf                     Configuration Wizard that provides a
                                                 Software Components                                   high-level view of the resources of the
Linker setup                                     Developing microcontroller applications               microcontroller that map onto the startup
This builds a linker readable memory map         using 32-bit ARM processor-based micro-               code. Figure 2 (see next page) shows part of
or Scatter File that defines where the linker    controllers enables developers to leverage            the configuration for two of the chip select
should place the code to the right address-      a broad range of off-the-shelf software               registers on the external bus interface of
es and tells the microcontroller simulator       components in a way that was previously               an Atmel AT91M55800A microcontroller.
the layout of the memory map (the simu-          not feasible on 8- and 16-bit microcon-               The developer can easily enable and con-
lator can trap writes to non-memory or           trollers. The sheer horsepower and memo-              figure a specific chip select register by mod-
read-only memory).                               ry addressing capabilities of an ARM                  ifying the values for each entry.
                                                 processor-based microcontroller invariably
Compiler and assembler setup                     removes the need for hand-coded assem-
This sets the RealView compilers and             bler or proprietary software libraries. The
assemblers include paths to include the          RealView Microcontroller Development Kit
correct header files for this microcontroller.   and RealView Real-Time Library provide
                                                 developers with a pool of common soft-
Installation of startup code                     ware components and examples that they
into the project                                 can use as the fundamental building
This prepends the source of the relevant         blocks for their application. The target sys-
example microcontroller startup code to          tem and software components can be eas-
the start of the project, ensuring that after    ily configured for the desired application
reset the microcontroller is put into a          in the RealView Microcontroller Develop-
known, well-defined state prior to execu-        ment Kit’s mVision IDE by using an inbuilt
tion of the application.                         Configuration Wizard. By using these con-
                                                 figurable components, coupled with a real-
In addition to the above, the automatic          time kernel and adapting the template
configuration sets several useful defaults       examples, developers can rapidly and con-
for first-time use of the tools, including       fidently get a long way towards a finished            Figure 2
compiling for debug, generation of a map         application.
file and call graph. Each of these options is                                                          This approach significantly simplifies the
shown in the Options for Target GUI in the       Target Configuration                                  creation of startup code since the startup
µVision IDE as both a GUI changeable             Correctly setting up the target environ-              code is automatically generated as the
item and the set of command line argu-           ment for an embedded application can                  Configuration Wizard is completed. For
ments for each tool the GUI generates.           take considerable time to get right. As               example, completion of the entries for
Figure 1 shows the target configuration for      noted above, the RealView Microcontroller             Chip Select 0 (CSR0) automatically modi-
a Philips LPC2148 microcontroller with           Development Kit can add specific startup              fies the numeric value associated with an
entries for its on-chip memory map and           code for a chosen microcontroller at the              ARM assembler constant declaration of the
default clock rate automatically completed       start of a project, enabling the developer’s          form:
from the microcontroller’s entry in the          applications to begin execution when the
Device Database. The user can then add           microcontroller is in a known well-defined                 EBI_CSR0_Val     EQU       0x010024A9
additional configuration options, such as        state. However, the memory requirements

Information Quarterly
                                                                     [16]                                                   Volume 5, Number 4, 2006
                                                                                           TECHNOLOGY IN-DEPTH

This constant is used later in startup code      Software Applications Libraries                block pools and event flags. Developers can
for the initialization of the external bus       The high performance provided by ARM           use the kernel to combine components
interface.                                       processor-based microcontrollers allows        from the Real-Time Library so that they
                                                 their use in market areas which are rela-      execute as separate communicating tasks
Under the Hood of the                            tively more computationally intense than       on a target system.
Configuration Wizard                             other markets addressed by 8- and 16-bit
The Configuration Wizard uses a simple           microcontrollers. Addressing these markets     Code Templates and
markup language to define what the user          successfully requires more complicated soft-   Application Examples
sees in its dialog box and how the user’s        ware. While a typical 8-bit application        The RealView Microcontroller Develop-
choices generate numeric and textual             might contain a Real-Time Operating            ment Kit contains several example applica-
items. Markup language can be embedded           System (RTOS) and some control code,           tions for each supported microcontroller.
in the comments of C, C++ or assembler           modern 32-bit microcontroller applications     Developers can use the examples as tem-
source code or any text file, for that matter.   typically will contain complete communi-       plates for their applications, removing the
This allows the Configuration Wizard to be       cation stacks that are an order of magni-      need for in-depth knowledge of their cho-
used for any kind of configuration which is      tude more complex than the humble RTOS.        sen microcontroller just to begin develop-
defined using a numeric string. Figure 3                                                        ment. The examples cover common initial
shows an example of the Configuration                                                           development requirements such as setting
Wizard being used to configure the heap                                                         up interrupts, flashing an LED or writing
size of a target system. Figure 4 shows the                                                     text to an output device, as well as com-
underlying markup language for this                                                             plete analog data acquisition and real-time
example. The tags <h> and </h> define the                                                       OS examples.
start and end of the heap entry with its
associated label. The <o> tag defines a user                                                    The RealView Real-Time Library also ships
editable entry within a numeric range. The                                                      with several example applications that uti-
actual entry to be edited in this is example                                                    lize components of the RealView Real-Time
is implicitly the first numeric field follow-                                                   Library in typical real world scenarios.
ing the markup (0x00000000). The user                                                           These can be used as basis for a complete
can define a field offset by specifying a                                                       embedded application. Examples include:
number after the (o).                                                                           • Embedded Web server with CGI scripting
                                                                                                • SMTP email notification
                                                                                                • Telnet
                                                                                                • USB memory device
                                                                                                • USB human interface device
                                                 Figure 5                                       • USB audio device

                                                 The RealView Real-Time Library provides a      Step 3: Optimize and Test
                                                 set of commonly required software compo-       the Application
                                                 nents that can easily be deployed on ARM       Ensuring that software performs optimally
                                                 processor-based microcontrollers.              and all avenues of execution have been
                                                                                                thoroughly tested requires a powerful set of
                                                 The library contains such items as a TCP/IP    tools that first provide the developer with
                                                 networking stack, Flash file system, USB       the ability to accurately build an environ-
Figure 3                                         device driver and CAN device driver opti-      ment in which his application is expected
                                                 mized for the specific peripherals of the      to perform and respond; and second pro-
                                                 microcontrollers they support. Developers      vides different views of the software execut-
                                                 can quickly configure the components           ing in that environment over time. The
                                                 using the Configuration Wizard in the          RealView Microcontroller Development Kit
                                                 RealView Microcontroller Development Kit.      supports a “model first” development
                                                 Figure 5 shows an example of the               methodology, enabling developers to rap-
                                                 Configuration Wizard being used to config-     idly optimize and validate their software
                                                 ure a USB2 stack.                              before committing it to hardware.

                                                 The RTX real-time kernel is included as a      Model First!
                                                 configurable object in the RealView            As with other members of the RealView
                                                 Microcontroller Development Kit and is         DEVELOP and CREATE product families the
                                                 provided in source form in the RealView        RealView Microcontroller Development Kit
                                                 Real-Time Library. This is a fully featured    supports a “model first” development
                                                 real-time kernel offering many of the most     methodology which encourages developers
Figure 4
                                                 common resource abstractions found in a        to create, debug and optimize the majority
                                                 modern RTOS, including threads, timers,        or their application using the simulation
                                                 queues, mailboxes, semaphores, mutexes,        capabilities within the µVision IDE. The

Information Quarterly
                                                                    [17]                                             Volume 5, Number 4, 2006
                                                                                              TECHNOLOGY IN-DEPTH

reason for this approach lies in the level of    PORT0 |= 0x00000002;        /* set P0:2 high awaiting key input */     whether or not to imple-
non-intrusive visibility and interactivity                                                                              ment debug blocks such
afforded by models over actual hardware          /* define a debug function for the push button */                      as the Embedded Trace
described below.                                 signal void push_button (void) {                                       Macrocell (ETM™). Even if
                                                    PORT0 &= ~0x00000002; /* set P0:2 low */                            the microcontroller sup-
Creating the Execution Environment                  swatch (0.01);              /* wait 50 msec     */                  ports ETM acquisition of a
                                                    PORT0 |= 0x00000002;        /* set P0:2 high */
A typical microcontroller application is         }
                                                                                                                        tool to exploit it can incur
expected to respond to external stimuli in a                                                                            considerable costs. By con-
required amount to time. Setting up a real       /* define a toolbar button to call push_button */                      trast, implementing such
world environment with real hardware in          define button "Push my button", "push_button ()"                       things as instruction trace,
which these stimuli occur and being able to                                                                             performance         profiling
measure the response of the application         It is often desirable to stimulate the soft-          and code coverage by instrumentation of a
can be costly and extremely difficult to        ware application with signals over time               model is relatively strai-ghtforward and
achieve early on in the development cycle.      and to measure the resulting performance              often affords developers a much better view
By modeling the environment in which the        of the software. The script example below             of their software execution than they could
application will execute it is possible to      generates a varying analogue signal on                get using real hardware.
stimulate the application and measure its       Analogue channel 0 of an Atmel microcon-
response to events that occur in the outside    troller.                                              The RealView Microcontroller Develop-
world.                                                                                                                   ment Kit provides several
                                                 /* Analog0() simulates analog input values given to channel-0 (AD0) */ sophisticated monitoring
Simulation of a microcontroller and its sur-     /*-------------------------------------------------------------*/ and profiling tools built
rounding environment is achieved in the          Signal void analog0 (float limit){                                      into the µVision IDE.
RealView Microcontroller Development Kit            float volts;                                                         Each of these is described
by simulating all peripherals on the micro-                                                                              below.
                                                     printf ("Analog0 (%f) entered.\n", limit);
controller and allowing them to be                   while (1) {            /* forever */
controlled by both the debugger GUI and a              volts = 0;                                                      Code coverage
powerful scripting language that supports              while (volts <= limit) {                                        It is important when
execution of events at specific timed inter-             ad0 = volts;       /* analog input-0 */                       completing an applica-
vals. Figure 6 shows the status of the                   twatch (200000); /* 200000 Cycles Time-Break */               tion to have a high
                                                         volts += 0.1;      /* increase voltage */
Vectored Interrupt Controller (VIC) and                }                                                               degree of confidence that
external interrupts of an NXP LPC2148                  volts = limit;                                                  the product has been
microcontroller. In addition to watching               while (volts >= 0.0) {                                          thoroughly          tested.
program code change the state of the VIC,                ad0 = volts;                                                  Insuring that tests cover
the developer may change the state of the                twatch (200000); /* 200000 Cycles Time-Break */               the entire code base and
                                                             volts -= 0.1;   /* decrease voltage   */
VIC and external interrupts using the GUI                }                                                             exercise the code in all
in the µVision IDE.                                  }                                                                 possible ways only is key.
                                                 }                                                                     The code coverage fea-
                                                                                                                       ture in the RealView
                                                The value of analogue and digital signals           Microcontroller Develop-ment Kit visually
                                                and the state of program variables over             shows which code that has been executed
                                                time can be visualized using the RealView           and which code has not using a color
                                                Microcontroller Development Kit’s logic             blocks to the left of the code. Figure 8 (next
                                                analyzer. This tool allows developers to eas-       page) shows the partial coverage of a C if
                                                ily compare input signals with program              statement. Code with a green block beside
                                                state and output. In addition it is possible to     it has been executed. Branches with light
                                                show what code was executing at any point           blue beside them have been taken.
                                                in the signal flow over time. An example of         Branches with orange beside them have
                                                the analog signal generated from the script         been skipped. Code that has never been
                                                example compared against a program vari-            executed has a dark gray block.
                                                able is show in figure 7.
Figure 6
                                                Analysis Tools
If the external interrupt is connected to one   In the world of hardware, the level
of chip’s external pins the interrupt can be    of application execution visibility
triggered using a simple C like script. The     afforded the developer is dictated
following example defines a function that       by the silicon manufacturer and
holds pin 2 of port 0 low for 50 simulated      the depth of the developer’s pockets.
milliseconds while the simulation is run-       Features such as non-intrusive
ning and then takes it high. This function      instruction trace on a real ARM-
is attached to a button in the GUI for ease     based microcontroller depend on
of use by the define button command.            the silicon vendor’s decision Figure 7

Information Quarterly
                                                                        [18]                                                Volume 5, Number 4, 2006
                                                                                           TECHNOLOGY IN-DEPTH

                                                width allowing additional functionality to
                                                be added to the application if desired.

                                                Step 4: Commit the Application to
                                                Flash Memory
                                                The Model First philosophy encouraged by
                                                the RealView Microcontroller Development
                                                Kit ensures that when it is time to commit
                                                the software application to actual hard-
                                                ware the bulk of the application has
                                                already been debugged and optimized. The
                                                debugger in the µVision IDE supports con-
Figure 8                                        nection to target hardware using the
                                                ULINK™ JTAG run control unit. This com-
                                                bination provides developers with the abil-
                                                ity to download, set breakpoints, single step
                                                and reset the application.

                                                Many ARM microcontrollers have on-chip
                                                Flash memory that can be used to contain
                                                the application and also used as non-
                                                volatile storage for program data. When a
                                                developer chooses a particular ARM proces-
                                                sor-based microcontroller using the Device
Figure 9                                        Database the appropriate Flash program-
                                                ming algorithm from the Device Database
It is also possible to generate a report on     is enabled within µVision allowing the
what percentage of a module or function         developer to “blow” his application into
has been executed. An example of this is        the microcontroller’s on-chip Flash.
show in figure 9. This can be saved for later
analysis.                                       The RealView Microcontroller Develop-
                                                ment Kit also contains algorithms for pop-
Performance Analyzer                            ular off-chip Flash memories. These are
Finding where processor time is spent when      available as standard projects with com-
executing an application can be critical to     plete source code enabling the developer to
ensuring that an application performs           use them as-is or to adapt them support
optimally. Finding and rewriting code           additional Flash memories. In addition
hotspots can reduce processor usage and         µVision can run in batch mode and used to
ultimately can lead to power savings and        program the Flash of low volume produc-
the ability to add more functionality.          tion runs.
The performance analyzer in the RealView        Conclusion
Microcontroller Development Kit records         The ready availability of low cost 32-bit
and displays execution times for functions      ARM processor-based microcontrollers is
and program blocks. Bar graphs display          going to have a significant impact on the
the time spent in each part of your pro-        embedded landscape. This new breed of
gram. Figure 10 shows the execution profile     microcontrollers has a broad range of
an application that uses polled serial IO. It   sophisticated peripherals that replace the
is clear that making the IO interrupt driven    need for discrete hardware components and
will significantly free up processor band-      has the horsepower to run complex middle-
                                                ware. The RealView Microcontroller Devel-
                                                opment Kit and RealView Real-Time Library
                                                provide a complete development solution
                                                tailored for these new thoroughbreds.

                                                Using the simple four step process that we
                                                have outlined in this article, developers can
                                                take these RealView tools and develop 32-
                                                bit ARM processor-based microcon-
                                                troller applications faster and with
                                                greater confidence than ever before.
Figure 10

Information Quarterly
                                                                   [19]                              Volume 5, Number 4, 2006

To top