Chameleon-AVR Nurve Networks, Chameleon-AVR Datasheet - Page 139

MCU, MPU & DSP Development Tools AVR8 & PROPELLER DEV SYSTEM (SBC)

Chameleon-AVR

Manufacturer Part Number
Chameleon-AVR
Description
MCU, MPU & DSP Development Tools AVR8 & PROPELLER DEV SYSTEM (SBC)
Manufacturer
Nurve Networks
Datasheet

Specifications of Chameleon-AVR

Processor To Be Evaluated
AVR 328P
Data Bus Width
8 bit
Interface Type
USB, VGA, PS/2, I2C, ISP, SPI
Operating Supply Voltage
3.3 V, 5 V
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Referring to the figure there are a lot of components to discuss. First off, the primary library that all C/C++ programs use is
the open source “AVR Libc” library that is part of the WinAVR install and is what the GNU GCC compiler uses as the
base for all of the standard C library functions you are used to. Therefore, when you create a C/C++ program for the
Chameleon AVR and include say <stdio.h> you are including functions from the AVR Libc installation. Let’s talk about
this for a moment. First, embedded systems are very unique in that they are very constrained, have little memory and
resources. So any function that you use from the standard C library Libc emulates what you might expect on a PC
platform, but in many cases the behavior might not be as expected. Thus, you need to take care when using standard
library functions and realize that they may have side effects or limitations that VC++ or GNU C on your PC do not. Please
refer to the AVR Libc manual located here on the DVD-ROM for a complete overview of the library:
Additionally, a great resource for the library is the developer’s website itself:
There are lots of tricks and tips to using the AVR Libc functionality on there. However, for the most part as long as you
don’t push it, you can use standard C functions and everything will work out. Of course, you have to have common sense
when using functions. For example, on a PC the function printf(…) makes sense since there is some kind of terminal
DVD-ROM:\ CHAM_AVR \ DOCS \ avr-libc-user-manual-1.4.6.pdf
http://www.nongnu.org/avr-libc/
TIP
Figure 17.1 – System level architecture of the Chameleon API and other library modules.
The Arduino toolchain uses the same GNU GCC compiler and AVRLibc library, thus
everything related to C/C++ programming with AVRStudio applies to the Arduino tool as
well where it relates to GCC and WinAVR/Libc.
© 2009 NURVE NETWORKS LLC “Exploring the Chameleon AVR 8-Bit”
139

Related parts for Chameleon-AVR