HI-tech Software's range of C language embedded software development systems offer real benefits over traditional assembly language programming. By using our ANSI/ISO standard compilers not only can
development of complex embedded systems be completed in a fraction of the time, but reliability is improved, and maintenance is easy. On top of this you get access to facilities like floating point arithmetic that are just not
available in assembler or subset C compilers, allowing you to add features to your product that previously were considered "too hard".
A complete package
HI-TECH C is not just a C compiler; it is a
complete development system for C and assembler code. It integrates a powerful C compiler, producing code to rival handwritten assembler, a full-featured macro assembler for those occasions when you absolutely must program one
instruction at a time, a remote debugger for running and debugging your code in your own hardware, without the expense of an in-circuit emulator, all tied together with a fast, flexible programming environment that lets you produce
working code in less time than ever. The HI-TECH Professional Development Environment - HPD is part of every HI-TECH C compiler. Even if you have never programmed an embedded system before, HPD stream. lines the process, from
entering your source code through compiling and correcting errors to downloading. Even on slow PCs our blindingly fast user interface with full point-and-click functionality lets you concentrate on your application, not the
mechanics of using the compiler. Single click or keystroke compilations present you with a list of an), compile-time errors, and place the editor right on the source code. If you're not sure what the error message means, the
EXPLAIN button will bring up a detailed description of the error, and suggestions for correcting it. To manage a project involving multiple source files, HPD allows you to specify the source files along with memory addresses and
other options. Start a new project, and you are presented with a sequence of dialogue boxes prompting you to enter all required information to build your final code. Automatic dependency checking is built into the "make"
function. so that if you change a header file HPD will automatically recompile just those source files that are affected.
HPD has several handy utilities built in, including a multi-radix calculator and an ASCII character table.
HPD includes several help facilities, ranging from a full listing of the C
library functions in a hypertext linked file to a list of editor key sequences. Dialogue boxes have context-sensitive help available, to explain memory address selection etc. Some compilers come with on-line listings of assembler
instructions for the target processors.
Command line operation
If you use a make utility, or just prefer a command line interface, HI-TECH C also has a simple, powerful command line interface. One
command will compile and link your program, whether one or several C or assembler source files. It will prompt you for memory addresses, if they are not specified on the command line.
Full ANSI/ISO standard C
All HI-TECH C compilers implement the full Standard C language. You can write C code with any standard C compiler, test it under MSDOS or Unix, then recompile it for your embedded application. You can use structures, pointers,
longs and floats without having to worry about whether the cross compiler implements them or not. A full library provides printf and other console I/O-functions, for easy insertion of debugging or testing code. Need a sine or log
function? They're in the library, and guaranteed accurate.
Where necessary, we've added features to the language to allow you to write complete embedded applications without a
single line of assembler code. I/O ports are directly addressable as C variables, even on processors with a separate I/O address space. Interrupts can be serviced directly in C, with our special interrupt keyword. All register
saving and restoring is taken care of by the compiler. Special macros let you set up interrupt vectors simply and easily. For processors with more than one kind of interrupt, there are provisions for each one (e.g. non-maskable
interrupts, fast interrupts). serial connection from the target to the P.C., Lucifer lets you download your code, run it, single step it, breakpoint and examine data, registers or I/O ports without any additional hardware. Lucifer
works at both C source and assembler level. You can set a breakpoint on a C source line, an assembler label, or an absolute address. Step one C source line, or one assembler instruction. Modify registers, dump strings. And Lucifer
can be invoked automatically from
Full Library Source Code
We provide you with the full source code to all library routines and run-time startoff modules. This enables you to customize the run-time
environment for a particular hardware system, if you need to do so, And there is no restriction on use of executable library code in your applications - no royalties, no limitations.
Debug YOUR code in YOUR hardware!
With our bundled remote debugger, LUCIFER, you can set up your own target hardware for debugging from your P.C.. Lucifer comprises a source level (C and assembler) debugger that runs
on the P.C., and a small monitor ROM that goes in your target hardware. With a simple HPD, our integrated environment. You can have the code downloaded immediately on a successful compilation, and be in the debugger without a
single extra keystroke. Best of all, Lucifer is a zero cost option - you don't have to buy any additional software or an expensive in-circuit emulator. And it runs your code at full speed in your hardware, not a snail-like software
Beat Firmware Bloat!
HI-TECH C uses advanced Artificial Intelligence techniques to write the smallest, fastest assembler code possible from your C program. You'll be amazed at its
cleverness - in fact it sometimes out-codes experienced assembler programmers! Our customers regularly see a code size reduction of 30% when moving from another compiler to HI-TECH C. And we don't achieve compact code at the
expense of speed. HI-TECH C does not use 'threaded code" or other subroutine-intensive techniques; it writes high quality in-line assembler code using library functions only for complex operations such as long division, We
even analyze constant strings and merge similar strings and sub strings, thus further minimizing ROM usage,
To Optimize or not to Optimize?
HI-TECH C has several selectable levels of optimization.
You can choose what to use when, so that you can compile at maximum speed during development, but generate the smallest, fastest code for your production version. Optimization can be tuned for small code versus fast code in some
When you write with HI-TECH C, you, the programmer, are in charge. You decide what memory to use, what library routines to call, and what format you want the code in. With HPD
simple dialogues allow you to specify the ROM and RAM addresses, but if you need to fine tune memory allocation, the linker commands are directly accessible and editable. From the command line You can drive the linker directly and
have total control over every aspect of code placement.
The best embedded software tools
At HI-TECH Software we are dedicated to providing the best possible embedded software development tools. We
don't sell hardware; we don't sell other software and we don't do contracting. We've been in the embedded software business for over 10 years, and have built our reputation on the quality of our tools, and our customer support. We
aim to produce software that is reliable, efficient, flexible and easy to use.
In embedded systems development there are constraints on performance and code size. Our developers use a
combination of decades of assembler programming experience and advanced pattern matching software to write code generators that emit code as good as or better than hand-written assembler. We use as many compiler optimizations as
possible, consistent with producing accurate code.
Making best use of many embedded processors requires features not found in compilers for MSDOS or other operating systems. Our
compilers allow full control over memory usage, as well as direct access to I/O ports, interrupts and special memory spaces. Support is included for non-volatile RAM,
552 SBC it's compatible with
Hi-Tech Software Homepage