Embedded system is a combination of computer hardware, software and, perhaps, additional mechanical parts, designed to perform a specific function. Embedded systems are usually programmed in high level language that is compiled (and/or assembled) into an executable (“machine”) code. These are loaded into Read Only Memory (ROM) and called “firmware”, “microcode” or a “microkernel”. The microprocessor is 8-bit or 16-bit.The bit size refers to the amount of memory accessed by the processor. There is usually no operating system and perhaps 0.5k of RAM. The functions implemented normally have no priorities. As the need for features increases and/or as the need to establish priorities arises, it becomes more important to have some sort of decision making mechanism be part of the embedded system. The most advanced systems actually have a tiny, streamlined OS running the show, executing on a 32-bit or 64-bit processor. This is called RTOS.
Personnel computers are generally very similar in terms of their hardware and just by loading different software's all sorts of different applications can be performed . But in embedded applications the hard ware is normally unique to a given system - the equipment needed to control a milling machine will be very different from that required inside a smart camera. Therefore the production of new embedded system requires the design of both hardware and the software of the system . Hence in this paper we are tried to give intimate nature of the interaction between these two aspects of the system
Embedded Development Environment
The embedded system may not have a keyboard, a screen, a disk drive and other peripheral devices required for programming and development tasks. Therefore most of the programming for embedded systems is done on a host, which is a computer system with all the programming tools. Only after the program has been written, compiled, assembled and linked is it to move to the target or the system that is shipped to the customers.
After writing source file compiling, linking, relocating and porting the executable image into the ROM, you need to test and debug the application. Once you have an executable image stored as a file on the host computer, you need a way to download that image into a memory device on the target board or development board and execute it from there. And if you have the right tools at your disposal, it will be possible to set breakpoints in the program or set break points in the program or observe its execution. These various tools could be a remote debugger, simulator, emulator or an in-circuit emulator.
A remote debugger can be used to download, execute, and debug embedded software over the serial port or network connection between the host and the target. In case of embedded systems, the debugger executes on two different computer systems – a remote debugger consists of two pieces of software. The front-end runs on the host computer and provides the human interface, and the hidden back-end runs on the target processor and communicates with the front-end over a communication link. The back-end provides low-level control of the target processor and is usually called debug monitor.
The debug monitor resides in the ROM and is automatically started whenever the target processor is reset. It monitors the communication link to the host computer and responds to the request from the remote debugger running there. Remote debuggers are the most commonly used tools for downloading and testing tools during the development of embedded software – mainly because of there low cost.
You do not have the required permissions to download the files attached to this post. You must LOGIN or REGISTER to download these files.