C-AVR
‘C’ Compiler for AVR family micro-controllers
with Visual Code Generator
C-AVR for all AVR chips
C-AVR-N for all AVR chips except mega (code size limited to 8K)
CAVR and C-AVR-N: ‘C’ cross compiler for Atmel's AVR series of micro-controllers. It generates fast, compact assembly code from the user's C program. Allows user to write applications in a higher level language - 'C' - instead of assembly language, thereby drastically reduces the software development time. It offers all benefits of a higher level language at a very affordable price. The product includes an Integrated Development Environment and a C Compiler for AVR family micro-controllers. The compiler generates assembly language code which can be assembled using AVRASM assembler from Atmel. The Compiler supports almost all features of ANSI C and also some AVR specific extensions, so the user can take full advantage of the special features of the AVR micro-controller.
The C-AVR-N is nothing but a restricted version of C-AVR. It has all the same features as that of C-AVR, except, it can not be used for ATmega devices.
Both - C-AVR and C-AVR-N include a Visual Code Generator. It allows you to visually program various I/O registers of the AVR micro-controllers. e.g. you may only specify crystal frequency and desired baud-rate and it will automatically generate 'C' language statement such as "UBRR = 0x19 ;". You can copy this generated code onto the clipboard and paste it into your C program. The Visual Code Generator dialog for UART setting in the C-AVR looks like this:

C-AVR / C-AVR-N Highlights:
1. Supported data types : char, unsigned char, int, unsigned int, long int, unsigned long int, float.
2. Arrays of any data type are supported, but they can have maximum 3 dimensions.
3. Pointers to any data type are supported, but they can be maximum 3 levels. i.e. pointer to pointer to pointer to char (or any data type) is allowed, but pointer to pointer to pointer to pointer to char (or any data type) is NOT allowed.
4. 'struct' and 'union' are supported, but bitfields are not supported.
5. An extra keyword 'SFR' is added, so users can declare and use any / all Special Function Registers of AVR family.
6. Interrupt functions can be written in C.
7. Never generates instructions like CALL / JMP etc. immediately followed by a skip instruction, so as to avoid the interrupt problem.
8. Global variables are stored in memory starting from address 0x60 in on-chip RAM. When the on-chip RAM is completely used, external RAM is used to store global variables. Stack Pointer is placed at the end of RAM or at a user specified location.
9. Local variables and function parameters are stored on stack. So all functions are fully re-entrant. Available stack space is the only limit for re-entry / recursions.
10. Supports mixed language ('C' + assembly) programming.
11. C-AVR / C-AVR-N runs on a PC runing Windows98SE, WindowsME, WindowsNT, Windows2000, WindowsXP.
Click here for ordering information.
You can try free demo copy of CAVR. Click here to download demo of CAVR.
Note: We reserve the right to change specifications
of any product without notice.