Subject:
|
Re: building a remote debugger for win32 -- need help
|
Newsgroups:
|
lugnet.robotics.handyboard
|
Date:
|
Wed, 3 Nov 1999 00:20:42 GMT
|
Original-From:
|
Christopher Prosser <{cprosser@acm}AvoidSpam{.org}>
|
Viewed:
|
857 times
|
| |
| |
I don't claim to be an expert on this, but here are my ideas. To get a clean
HB up and running you need to do the following (assuming talkeree.s19 is
larger than 256 bytes)
1) Start off by booting the HB into bootstrap mode. This makes the board
listen to the serial line at 7812 baud if I recall correctly.
2) Feed it 256 bytes. These 256 bytes go at 0x0000. At the end of the 256
bytes the chip will jump to 0x0000 and start executing.
3) Hopefully the 256 byte program you loaded is now able to load the much
larger and more interesting program from the SCI into RAM. (this would be
talkeree.s19).
4) Now that talkeree is loaded you should be able to restart the board
(power cycle) and have it come up running talkeree and talk to it using the
serial port. I don't know anything about talkeree. I'm sure it has its own
preferences over baud rate, parity, etc that you'll need to find out.
Most of this info came from:
http://www.mot-sps.com/mcu/documentation/pdf/hc11rmr3.pdf
Take a look at section 3.5.4.
Personally, I would only do work where I added value. There are lots of
bootstrap downloaders for the handyboard (HBDL is my favorite) that will
take care of that initial 256 byte bootstrap and then download a s19 file.
You can probably even find the source code for one to incorporate if you are
hell bent on having it integrated in your project.
Since I don't really know how talkeree works, this might be out in left
field, but there is something to keep in mind. If you plan on using the LCD,
you will most likely need to modify talkeree. This is because to use the
LCD you need to run the chip in special test mode. There is a fascintaing
hack where the chip toggles itself between having external 32K of ram, and
instead driving the LCD. When the chip is in special test mode, the
interrupt vectors need to be in a different location.
Good luck! BTW, will the project be GPLed? The windows version of
Interactive C pales in comparison with the Mac.
-chris prosser
----- Original Message -----
From: Hans Westerbeek <hw@xs4all.nl>
To: <handyboard@media.mit.edu>
Sent: Tuesday, November 02, 1999 3:00 PM
Subject: building a remote debugger for win32 -- need help
> Hi everybody,
>
> As a part of a project at my university we're building a
> crossdevelopment environment for the Windows environment. As a part of
> this programming environment we want to build a remote debugger. So,
> we will have to incorporate a downloader and a remote debugging
> mechanism that works over the serial interface.
> In the end we hope to have a fullblown Borland-C like programming
> environment for the 68HC11, with both simulated debugging and remote
> debugging. (Yup, we're ambitious:-))
>
> And right at the beginning of all this i'm walking into problems. I
> can't find anywhere in the extensive documentation that is available
> on the web how to communicate with the 68hc11 over the serial line,
> other than with Interactive C. This is not an option for us:-(.
>
> So right now I'm writing a C++ object that will communicate with the
> board. When instantiated it should install the talker that comes with
> pcbug11 (talkeree.s19) on the board and then wait for commands that
> are transmitted over the serial line.
>
> Right now i've come as far as to open the serial comport on the pc to
> talk to the board but i have no idea where to go from there. Can
> anybody help me?
>
> For the c++ literate, here's the interface of the C++ object:
>
> class SerialCommunicator
> {
> public:
> SerialCommunicator(int port, int speed);
> file://the constructor should automatically install the talker
> int open(); file://opens the comport
> int close(); file://closes the comport
> int read(); file://should read from the serial line. Stores what it
> file://reads in private datamember Data
> int write(char *Data);//should send data to the board
> int readStatus(){ return status;}
> file://this is just to keep the state
> private:
> SerialCommunicator(SerialCommunicator &SC);
> // disables copyconstruction
> int portNr, comSpeed, status;//no comment needed
> char Data[255];//string in which to store data that comes
> file://from the serial connection
> HANDLE hCom; file://win32 handle to a comport
> file://below are other members needed by the win32 API
> DCB Dcb;
> COMMTIMEOUTS Timeouts;
>
> };
>
>
> Regards.
> Hans
>
|
|
Message has 1 Reply:
Message is in Reply To:
11 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|