eitan@mlacus.oz (Eitan Froumine) (02/24/90)
Can anybody recommend a REMOTE-DEBUGGER which allows debugging of 80386 embedded system from an MS-DOS PC. We need a debugger to support: 1. 80386 Real-Mode (RM) environment. 2. 80386 Protected-Mode (PM) environment. 3. Large code (in terms of development-tools on MS-DOS hosts) which is mainly generated by MetaWare High-C, then link & located by PharLap LinkLoc. 4. Source code symbolic debugging. I heard about: 1. Concurrent Sciences - SoftScopeIII/86 and SoftScopeIII/386. They use the Intel's iSDM monitor for RM and iMIII for PM. Intel does not release the source code of the monitors. Unfortunately iSDM has a very limited configuration options so I cannot tailor it to our target. 2. System & Software Inc - SoftProbe86/TX ? (supplied with the monitor source code). 3. Nu-Mega - SoftICE ? 4. Datalight - C_thru_ROM ? (supplied with the monitor source code). P.S. Is there a special NEWS group for 80386 non-DOS/non-UNIX systems? -- = _ ___ _ _ = ___ ___ = eitan@mlacus.oz{.au} = / / / / /\__/ = /__ . _/ _ _ /__ == Ph: +61 3 823 1039 = / __/ / / \ = /__ / ( (_( ( ( / === FAX: +61 3 267 4692 === / == Eitan Froumine ======= Australian Centre for Unisys Software =========
hays@nosun.UUCP (Kirk Hays) (02/27/90)
CAUTION - this article could be misconstrued to be an advertisment - that is not my intent, rather I wish to discuss a unique product that I was involved with... Flame if you must. In article <361@mlacus.oz> eitan@mlacus.oz (Eitan Froumine) writes: | |Can anybody recommend a REMOTE-DEBUGGER which allows debugging |of 80386 embedded system from an MS-DOS PC. | |We need a debugger to support: | |1. 80386 Real-Mode (RM) environment. |2. 80386 Protected-Mode (PM) environment. |3. Large code (in terms of development-tools on MS-DOS hosts) | which is mainly generated by MetaWare High-C, then link & | located by PharLap LinkLoc. |4. Source code symbolic debugging. | |I heard about: | |1. Concurrent Sciences - SoftScopeIII/86 and SoftScopeIII/386. |They use the Intel's iSDM monitor for RM and iMIII for PM. |Intel does not release the source code of the monitors. You can buy source code for iSDM and for iM III - not for $50, but not for a million, either. |Unfortunately iSDM has a very limited configuration options so I |cannot tailor it to our target. I have to admit that I am prejudiced, being the architect/project leader for iMIII, but I honestly feel that the SoftScope/iMIII combination is one of the sweetest source level debuggers available for protected mode 386 development of embedded systems. Why? 1. iM III is small - configurations range from 8k - 16k for the standard product. The PROM startup code provided for this product is excellent, as well. If you can read and understand this code, then you you are a i386 master - if you can write it, a guru. :-} 2. The iM command interface is available programatically, so anything you can do from an iM command line is available to your program. This includes commands to produce physical and virtual addresses from segment addresses, etc. The command set of iM is small (< 30 commands), regular, atomic, and powerful. IO redirection can be done from the command line, either command by command, or permanently. Commands can be added to/subtracted from the iM command set, either at configuration time, or programmatically. This allows you, for example, to have iM command parsers in your application that will display an object in the most appropriate format. The default command set is intended, with the exceptions of registers and addresses, to be non-processor specific. 3. iM is very configurable - the monitor itself doesn't care where in memory it is placed. In fact, iM can be moved while running. Also, you can write either your own IO system, or just device drivers, as the interfaces to replace either are specified in the manual. Source code for sample drivers is included. 4. iM has the concept of "intercept", which allows you to capture any breakpoint or class of breakpoints, including types of breakpoints that you define yourself. This capability, in addition to the programatically available command set, is powerful enough to serve as the task switching part of a kernel. (that is my background - iRMX and iRMK real- time kernels) This is of theoretical interest only, however, as a tailored task-switch code will beat out iM, and is easy to write, as well. Using the intercept concept, I lead a project that implemented a multitasking, multiprocessor, distributed real-time debugger/ system monitor/profiler for multiple users, using iM as the kernel for the target side of the debugger, with the communications link across the backplane. The system has since been enhanced to support debugging across networks. Original abilities include Static and Tasking debugging, multiple engineers debugging on the same board at the same time, and engineers debugging multiple boards simultaneously from either single debug sessions, or from multiple debug sessions. You haven't lived until you've auto-single-step'ed 10 different tasks on the same board, all at the same time! 5. Speed - iM is FAST! iM provides commands for binary access to memory, so you don't have to go through the Hex Encode/ transmit/Hex Decode so common amoung hosted debuggers. We measured download speeds of > 500 Kb (.5 Mb) per minute, over 38Kbaud lines. You could, of course, use faster transmission media, as the binary commands don't buffer - they go directly to memory. This speed could also be improved by taking advantage of regularities in the data stream, such as clearing memory when long strings of binary zeroes are encountered, instead of transmitting them. (NB - iM exposes the string primitives of the i386 as commands) 6. iM is OMF free - it doesn't care what object module format you are using, as it doesn't have a built in loader - only primitives for loading memory. An example OMF-386 absolute loader is included with the product. 7. The iM command set is (relatively) non-processor specific. It has a very RISCy feel about it, as every command is a distillation of what operations are basic and common. For example, iM does not have the following instruction: go from xxxx:xxxxxxx til yyyy:yyyyyyyy written instead, you'll see: bs yyyy:yyyyyyyyy write //breakpoint set reg cs xxxx //register set reg eip xxxxxxxx go // go has no arguments The downside? iM is protected mode ONLY. iM is also painful to use, unless you have a front-end, such as SoftScope. Front-ends are easy to write for iM, however, as the commands are simple, efficient, and side-effect free. | [other products omitted] |P.S. Is there a special NEWS group for 80386 non-DOS/non-UNIX |systems? comp.sys.intel is it. Obviously, I don't speak for Intel, being just a grunt. Hope this helped. -- Kirk Hays - I'm the NRA, the NRA-ILA, the CCRKBA, the SAF, and Neal Knox is my lobbyist.