PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : At90usbkey2



jwsk
06.11.2011, 17:45
Hallöle,

zunächst möchte ich mich von den
PlayStation Chips distanzieren, diese
versauen mir leider die Suchergebnisse
um meine Fragen per google beantwortet
zu bekommen.

Nun also zu den Fragen:

Wenn ich ein Programm in das devboard flashe,
muss ich dann den Bootloader mit in mein Programm
einbauen oder liegt der bootloader in einem anderen
Speicherbereich, so dass dieser vom flashen uberührt bleibt?

Ich möchte ein Projekt realisieren, welches über
UART kommuniziert, so nach der Methode:
Bekomme ich ein A, dann sende ich ein B zurück.

Erstmal eine Übung um sich in die RS232 Logik einzuarbeiten,
habe zwei USBKey2 hier liegen und möchte das diese miteinander
per UART kommunizieren.

Na das ist schon erstmal alles ;)

.:Sebastian:.
07.11.2011, 11:24
Moin

Aso zunächstmal wie flasht du das Devboard ?
Per ISP oder per Bootloader ?

Der Flash vom AVR ist nämlich in zwei Bereiche geteilt.
Die read-while-write und die No read-while-write Area.
Die eine kannst du schreiben während der controller ein Programm ausführt die andere eben nicht.
Letzere kannst du nur per ISP programmieren.
Sinnigerweise liegt in dem nicht-schreibaren der Bootloader.
Das hat den Vorteil das sich der Bootloader nicht selber überschreiben kann.
Wenn du also per Bootloader flashts kann dir da nichts passieren.

Wenn du per ISP flasht kannst den den Bootlaoder überschreiben.
Falls das nicht erwünscht is, musst du dir da erstmal Gedanken machen wo der Bootloader liegt (nämlich ganz hinten im Flash)
und dann dafür sorgen das dort nix hingepackt wird.
Wie genau man das macht hängt von deinem Compiler/Linker/Toolchain (in diesem Forum vermutlich GCC) ab.
Theoretisch sollte es aber auch reichen einfach dein Programm kleiner als X bytes zu halten.
Was X ist kann dir das Datenblatt deines Controller sagen.
Boot Loader Section ist so ein Stichwort.

Allgemein wenn du mit bootloadern arbeiten willst kann ich dir http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung
an Herz legen.
Da wird schön erklärt wie das intern alles abläuft und wo man was im Datasheet unter welchen Begriffen findet.

Gruß
Sebastian
Der grade lieber mit seinen AT90USB162 spielen würde, anstatt in Rechnersysteme2 zuhören zu dürfen.

jwsk
08.11.2011, 06:51
Wunderbar, dies beantwortet alle meine Softwarefragen ;)

jetzt die Hardwarefragen:

An den TTL-Ausgang schließe ich einen PL-2303 USB Seriell (TTL) adapter an,
dieser bietet mir neben rx, tx und gnd auch 5V an, kann ich diese nehmen um
meinen USBKEY mit Spannung zu versorgen?

Ich möchte den USB Port des USBKEYs nur zum flashen nehmen,
dann eine serielle Kommunikation über den PL2303 laufen lassen.

Der PC, mit dem später kommuniziert werden soll,
der soll den AT90USBKEY sowie den PL2303 versorgen,
geht das?