AVR xMega microcontrollers

Needed documents - benötigte Dokumente

Dokument zum XMEGA-A1 Xplained

Wenn ich das richtig verstanden habe, ist die PDI-Schnittstelle auf dem Xplained-Board vermurkst. Und damit sind die einzigen Zugruffsmöglichkeiten die JTAG-Schnittstelle und der Bootloader über USB. Um das PDI zu benutzen muss man dann das JTAG deaktivieren.
Andererseits sieht das Schaltschema danach aus, dass die PDI-Schnittstelle normal benutzbar wäre.
Die Steckerbelegung ist jedoch nicht Standard und es muss deshalb ein spezielles Übergangskabel gelötet werden.

Oder man muss mit Windows programmieren und es geht dann über USB das am AT90USB1287 Controller angeschlossen ist. Dieser Controller ist schon programmiert und funktioniert als Programmer fuer den ATxmega128A1. Dazu müssen spezielle Programme gemäss dem "Getting Started"-Manual installiert werden.

Dokumente zum STK600

Das vollständige Userguide gibts bei Atmel nicht als PDF zum downloaden. Es soll nur mit Windows im Online-Help von AVR-Studio einsehbar sein?

Programmer ALL-AVR

Bisher noch nicht zum Laufen gebracht.

Programmer STK600

Dank den Tipps von razius.com zum Laufen gebracht.
Ausser diesen Tipps ist es noch nötig das Board zuerst unter Windows mit AVR-Studio ein Bios-Update zu machen. Dann noch auch mit AVR-Studio Spannung auf 3.3 Volt einstellen.

Einfaches makefile:

# Controller: M fuer den Compiler, N fuer avrdude
#M=atmega2560
#M=atxmega128a1
M=atxmega256d3
#N=m2560
#N=x128a1
N=x256d3

# Assembler, C-Compiler, Schnittstelle und Programmer:
A=avra
CC=avr-gcc
CFLAGS=-g -Os -Wall -mcall-prologues -std=c99 -mmcu=$M
TTY=usb
P=stk600

all: test.hex test2.hex

test.hex: test.c
        $(CC) $(CFLAGS) test.c -o test.elf
        avr-objcopy -O ihex -R .eeprom test.elf test.hex
        avr-objdump -h -S test.elf > test.lss

test2.hex: test2.asm
	$A test2.asm

check:
        avrdude -p $N -c $P -P $(TTY) -v
install: test.hex
	avrdude -p $N -c $P -P $(TTY) -U flash:w:test.hex
einlesen:
        avrdude -p $N -c $P -P $(TTY) -U flash:r:flash.raw:r

fusesetzen: #nur fuer Atmega2560, beim Atxmega gibts keine Fuses.
        avrdude -p m2560 -c $P -P $(TTY) -U lfuse:w:0xF7:m
        avrdude -p m2560 -c $P -P $(TTY) -U hfuse:w:0xD5:m

Some useful Links - Einige nützliche Links


Last update: 9.Dez.2012 / Rolf                                                                                 Validator