Professional Documents
Culture Documents
I.
INTRODUCTION
Microcontrollers are integrated in almost all electronic devices, home appliances and automotive
electronics devices etc. which are used in day-to-day life. Mostly microcontrollers are differentiated on
the basis of bus width i.e. 8-bit, 16-bit and 32-bit microcontroller. This paper is mainly focused on 32-bit
ARM Cortex-M3 processor based microcontrollers. The use of 32-bit microcontrollers in embedded
system by developers, hobbyist for their projects is increasing day by day. The reasons behind wide use
of 32-bit microcontrollers are problematic development procedures for 8-bit and 16-bit
microcontrollers. The ARM Cortex-M3 architecture provides advantages like, desktop computer
programming language being used for development with ARM microcontrollers. Also, ARM
microcontrollers supports wide variety of development suites, integrated development environments
(IDEs).The wider use and support for ARM processors in the microcontroller industry provides an
opportunity for many programming tool companies to create variety of application development
environments (ADEs). This paper discusses the various ways of programming ARM Cortex-M3
microcontroller and design support from scientific and mathematical applications for the same. Table 1
shows the simple comparison between several microcontroller architectures (8-bit, 16-bit and 32-bit) of
the same package and roughly the same price.
Table 1. Comparison of different microcontroller architectures
Manufacturer
MCU
Package
Architecture
Flash
(KB)
RAM
(KB)
Clock
(MHz)
Atmel
ATXMEGA12
8A1-AU
P89LPC916F
DH
QFP-100
AVR XMEGA
(8-bit)
LPC900
(8-bit)
128
32
Approx.
price
(Rs.)
923
256
Bytes
18
151
128
294
128
16
1016
NXP
ON
SEMICONDUC
TOR
TI
LC87F6AC8A
LU-EJ-H
MSP430FR69
TSSOP-16
PQFP-100 LC87F6AC8Axx
/ QIP(8-bit)
100E
LQFP100 MSP430FR69xx
www.ijafrc.org
ON
SEMICONDUC
TOR
Microchip
NXP
Microchip
STMICROELEC
TRONICS
89
LC88FC2H0A
VUTE-2H
TQFP100
DSPIC33FJ25
6MC710-I/PF
TQFP100
LPC1768FBD
100
PIC32MX340
F128L80I/PT
LQFP-100
TQFP100
LQFP-100
STM32F103V
BT6
(16-bit)
LC88FC2H0Axx
xx
(16-bit)
dsPIC33F
Series (16-bit)
ARM CortexM3 (32-bit)
PIC32
(32-bit)
ARM CortexM3
(32-bit)
512
24
12
281
256
30
40
861
512
64
100
972
128
32
80
602
128
20
72
540
www.ijafrc.org
Fig 1. Development process for ARM microcontrollers using assembly and C language [1] [5].
B. MATLAB/Simulink
MATLAB is a mathematical computation tool for text based programming and Simulink provides
graphical programming environment for development of computations block diagram. There are 3
coders available; MATLAB, Simulink, Embedded coder. MATLAB coder generates standalone C and C++
code from MATLAB code [7], Simulink coder generates and executes C and C++ code from
Simulink diagrams, Stateflow charts, and MATLAB functions [7], Embedded Coder generates readable,
compact, and fast C and C++ code for use on embedded processors, on-target rapid prototyping boards,
and microprocessors used in mass production [7]. The fig. 2 shows development process with
MATLAB/Simulink.
Fig. 2 ARM Cortex-M3 based microcotroller software development process using MATLAB/Simulink
There are other programming languages with which ARM Cortex-M3 processor-based microcontroller
can be programmed. Those are discussed as follows.
C. Pascal
Pascal is a popular programming language that encapsulates strong data types, very nice syntax, and has
probably the best balance between simplicity and control. It has intuitive IDE with docking support, rich
with features, advanced text editor, many available tools, libraries and examples. The mikroPascal PRO
for ARM is a full-featured Pascal compiler for ARM Cortex-M0, Cortex-M3 and Cortex-M4 devices [7] [9].
This compiler offers low cost solution, free life time license and technical support with easy up gradation.
D. Python
www.ijafrc.org
www.ijafrc.org
edition, 2011.
[6] Shibu K V, Introduction to Embedded Systems, Tata McGraw-Hill, India, First edition, 2009.
www.ijafrc.org
2006.
[9] www.mikroe.com/mikropascal/arm
[10] http://code.google.com/p/python-on-a-chip/
[11] http://www.mpeforth.com/xc7.htm
www.ijafrc.org