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

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
© 2009 NURVE NETWORKS LLC “Exploring the Chameleon AVR 8-Bit”
But, when you use GCC and the GNU assembler GAS, you must use all GNU syntax which is fine for C, but a bit tedious
for ASM. The Atmel assembler is a little cleaner in my opinion, but GAS is fine as well. In any event, when you create a
new project for the Chameleon you will select GCC and then you can write .C or .S (asm) files and then will be compiled,
assembled and linked together. More of the mechanics of this later, but that’s the idea.
Additionally, you can use inline assembly with GCC, but the syntax is terrible as shown in the code snippet below which
simply swaps a pair of integers:
As you can see there is a lot of pontification with syntax. If you are a 80xxx coder and have used the VC++ inline
assembler or Borland for that matter you should be appalled at the above syntax.
Hence, I personally avoid the inline assembler, but if you want to write some inline ASM you can. However, I recommend
against this since it makes it hard to port. Better, to simply add an external .S ASM file and then put your ASM functions in
there, and call them from C. This way, you use straight C, and straight ASM, and both are easily portable to other
compilers and assemblers by other vendors. Anyone that has used the GNU GCC inline assemblers knows they would
rather poke dull forks in their eyes!
Figure 1.8 – The Parallax Propeller Chip block diagram.
23

Related parts for Chameleon-AVR