Sie sind auf Seite 1von 22

Software Development And Tools

Software Development Tools IDE Complier C- Complier Assembler Library manager Linker/Locator Object to Hex Converter

Hardware Development Tools Emulators In-Circuit Emulators JTAG

Software Tools

Integrated Development Environment


IDE combines an editor, project manager, code development tools and a debugger into a single, intuitive environment for code development and in-system debug.

IDE (cont.)
A --Standard Windows Menus and Toolbars provide optimum access to all IDE features including the editor, debugger, customizable tool menu and online help. B --Project Window offers clear visibility and easy management of all files associated with design project. C --Source Editor Window helps create programs using the language-sensitive, full featured editor. Debugging assembly or C language programs with the source in full view is supported. Useful debug features, such as breakpoint markers and program counter location, dramatically speed debugging. D -- Output Window conveniently displays the assembler output and listing file. E,F -- Register Windows and Memory Windows help in examining and directly modifying memory, register and Flash contents during debugging. These flexible windows are automatically updated each time program execution stops, and values that changed are highlighted.

Compiler & Cross Compiler


Compiler: Compiler is a software program which converts programming language to machine understandable code .C -.obj

Cross-Compiler: A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. Cross compiler tools are used to generate executables for embedded system or multiple platforms. - Inter operability among multiple platforms

Assembler and Disassembler


Assembler: Assembler is a software or a tool that translates Assembly language to machine code. So, an assembler is a type of a compiler and the source code is written in Assembly language. Assembly is a human readable language but it typically has a one to one relationship with the corresponding machine code. .asm- .obj Disassembler : A disassembler is a Computer program that translates machine language into assembly language the inverse operation to that of an assembler. .obj -- .asm

Library and Linker


Library is an order specially formatted program collection of the object codes such that a linker can use required ones directly for linking with another newly developed source file. library manager helps in creating libraries

Linker - Linker creates an absolute object module from other modules it takes object modules created by an assembler and a complier or it takes object modules created by an RTOS. It takes only the needed object modules from the library. An absolute object file has all code and data at the fixed non-re locatable addresses.
Object to Hex Converter- It converts object files to Hex files

Running an 8051 Program


EDITOR PROGRAM Myfile.asm ASSEMBLER PROGRAM Myfile.lst Other obj file Myfile.obj LINKER PROGRAM

Myfile.abs

OH PROGRAM

Myfile.hex

Debugger
Debugger provides for menu and commands as follows: (a) Start or stop debugging

(b) Performance analyzer( to find execution time for the functions and for the specified addresses ranges and display in the performance analyzer window
(c) Break points - Open a dialog box for the break points insertion or deletion and break points settings, enable or disable current line break point, kill all break points and disable all break points (d) (e) Go( run and execute) up to next break points Step and step over by Executing one step into function and executing single step over a function Step out of current function

(f)

11

Simulator
A simulator helps debugging and thus in the development of the tested system before the final target system is readied. It is used during the development phase. A simulator does target debugging. It selects a specific microcontroller version in the family and specific peripherals for simulation. It simulates the hardware performance for the software to be embedded in that without actually employing the specific device (micro controller)

12

Emulator

Emulator is a hardware which duplicates the features and functions of a real system, So that it can behave like an actual system. An emulator can emulate the I/Os in the robotic application during development phase.

13

Logic Analyzer
The logic analyzer is the other major piece of instrumentation in the embedded system designers arsenal and it is an array of inexpensive oscilloscopesthe analyzer can sample many different signals simultaneously (tens to hundreds) but can display only 0, 1, or changing values for each. All these logic analysis channels can be connected to the system to record the activity on many signals simultaneously. The logic analyzer records the values on the signals into an internal memory and then displays the results on a display once the memory is full or the run is aborted. A typical logic analyzer can acquire data in either of two modes that are typically called state and timing modes.
14

Logic Analyzer
State and timing mode represent different ways of sampling the values.

Timing mode uses an internal clock that is fast enough to take several samples per clock period in a typical system.
State mode, on the other hand, uses the systems own clock to control sampling, so it samples each signal only once per clock cycle. Timing mode requires more memory to store a given number of system clock cycles. On the other hand, it provides greater resolution in the signal for detecting glitches. Timing mode is typically used for glitch-oriented debugging, while state mode is used for sequentially oriented problems.
15

Architecture of a Logic Analyzer

16

Architecture of a Logic Analyzer


The systems data signals are sampled at a latch within the logic analyzer:

The latch is controlled by either the system clock or the internal logic analyzer sampling clock, depending on whether the analyzer is being used in state or timing mode.
Each sample is copied into a vector memory under the control of a state machine The latch, timing circuitry, sample memory, and controller must be designed to run at high speed

17

Architecture of a Logic Analyzer


After the sampling is complete, an embedded microprocessor takes over to control the display of the data captured in the sample memory.

The logic analyzer does not provide access to the internal state of the components, but it does give a very good view of the externally visible signals.

18

Joint Test Action Group (JTAG) Three major debug protocols are used today: BDM (Background Debug Mode), IEEE 1149.1 JTAG (Joint Test Action Group), and IEEE-5001 ISTO (Nexus).

19

Joint Test Action Group (JTAG)


The majority of manufacturing and field faults in circuit boards were due to solder joints on the boards, imperfections in board connections, or the bonds and bond wires from IC pads to pin lead frames. JTAG was meant to provide a pins-out view from one IC pad to another so all these faults could be discovered. The industry standard finally became an IEEE standard in 1990 as IEEE Std. 1149.1-1990 Intel released the first processor with JTAG: the 80486 which led to quicker industry adoption by all manufacturers. In 1994, a supplement that contains a description of the boundary scan description language (BSDL) was added.
20

Joint Test Action Group (JTAG)


The JTAG standard was designed to support device, board, and system testing, diagnosis, and fault isolation.

Today JTAG is used as the primary means of accessing sub-blocks of integrated circuits ,making it an essential mechanism for debugging embedded systems which may not support any other debug-capable communications channel.
In many ICs today, all the pins that connect to electronic logic are linked together in a set called the Boundary Scan chain. By using JTAG to manipulate its internal interface (to on-chip registers), the combinational logic can be tested. -Include boundary scan details in JTAG

21

Thank you

22

Das könnte Ihnen auch gefallen