Remote debugging via serial

N

Nickolai Leschov

Hello,

I am working on an industrial automation project that involves
programming the i188 PC-compatible controller with embedded DOS and
several serial ports. What options do I have for debugging on this hardware?

Specifications of the controller:
CPU 80188 or compatible, 40 MHz (RDC R-8820, clone of Am188ES ?)
SRAM 512KBytes
Flash 512KBytes
EEPROM 2KBytes
COM 0 Internal communication with the I/O modules
COM 1 RS-232 (system console is here)
COM 2 RS-485
COM 3 RS-232/RS-485
COM 4 RS-232
Model: ICPDAS I-8411
Detailed spec: http://www.icpdas.com/products/PAC/i-8000/i-8411-i-8811.htm

The controller has DOS-compatible OS in the boot sector of its Flash
disk (first 64K), called MiniOS7. Flash disk has rudimentary file
system: no directories, only full erase (OS is not affected since it
resides in boot sector). There is no video card, but serial RS-232
console can be used instead. (COM 1)

For development I can use any compiler (I program in 'C') that can
target DOS and i186. Manufacturer supplies system library (LIB and H
files) that I link to my program for interfacing with controller's
devices. Then I'm supposed to transfer binary to controller using
manufacturer's terminal program.

Are there any DOS-targetting 'C' compilers that have what I need -
remote debugging via RS-232?

Regards,
Nickolai Leschov
 
T

Tim Wescott

Hello,

I am working on an industrial automation project that involves
programming the i188 PC-compatible controller with embedded DOS and
several serial ports. What options do I have for debugging on this
hardware?

Specifications of the controller:
CPU 80188 or compatible, 40 MHz (RDC R-8820, clone of Am188ES ?) SRAM
512KBytes
Flash 512KBytes
EEPROM 2KBytes
COM 0 Internal communication with the I/O modules COM 1 RS-232 (system
console is here) COM 2 RS-485
COM 3 RS-232/RS-485
COM 4 RS-232
Model: ICPDAS I-8411
Detailed spec:
http://www.icpdas.com/products/PAC/i-8000/i-8411-i-8811.htm

The controller has DOS-compatible OS in the boot sector of its Flash
disk (first 64K), called MiniOS7. Flash disk has rudimentary file
system: no directories, only full erase (OS is not affected since it
resides in boot sector). There is no video card, but serial RS-232
console can be used instead. (COM 1)

For development I can use any compiler (I program in 'C') that can
target DOS and i186. Manufacturer supplies system library (LIB and H
files) that I link to my program for interfacing with controller's
devices. Then I'm supposed to transfer binary to controller using
manufacturer's terminal program.

Are there any DOS-targetting 'C' compilers that have what I need -
remote debugging via RS-232?

Regards,
Nickolai Leschov

About a decade ago I was using the Paradigm debugger on '188 based
systems -- it did everything you could ever hope for a serial debugger to
do, with very little muss or fuss.

I don't know where they are now, but it's worth checking on the name on
the web.

--
Tim Wescott
Control systems and communications consulting
http://www.wescottdesign.com

Need to learn how to apply control theory in your embedded system?
"Applied Control Theory for Embedded Systems" by Tim Wescott
Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html
 
R

Robert Adsett

The controller has DOS-compatible OS in the boot sector of its Flash
disk (first 64K), called MiniOS7. Flash disk has rudimentary file
system: no directories, only full erase (OS is not affected since it
resides in boot sector). There is no video card, but serial RS-232
console can be used instead. (COM 1)

For development I can use any compiler (I program in 'C') that can
target DOS and i186. Manufacturer supplies system library (LIB and H
files) that I link to my program for interfacing with controller's
devices. Then I'm supposed to transfer binary to controller using
manufacturer's terminal program.

Are there any DOS-targetting 'C' compilers that have what I need -
remote debugging via RS-232?

Borland had such a program (called tdremote IIRC). It was a TSR so you
would need at least that much DOS compatibility. You might check with
them and see if it still exists (maybe in the community version?)

Robert
 
L

larwe

Borland had such a program (called tdremote IIRC).  It was a TSR so you
would need at least that much DOS compatibility.  You might check with
them and see if it still exists (maybe in the community version?)

Wasn't TDREMOTE part of Turbo Debugger, a separate package? The free
version of Borland C++ last I checked was 5.5, which targets Win32
only :(

However, Open Watcom includes a serial debugger <http://
www.openwatcom.org/index.php/Advanced_Debugging> and best of all it's
free :)))

Watcom C/C++ was my favorite development environment for DOS and OS/2.
(I could never afford VisualAge).
 
C

Chris H

In message
Wasn't TDREMOTE part of Turbo Debugger, a separate package? The free
version of Borland C++ last I checked was 5.5, which targets Win32
only :(

I am sure Turbo C V3 did both DOS and win3 . I believe that is also
freely available.
 
N

Nickolai Leschov

Tim said:
About a decade ago I was using the Paradigm debugger on '188 based
systems -- it did everything you could ever hope for a serial debugger to
do, with very little muss or fuss.
Thanks for the advice, Tim I don't remember I heard of this name before
(Paradigm)
I'll try it.

Regards,
Nickolai Leschov
 
N

Nickolai Leschov

Thanks, I have found tdremote. I managed to get Borland C++ versions 3.1
(the last one with TurboVision DOS IDE) and 5.02 (the last full version)
Both of them have tdremote, and v. 5.02 even seems to have newer version
(I expected that they discontinued or dropped it with the DOS IDE) I
transferred and ran it on the controller, but the controller would just
reboot. OTOH, some other DOS programs, such as Borland's tdrf.exe do run
(it outputs ). Seems like programs using only '86 instructions and
standard I/O will work.

I have 2 versions of why tdremote doesn't work:

1. It doesn't know to clear i188 controller's watchdog timer. The timer
is there, it is running by default and can be turned off in user's
program. I checked with OS's built-in diagnostic command that it is
running. I can turn it off in my program, but it is on again when
program returns to OS. tdremote doesn't know anything about the timer
and the timer just reboots the system.

2. serial port on the i188 controller chip doesn't happen to be the same
as PC's serial port.

Both are very likely.

Suggestions, anyone?


P.S. As far as I understand, tdremote is for running on target machine,
right?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,066
Latest member
VytoKetoReviews

Latest Threads

Top