Cypress C USB Development System
With the Cypress C Code Development System you get:
-
highly optimized generated code.
-
an inline macro assembler.
-
BCLIDE programming environment (Windows version) or integrated development shell with editor (DOS version).
-
the BCLink linker, and Absolute Code Mode. The linker links in object files and libraries, and performs a final optimization pass. Absolute Code Mode includes object libraries without a separate linking pass.
-
interrupt handler support, including context save and restore.
C enhancements:
-
@ operator to fix a variable or function in memory.
-
binary constants (eg: 0b01101010).
-
variables or sets as case arguments.
-
bits structure: intuitive bitwise manipulation of byte values.
Compiler features:
-
targeted to the entire Cypress family. Part-specific header files describe the unique features of each Cypress device.
-
a directive to turn off compiler-generated initialization.
-
support for hardware registers as C identifiers.
-
#pragma directives, that allow you to create new processor header files as needed (additional headers are also available from Byte Craft Limited).
-
local address space allows you to use local variables.
-
named address space support the grouping of variables at specific memory locations.
-
special address space declares variables at special locations such as external devices or internal EPROM.
-
interrupt programming through C functions. The #pragma vector directive declares the location and assigned name for an interrupt vector.
-
selectable 8 or 16 bit int (long is 16 bit).
-
8 and 16 bit divide and multiply routines.
-
optional 32-bit result of 16 X 16 multiply.
Libraries (including source):
-
delay functions.
-
IEEE754 floating point.
-
Hitachi HD44780 LCD.
-
Microchip 93LC56 Microwire serial EEPROM.
-
software UART.
-
startup initialization functions.
-
standard I/O.
-
string handling.
As well, example projects, including USB keyboard and mouse.

July 2008: