I’ve been reading Programming Embedded
Systems in C and C++, and I thought I’d capture my adventures of getting
the Target188EB board from Arcom to work under Windows
XP so that other good folks don’t have to go through the same hassle.
Here are the steps:
the Barr book  from your favorite bookstore. Personally, I like Bookpool J
Borland C++. I bought version 4.52 on eBay.
While I was not able to install it
using the GUI installer under Windows 2000, it did work on Windows XP. If it
does not work for you, try copying the files from the BC45 directory on the BC++
CD to your hard disk directly.
the Arcom board. I bought it directly from Arcom over email : firstname.lastname@example.org
Arcom software. While not all of the installers
for the individual diskettes that ship with the board worked, I was able
to manually copy the files from the floppies.
up the hardware.
- Run ttest to
make sure your debugger module is properly hooked up. Make sure to get
this step to work.
comes the important part.
order to get Turbo Debugger to work with the board, you need to run in as
MS DOS program. Create a shortcut on your desktop to command.com.
Figure 1 Shortcut to command.com
the compatibility mode of your shortcut to Windows 95 as shown below :
Figure 2 Compatibility Mode
the “Idle Sensitivity” to High (otherwise your DOS box will consume 100%
of CPU when Turbo Debugger is running) and check off the “Always suspend”
Figure 3 Background Operation and Sensitivity
the examples, run ttest
to make sure your board is connected, and run tdr blink.exe. Turbo Debugger should prompt you whether to load the
program as in the figure below. Answer “yes”.
Figure 4 If you got this far, you're
source code for the blink.c example should come
up in the debugger. Enjoy!
Figure 5 Source Code in Debugger
still have not figured out why tload does not
seem to start the executables on the board. For example running tload –g blink.exe does not seem to
work, whereas loading it from the debugger works fine…
startup code that comes with Barr’s book does not quite work on my board.
I can load the executable while in monitor, burn it to flash and jump to
it – that works fine (as long as it does not relo
the PCB – see below). What does not work is booting the board with J16 off
– the startup code just hangs.
- The biggest
problem so far is that relocating PCB on my board seems to lock it up as
well. A lot of the examples from Barr’s use the i8018xEB C++ class which
relies on a clever trick of relocating the PCB to RAM and mapping a struct pointer to it. As soon as I relo
the PCB from my source code, the board locks up.
Article Setting the stage for legacy applications in Windows XP
- Programming Embedded
Systems in C and C++ by Michael