intro.ppt

advertisement
Keil Software ...
Embedded Development Tools For ...
Keil Elektronik GmbH
(Germany)

Consumer Electronics

Industrial Control

Networking and Office Automation

Automotive and Space Exploration
Chip Support For ...
Keil Software, Inc.
(USA)
Distributor Network

8051 Microcontrollers

MCS® 251 Microcontrollers

166 and ST10 Microcontrollers
Representatives In ...

30 Countries World-Wide

Munich Germany

Dallas, TX USA
µVision2 IDE
Features ...

Simplifies Project Development

Create Applications in C and Assembly

Optimized Library and Real-Time Kernel

Centralized Interface for Development Tools
Device Database
µVision2 Main Screen
C166 Compiler Options
µVision2 Projects
Target
Group
Source File

Books
Tab
Targets

Multiple Targets in Each Project

Create Targets for Simulation, Emulation, & Production
Groups

Composed of One or More Source Files

Help Subdivide and Structure a Project
Options for Development Tools

Configure At Each Level (Target, Group, & Source File)

Flexible Project Organization
On-line Documentation

Development Tools Manuals

Datasheets and Device Manuals
ANSI C Compilers
Support Extensions For ...

8051 Microcontroller Family (Intel, Dallas Semiconductor, Philips, Atmel, …)

MCS® 251 Microcontroller Family (Intel, Temic)

C166/ST10 Microcontroller Family (Infineon, ST Microelectronics)
Optimizer ...

Tuned For Each Architecture

High Level Of Code Density

Fast Execution Speed
Full Control Of Your Embedded Platform ...

Register Banks (void function (void) using my_register_bank)

Memory Areas (unsigned char xdata myvar)

Bit Variables (bit test_flag;)

Special Function Registers (sbit P0_1 = P0 ^ 1;)

Assembly Code is Not Required

Write Interrupt Routines in C (void isr (void) interrupt 3 using isr_rb)
Compiler Optimizations
Keil C Compilers ...

Professional High-Quality Code

High-Performance Optimizations
extern char *func2 (void);
int val;
extern strup (char *);
char buf[20];
char *func1 (void) {
int a,b,c; char *s;
char *func2 (void) {
int i = 0;
while (1) {
buf[i] = P1;
if (!buf[i]) {
strup (buf);
return (buf);
}
i++;
}
}
Global Register Optimization

Analyzes Register Usage

Optimizes Registers Program-Wide

Smaller, Faster Programs

Iterative Compilation Steps
In This Example ...

TEST1 Calls TEST2 And TEST3

90 Bytes Before Optimization

64 Bytes After Optimization

28% Savings In Code Space
b = c = 0;
for (a = 0; a < 100; a++){
c += (b + 1);
s = func2 ();
b = strlen (s);
}
val = c;
return (s);
}
TEST2.C
char *func0 (void)
int j; char *x;
{
x = (void *) 0;
for (j = P1; j < 100; j++) {
x = func1 ();
}
return (x);
}
TEST1.C
/* Convert to Upper */
void strup (char *s) {
while (*s) {
*s = toupper (*s);
s++;
}
}
TEST3.C
µVision2 Debugging
Bookmark 
No Program Code 
Enabled Breakpoint 
Program Code (Executed) 
Program Counter (Next Statement) 
Disabled Breakpoint 
Selected Line from Output Window 
Program Code (Not Yet Executed) 
Source/Debug Window
µVision2 Simulation
/* Toggle Port P2.0 and Set P2.8 */
FUNC void SetP28_ToggleP20 (void) {
PORT2 ^= 0x0001;
/* invert P2.0 */
PORT2 |= 0x0100;
/* set P2.8 */
}
/* Simulate analog input ramp on AIN0 */
SIGNAL void analog0 (float limit) {
float volts;
printf (“ANALOG0 (%f) ENTERED\n”, limit);
volts = 0;
while (volts < limit) {
volts += 0.1;
AIN0 = volts;
twatch (1000);
}
}
MACRO Language Allows High-Fidelity Simulations
On-chip Peripheral Dialogs
µVision2 IDE for C51 & C166
Third-Party Support

Case Tools (DAvE, Easy-Case, VCS)

Libraries (USB, CAN, TCP/IP)

Emulators (Nohau, Hitex, Signum, Metalink)

Device Programmers

Real-Time Operating Systems (ESP, CMX, RTX)
Technical Support

One Year Free (Priority Support via Telephone)

In-House And On-Site Training Programs
Internet Support

Support Solutions Database

Application Notes

FREE Product Updates
µVision2 Tour
To Get More Information ...

Browse the Tutorials on this CD

Visit our Web Site
www.keil.c m
Download