SX C COMPILER  

Programming and Customizing the Basic Stamp Computer SX C COMPILER from CCS, USA offers a C compiler for the Scenix SX processors. This C compiler is based on original K&R is fully optimized for use on these unique parts. Built-in functions make coding the software very easy. The integrated C development environment provides developers a fast method to produce efficient code from an easily maintainable high level language.


Note: The compiler although based on a 6 year old product is presently in a Beta test state. Purchases made during this period will include one year of updates and a updated manual when the product completes testing.

This integrated C development environment gives developers the capability to quickly produce very efficient code from an easily maintainable high level language. The compiler includes built in functions to access the SX hardware such as SET_TIMER1 to write a value to timer 1. Discrete I/O is handled by describing the port characteristics in a PRAGMA. Functions such as INPUT and OUTPUT_HIGH will properly maintain the tri-state registers. Variables including structures may be directly mapped to memory such as I/O ports to best represent the hardware structure in C. The microcontroller clock speed may be specified in a PRAGMA to permit built in functions to delay for a given number of microseconds or milliseconds. Serial I/O functions allow standard functions such as GETC and PRINTF to be used for RS-232 like I/O. The standard C operators and the special built in functions are optimized to produce very efficient code for the bit and I/O functions.

Functions may be implemented inline or separate. Function parameters are passed in reusable registers. Inline functions with reference parameters are implemented efficiently with no memory overhead.

During the linking process the program structure including the call tree is analyzed. Functions that call one another frequently are grouped together in the same page. Calls across pages are handled automatically by the tool transparent to the user. Functions may be implemented inline or separate. RAM is allocated efficiently by using the call tree to determine how locations can be re-used. Constant strings and tables are saved in the device ROM.

The output hex and debug files are selectable and compatible with popular emulators & programmers for source level debugging.

  FEATURES  

  BUILT-IN FUNCTIONS  

images/palla.gif (1928 bytes)DELAY images/palla.gif (1928 bytes)STANDARD C images/palla.gif (1928 bytes)STR
DELAY_US ABS STRCAT
DELAY_MS ASIN STRCHR
DELAY_CYCLES ACOS STRRCHR
images/palla.gif (1928 bytes)RS232 I/O ATAN STRCMP
GETCH CEIL STRNCMP
PUTCHAR EXP STRICMP
KBHIT FLOOR STRNCPY
GETS LOG STRCSPN
PUTS LOG10 STRSPN
PRINTF ATOI STRLEN
GETCHAR ATOL STRLWR
PUTC SQRT STRPBRK
images/palla.gif (1928 bytes)I2C I/O MEMCPY STRSTR
I2C_START MEMSET STRTOK
I2C_STOP STRCPY images/palla.gif (1928 bytes)BIT MANIPULATIONS
I2C_WRITE ISALNUM SHIFT_LEFT
I2C_READ ISALPHA SHIFT_RIGHT
I2C_POLL ISDIGIT ROTATE_LEFT
images/palla.gif (1928 bytes)DISCRETE I/O ISLOWER ROTATE_RIGHT
OUTPUT_HIGH ISUPPER BIT_SET
OUTPUT_LOW ISSPACE BIT_CLEAR
OUTPUT_BIT ISXDIGIT BIT_TEST
INPUT TOUPPER SWAP
OUTPUT_LOW TOLOWER
SET_TRIS_x images/palla.gif (1928 bytes)CCP images/palla.gif (1928 bytes)TIMERS\COUNTERS
SET_MODE_x READ_COMP SETUP_COUNTERS
images/palla.gif (1928 bytes)PROCESSOR CONTROL images/palla.gif (1928 bytes)INTERNAL EEPROM GET_RTCC
WRITE_CONTROL READ_EEPROM GET_TIMER0
READ_CONTROL WRITE_EEPROM GET_TIMER1
SETUP_MIWU GET_TIMER2
SLEEP SET_RTCC
RESTART_CAUSE SET_TIMER0
READ_BANK SET_TIMER1
WRITE_BANK SET_TIMER2
SETUP_TIMER1
SETUP_TIMER2
RESTART_WDT

  PRE-PROCESSOR  

images/palla.gif (1928 bytes)STANDARD C images/palla.gif (1928 bytes)FUNCTION QUALIFIER images/palla.gif (1928 bytes)MEMORY CONTROL
#PRAGMA #INLINE #BIT
#UNDEF #SEPARATE #BYTE
#INCLUDE # INT_xxxx #ASM
#IF #INT_GLOBAL #ENDASM
#IFDEF #INT_DEFAULT #ROM
#IFNDEF images/palla.gif (1928 bytes)BUILT-IN LIBRARIES #ZERO_RAM
#DEFINE #USE FAST_IO #RESERVE
#ELSE #USE FIXED_IO images/palla.gif (1928 bytes)COMPILER CONTROL
#ENDIF #PRIORITY #OPT
#ERROR #USE DELAY images/palla.gif (1928 bytes)PRE-DEFINED IDENTIFIER
#NOLIST #USE RS232 __SXC__
#LIST #USE I2C __DEVICE__
#CASE #USE STANDARD_IO __DATE__
images/palla.gif (1928 bytes)DEVICE SPECIFACATION
#DEVICE
#FUSES
#ID

  STANDARD C  

  PRICING  

C Compiler Single User License

Maintenance

Maintenance includes all enhancements and bug fixes for the entire year via the web and a new manual.

 

Navigation Bar

BLITZLOGIC SDN BHD
scenix@blitzlogic.com