24-06-2010, 11:46 AM
Concept of cross compiler: -
A cross compiler is similar to the compilers but we write a program for the target processor (like 8051 and its derivatives) on the host processors (like computer of x86)
It means being in one environment you are writing a code for another environment is called cross development. And the compiler used for cross development is called cross compiler
So the definition of cross compiler is a compiler that runs on one computer but produces object code for a different type of computer. Cross compilers are used to generate software that can run on computers with a new architecture or on special-purpose devices that cannot host their own compilers. Cross compilers are very popular for embedded development, where the target probably couldn't run a compiler. Typically an embedded platform has restricted RAM, no hard disk, and limited I/O capability. Code can be edited and compiled on a fast host machine (such as a PC or Unix workstation) and the resulting executable code can then be downloaded to the target to be tested. Cross compilers are beneficial whenever the host machine has more resources (memory, disk, I/O etc) than the target. Keil C Compiler is one such compiler that supports a huge number of host and target combinations. It supports as a target to 8 bit microcontrollers like Atmel and Motorola etc.
Why do we need cross compiler
There are several advantages of using cross compiler. Some of them are described as follows
¢ By using this compilers not only can development of complex embedded systems be completed in a fraction of the time, but reliability is improved, and maintenance is easy.
¢ Knowledge of the processor instruction set is not required.
¢ A rudimentary knowledge of the 8051™s memory architecture is desirable but not necessary.
¢ Register allocation and addressing mode details are managed by the compiler.
¢ The ability to combine variable selection with specific operations improves program readability.
¢ Keywords and operational functions that more nearly resemble the human thought process can be used.
¢ Program development and debugging times are dramatically reduced when compared to assembly language programming.
¢ The library files that are supplied provide many standard routines (such as formatted output, data conversions, and floating-point arithmetic) that may be incorporated into your application.
¢ Existing routine can be reused in new programs by utilizing the modular programming techniques available with C.
¢ The C language is very portable and very popular. C compilers are available for almost all target systems. Existing software investments can be quickly and easily converted from or adapted to other processors or environments.
Now after going through the concept of compiler and cross compilers lets we start with Keil C cross compiler.
Keil C cross compiler: -
Keil is a German based Software development company. It provides several development tools like
¢ IDE (Integrated Development environment)
¢ Project Manager
¢ Simulator
¢ Debugger
¢ C Cross Compiler, Cross Assembler, Locator/Linker
Keil Software provides you with software development tools for the ARM microcontrollers. With these tools, you can generate embedded applications for the multitude of ARM derivatives. Keil provides following tools for ARM development
1. ARM Optimizing C Cross Compiler,
2. Macro Assembler,
3. ARM Utilities (linker, object file converter, library manager),
4. Source-Level Debugger/Simulator,
5. µVision for Windows Integrated Development Environment.
The keil ARM tool kit includes three main tools, assembler, compiler and linker.
An assembler is used to assemble your ARM assembly program
A compiler is used to compile your C source code into an object file
A linker is used to create an absolute object module suitable for your in-circuit emulator.
ARM project development cycle: -
These are the steps to develop ARM project using keil
1. Create source files in C or assembly.
2. Compile or assemble source files.
3. Correct errors in source files.
4. Link object files from compiler and assembler.
5. Test linked application.
CHAPTER 8
CONCLUSION
CONCLUSSION
The project ROBUST AND EFFICIENT PASSWORD-AUTHENTICATED KEY AGREEMENT USING SMART CARDS FOR CAMPUS MANAGEMENT has been successfully designed and tested. It has been developed by integrating features of all the hardware components used. Presence of every module has been reasoned out and placed carefully thus contributing to the best working of the unit.
Secondly, using highly advanced ICâ„¢s and with the help of growing technology the project has been successfully implemented.
CHAPTER 9
BIBLIOGRAPHY
BIBLIOGRAPHY
The 8051 Micro controller and Embedded Systems
-Muhammad Ali Mazidi
-Janice Gillispie Mazidi
The 8051 Micro controller Architecture, Programming & Applications
-Kenneth J.Ayala
Fundamentals Of Micro processors and Micro computers
-B.Ram
Micro processor Architecture, Programming & Applications
-Ramesh S.Gaonkar
Electronic Components
-D.V.Prasad
Wireless Communications
- Theodore S. Rappaport
Mobile Tele Communications
- William C.Y. Lee
ARM System Developerâ„¢s Guide
-Andrew N.SLOSS
-Domenic SYMES
-Chris WRIGHT
References on the Web:
national.com
nxp.com
8052.com
microsoftsearch.com
geocities.com
keil.com