| SX C COMPILER |
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 |
| DELAY_US | ABS | STRCAT |
| DELAY_MS | ASIN | STRCHR |
| DELAY_CYCLES | ACOS | STRRCHR |
| 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 |
| MEMCPY | STRSTR | |
| I2C_START | MEMSET | STRTOK |
| I2C_STOP | STRCPY | |
| I2C_WRITE | ISALNUM | SHIFT_LEFT |
| I2C_READ | ISALPHA | SHIFT_RIGHT |
| I2C_POLL | ISDIGIT | ROTATE_LEFT |
| 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 | ||
| SET_MODE_x | READ_COMP | SETUP_COUNTERS |
| 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 |
| #PRAGMA | #INLINE | #BIT |
| #UNDEF | #SEPARATE | #BYTE |
| #INCLUDE | # INT_xxxx | #ASM |
| #IF | #INT_GLOBAL | #ENDASM |
| #IFDEF | #INT_DEFAULT | #ROM |
| #IFNDEF | #ZERO_RAM | |
| #DEFINE | #USE FAST_IO | #RESERVE |
| #ELSE | #USE FIXED_IO | |
| #ENDIF | #PRIORITY | #OPT |
| #ERROR | #USE DELAY | |
| #NOLIST | #USE RS232 | __SXC__ |
| #LIST | #USE I2C | __DEVICE__ |
| #CASE | #USE STANDARD_IO | __DATE__ |
| #DEVICE | ||
| #FUSES | ||
| #ID |
| STANDARD C |
| PRICING |
C Compiler Single User License
Maintenance
scenix@blitzlogic.com
|