Chameleon-AVR Nurve Networks, Chameleon-AVR Datasheet - Page 140
Chameleon-AVR
Manufacturer Part Number
Chameleon-AVR
Description
MCU, MPU & DSP Development Tools AVR8 & PROPELLER DEV SYSTEM (SBC)
Manufacturer
Nurve Networks
Datasheet
1.CHAMELEON-AVR.pdf
(268 pages)
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
- Current page: 140 of 268
- Download datasheet (17Mb)
device. On the Chameleon AVR, this won’t work since the developer of AVR Libc has no idea about the Chameleon AVR,
thus anything that is hardware specific won’t work since Libc has no idea about the hardware. On the other hand, you
might ask “is it possible to get printf(…) to work?”. The answer is yes. However, you would have to go into the source
files where printf(…) is located and modify it to do “something” intelligent on the Chameleon AVR such as print to the
UART, or to the NTSC/VGA screen. But, you get the idea. Don’t use standard C functions that make no sense on an
embedded system.
Next, embedded systems have multiple memory types; RAM, FLASH, EEPROM. And the AVR Libc library knows this.
Thus, many functions only work in RAM or FLASH specifically. Therefore, you always have to keep in mind that you are
working with a Harvard memory architecture and a separate RAM/FLASH memory model. The AVR Libc documentation
has a lot to say about this subject, so make sure to read it.
Alright, so that’s the story with AVR libc, it’s part of the GNU GCC WinAVR installation and when you build a C/C++
application functions are pulled in from this library. To give you an idea of what Libc supports, Table 17.2 lists the header
files you can include in your Chameleon AVR applications and what functionality they support.
Libc Header File
General C/C++ Library Functions
<alloca.h>
<assert.h>
<ctype.h>
<errno.h>
<inttypes.h>
<math.h>
<setjmp.h>
<stdint.h>
<stdio.h>
<stdlib.h>
<string.h>
AVR Specific Library Functions
<avr/boot.h>
<avr/eeprom.h>
<avr/fuse.h>
<avr/interrupt.h>
<avr/io.h>
<avr/lock.h>
<avr/pgmspace.h>
<avr/power.h>
<avr/sfr_defs.h>
<avr/sleep.h>
<avr/version.h>
<avr/wdt.h>
AVR Specific Utility Functions
<util/atomic.h>
<util/crc16.h>
<util/delay.h>
<util/delay_basic.h>
<util/parity.h>
<util/setbaud.h>
<util/twi.h>
<compat/deprecated.h> Deprecated items.
<compat/ina90.h>
Description
Allocate space in the stack.
Diagnostics.
Character Operations.
System Errors.
Integer Type conversions.
Mathematics.
Non-local goto.
Standard Integer Types.
Standard I/O facilities.
General utilities.
Strings.
Boot loader Support Utilities.
EEPROM handling.
Fuse Support.
Interrupts.
AVR device-specific IO definitions.
Lockbit Support.
Program Space Utilities.
Power Reduction Management.
Special function registers.
Power Management and Sleep Modes.
avr-libc version macros.
Watchdog timer handling.
Atomically and Non-Atomically Executed Code Blocks.
CRC Computations.
Convenience functions for busy-wait delay loops.
Basic busy-wait delay loops.
Parity bit generation.
Helper macros for baud rate calculations.
TWI bit mask definitions.
Compatibility with IAR EWB 3.x.
Table 17.2 – AVR Libc library functionality listed by header file.
© 2009 NURVE NETWORKS LLC “Exploring the Chameleon AVR 8-Bit”
140
Related parts for Chameleon-AVR
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
Part Number:
Description:
MCU, MPU & DSP Development Tools PIC24 & PROPELLER DEV SYSTEM (SBC)
Manufacturer:
Nurve Networks
Datasheet:
Part Number:
Description:
MCU, MPU & DSP Development Tools AVR8 VIDEO GAME DEV SYSTEM (SBC)
Manufacturer:
Nurve Networks
Part Number:
Description:
MCU, MPU & DSP Development Tools PIC24 VIDEO GAME DEV SYSTEM (SBC)
Manufacturer:
Nurve Networks