Download 6 0 - dshinin.ru
Transcript
typically through a target system serial port. This can be a problem if all serial ports are being used by the application. RTECSs with critical timing requirements and interrupts may not operate properly with simple monitors. This results from the processor cycles used by the monitor when invoked and violation of design assumptions when the program is not running at normal speed. For example, suppose a breakpoint is placed in a reentrant interrupt service routine. The interrupt occurs every 10 ms and the service routine takes 100 us to execute. Under normal execution, there is no problem. If a breakpoint is placed in the service routine, the routine will not be completed by the time the next interrupt occurs. Repeated interrupts will eventually cause a stack overflow-or worse. One solution to the interrupt problem is to run the monitor as a separate, low-priority task. Programmer activity does not delay the service of time-critical interrupts. This requires the presence of a debugged task manager on the target system and its associated memory and time overhead. The approach is not appropriate for every situation, particularly if the task manager is part of the software under development. BACKGROUND DEBUG MONITOR A background debug monitor, borrows features from both the incircuit emulator and the monitor. It acts like a very simple monitor except that it is integrated into the processor and requires no memory or system I/O when operating. Communication with the user is done through dedicated pins on the processor chip. Breakpoint addresses may be held on-chip in breakpoint registers or require minimal external hardware. Tracing is not supported. Thus the BDM is temporally intrusive because it and the application program cannot be executing simultaneously. The BDM in the Motorola CPU32 core processor for the 683xx family, is implemented in microcode and uses five pins on the chip for user interaction. By being available on every chip, it easily supports field debugging. Real- Time Multitasking with DOS .I,, : . .*a. i , for Microsoft C, Borland C,_1 Borland/Turbo Pascal ., / ., ,a. ,‘, II* *_,. I a a_. * s , 5 , . ,:., : Develop Real-Time Multitasking Applications under MS-DOS with FiTKernel! RTKernel is a professional, high-performance real-time multitasking kernel. It runs under MS-DOS or in ROM and supports Microsoft C, Borland Ctt, BorlandRurbo Pascal, and Stony Brook Pascal+. RTKernel is a library you can link to your application. It lets you run several C functions or Pascal procedures as parallel tasks. FtTKernel offers the following advanced features: preemptive, eventiinterrupt-driven scheduling interrupt handlers for keyboard, COM ports, and l number of tasks only limlted by available RAM task-switch time of approx. 6 p sets (33.MHz 486) l performance IS independent of the number of tasks l use up to 64 priorities to control your tasks 9 priorities changeable at run-time l time-slicing can be activated l programmable timer interrupt rate (0.1 to 55 ms) l high-resolution timer for time measurement (1 p set) l activate or suspend tasks out of interrupt handlers l programmable interrupt priorities l supports math coprocessor and emulator 9 semaphores, mailboxes, and message-passing l keyboard, hard disk, and floppy disk idle times usable by other tasks l l l l l l l l l l l l l l l network interrupts included with source code supports up to 36 COM ports (DiglBoard, Hostess boards) full SUDDO~~ of NS16550 UART chio fast, iiier-networkcommunicatlon’using Novell’s IPX runs under MS-DOS 3.0 to 6.0, DR-DOS, LANs, or without operating system DOS calls from several tasks without re-entrance problems supports resident multi-taskmg applications (TSRs) runs Windows or DOS Extenders as a task supports CodeView and Turbo Debugger ROMable full source code available m no run-time royalties free technical support by phone or fax RTKernel-C (MSC 6.0/7.0&O, BCtt 1.0/2.0/3.x) RTKerneCPascal (TP/BP 5.x/6.0/7.0, SBP 6.x) $495 (Source Code: add $445) F? $445 (Source Code: add $375) For international orders, add $30 for shipping and handling Mastercard, Wsa. check, bank transfer, or COD accepted. Fourteen simple commands permit the reading and writing of memory and registers, program execution, and I/O reinitialization. These commands can be used by debug software on a host development workstation to support full-featured HLL debugging while only requiring four bytes of the system memory. The monitor can be viewed as an extension to the processor instruction set, except that the instructions are fetched from an external source rather than memory. IN CONCLUSION We’ve described six tools for RTECS software/hardware debugging. An ideal tool would support debugging from the application abstraction all the way down to the physical signal voltages. In practice, as summarized in Figure 4, this is not the case. Secondly, an ideal tool does not intrude upon the system being observed. Real tools do impact system behavior electrically, temporally, and spatially. There are also great differences in the costs of the tools. Finally, a tool is only as good as the hand that wields it. The user must select the right tool for the job and use it properly. Tool selection depends on the perceived problems to be solved, the exact features of tools available for the system software and hardware, the money available, the time available, and the background of the personj s) doing the debugging. May your integration efforts be worthy of Norm and not Homer. j$ Noel Anderson is an assistant professor in the Electrical Engineering Department at North Dakota State University and a computer engineer with Concord Inc., both in Fargo, N.Dak. He may be reached at [email protected]. Dean Hoyt is a computer engineer with 3M in St. Paul, Minn. Ron Shaw is a computer engineer with E.F. [ohnson in Waseca, Minn. Professional Programming Tools In North America, please contact: Outside North America, please contact: LEL Computer Systems 20 Canterbury Court Setauket, NY 11733 . USA Phone (516)473-8119. Fax (516)331-0706 20 Issue #44 March 1994 On Time Marketing Karolinenstrasse 32 - 20357 Hamburg * GERMANY Phone+49-40-437472 *Fax+49-40-4351 96 CompuServe 100140.633 The Computer Applications Journal 401 Very Useful 402 Moderately Useful 403 Not Useful