//KM 2018 03 23: getting lots of form spam; screen out dates before 2000 (book publication date) Cypress C USB Development System | Byte Craft Limited

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.