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
- stk600.html Userguide (Sieht manchmal leer aus. Zugriffsprobleme?)
- doc8107.pdf AVR1900: Getting started ATxmega128A1 on 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