Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

SPI comms with another micro

2006-03-08 by Stephen Pelc

>    From: Robert Wood <robert.wood@...>
> 
>  >> Curse you Forth people!!! Engaging in carefree coding without the 
> affliction of
> C-Sickness  ;-)  <<
> 
> I used to work for a company that swore by Forth. They would always bang
> on about how it was so easy and quick to develop with it. However, they 
> could never properly explain to me what it was or supply details of why 
> it was so much better than C. IIRC, it has to have some monitor type 
> program running to do the debug. Thank goodness for JTAG type OCD 
> systems.

Forth gives you interactive debugging on the target with *every* 
function ("word" in Forth parlance) visible to you. This means 
that you can do bottom-up testing. Feeding test scripts for 
execution on the target is usually trivial using a professional-
grade Forth system. 

Forth *is* the monitor you mention. The importance of 
interactive debugging is hard to understand until you have 
experienced it, especially when commissioning equipment.

The interactivity can be provided by the target itself, or by an 
umbilical link to a host PC application. Modern Forth systems 
generate code using compilation techniques like those used in C 
and other compilers, so there is no loss of performance.

Although we make ARM JTAG debuggers, we use them mostly for 
hardware bring-up and production programming. Once the Forth 
system is running, it's faster to debug the system using the 
Forth console.

For more details and a free book about Forth see:
  http://www.mpeforth.com

Stephen
--
Stephen Pelc, stephen@...
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
web: http://www.mpeforth.com - free VFX Forth downloads

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.