4
Overview
©2000-2008 Tibbo Technology Inc.
Overview
Below is a summary of the major fundamentals and theory behind TIDE. This may
sound intimidating, but it's actually quite simple. You should at least skim over the
material herein, because it explains much of what comes next. In here you will
find:
(a very brief overview)
Our Language Philosophy
Several principles have guided us through the development process of Tibbo Basic.
Understanding them would help you understand this manual better, and also the
language itself. See below:
A Bit of History
Years ago, programming for the PC was the nearly exclusive domain of engineers.
The languages traditionally available, such as C, simply required you to be an
engineer to program.
However, one day something interesting happened. Visual Basic* and Delphi**
saw the light of day. And that changed quite a lot on the PC front. Suddenly,
people who were not engineers were finding out that they could actually create
something cool on their PC. You could say VB* and Delphi democratized the PC
software market.
The situation on the embedded systems market today is quite similar to the
situation which existed for the PC market in the pre-VB era. Many embedded
systems vendors do offer customizable or programmable solutions -- but to
implement those solutions, you would really have to be an engineer and know C/C
++ quite well. So, there was clearly a need for an easy-to-use programming
system which would democratize this market, as well.
Principle One: Easy To Write, Easy to Debug
Choosing BASIC as our inspiration was the natural thing to do, for us. It's a
language which doesn't require you to be a professional engineer. It is easy to
understand. This is why it is embedded into many non-programmer products, such
as the Office suite. So we went for BASIC.
Another part of the user experience, and a major one, too, is debugging. Writing
your application is just half the job. You also need to debug it and for embedded
systems, this is where things typically start getting rough around the edges. Many
times you have to buy expensive tools, such as ICE machines (In-Circuit
Emulators), just to figure out what your code is doing. Sometimes you don't even
have the luxury of such a machine, and you actually debug by guessing and trying
different things in your code.
With our system, one of our major goals was to offer a user experience which is
close to debugging on the PC -- without the need for special tools, such as an ICE
machine.
While your program is running on the target (embedded device), you actually see
how it runs on your PC. You can step through it, jump to specific functions, check
values of variables etc -- all from the comfort of your own PC.
4
7
8
8