Forum: Mikrocontroller und Digitale Elektronik AVR Studio mit ATMEGA 328 wie ?


von Wolfgang B. (Firma: Wolftec GmbH) (wbeppler)


Lesenswert?

hi,

ich hab mir ein Arduino Duemilanove board gekauft. auf dem IC ist ein 
aufkleber ATMEGA 328 (auch wenn ich den in der vergleichsliste nicht 
finde) und ich habe die software "Arduino 0014" womit ein upload, z.b. 
led-blinken-lassen auch funktioniert.

nun habe ich aber auch die software "AVR Studio 4" und die gefaellt mir 
viel besser, da gibt es so was wie include und main, da bin ich zu 
hause. bei der arduino-software weiss ich gar nicht was fuer lib's es 
gibt oder die syntax der "c-befehle" die das ding ohne jeden include 
schon kann ???

wie kriege ich AVR Studio dazu meinen am usb befindlichen 328 zu 
connecten ? oder wie cann ich den "studio" compilierten code vieleicht 
mit der arduino-software rein laden ?

gruss und dank

wolfgang :-)

von Oliver (Gast)


Lesenswert?

>auf dem IC ist ein aufkleber ATMEGA 328 (auch wenn ich den in der 
>vergleichsliste nicht finde)

Den gibt es. Schau mal direkt bei ATMEL und lade dir das Datenblatt 
runter.

>wie kriege ich AVR Studio dazu meinen am usb befindlichen 328 zu
>connecten ?

WEnn dein Board irgendwie kompatibel zu einem ATMEL-Programmer ist, 
sollte das funktionieren. Direkt auf Knopfdruck kommt das Studio nur mit 
ganz wenigen Programmern zurecht, im Paket ist aber das Programm 
"AVRProg", das sich auch über das tools-Menu aufrufen lässt. Ruf das 
doch einfach mal auf, bei engeschaltetem Board. AVRProg versucht 
alleine, eine kompatiblen Programmer zu finden. Vielleicht geht es ja.

>oder wie cann ich den "studio" compilierten code vieleicht
>mit der arduino-software rein laden ?

Wenn mit dem Studio gar nichts geht, gibt es ja immer noch die 
Original-Software zu deinem Board. Da sollte es doch auch möglich sein, 
ein hex-file in den Controller zu flashen. Womit das Hexfile erzeugt 
wurde, ist dabei egal.

Oliver

von Wolfgang B. (Firma: Wolftec GmbH) (wbeppler)


Lesenswert?

hallo oliver,

danke erst mal. avr prog sagt dass kein kompatibles teil zu finden ist.

in der "arduino" software in der ich uploads machen kann gegen nur 
"sketches" zu oeffnen. und wie schon beschrieben ist mir dieser code zu 
"plug and play".

kannst du mir vieleicht einen tip geben welches board ich denn kaufen 
kann um mit dem "studio" zu arbeiten ? ich meine so ein 30 euro-teil. 
das sollte es doch geben. mit usb oder rs232 ist mir alles egal.

ich hab noch nix damit entwickelt, habe es aber vor und ich will mit dem 
studio. (das kapier ich, hab vor 20 jahren in ANSI-C programmiert)

wenn du mir den lieferant auch sagen koenntest ??? damit ich genau das 
auch dann habe was ich brauche.

besten DANK und viele gruesse

wolfgang :-)

von Hannes Lux (Gast)


Lesenswert?

Schau mal in die Studio-Hilfe unter Tools, da sind alle unterstützten 
Programmer aufgelistet. Dann schau bei Deinen Händlern nach der 
Verfügbarkeit und dem Preis.

...

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Der Vorgänger des Arduino-Boards (Das Arduino Diecimila) macht es so, 
das Duemilanove vermutlich auch:
Auf dem Board befindet sich ein FTDI USB->RS232 Adapter, der direkt mit 
dem AVR verbunden ist. Auf dem AVR befindet sich ein Bootloader, der dem 
Computer vorgibt, ein STK-500 zu sein. Die Arduino-Software verwendet 
intern den avrdude zum programmen, welcher auch das 
STK-500-Programmer-Protokoll versteht und somit den Arduino 
programmieren kann. Das AVR Studio kann den also vermutlich auch 
programmieren, wenn du angibst, ein STK-500 zu verwenden.
Außerdem verwendet die Arduino-Software den AVR-GCC zum kompilieren. Sie 
bindet in deine Programme so ein paar spezielle Libs ein (-> 
http://arduino.cc/en/Reference/HomePage ). Die musst du aber nicht 
verwenden - du kannst auch die ganz normalen Standard-Libs von AVR-GCC 
nehmen.
Die Software ist halt so gemacht, dass ein möglichst schneller und 
einfacher Einstieg in die uC-Programmierung möglich ist und man sich um 
möglichst wenig kümmern muss.
Edit:
Hier ( http://arduino.cc/en/Hacking/Bootloader ) findest du 
Informationen über den Arduino-Bootloader, und ganz unten ist ein Link 
zum Source-Code. Falls das AVR Studio sich nicht mit dem Arduino 
verträgt, könntest du den Bootloader notfalls abändern, meines Wissens 
sind da ein paar Funktionen des STK-500-Protokolls ausgelassen, aber 
gerade genug drin, damit es mit avrdude funktioniert.

von Peter D. (peda)


Lesenswert?

Einen ATmega328 gibt es nicht.

Es gibt aber den ATmega328P.


Peter

von Oliver (Gast)


Lesenswert?

Zitat von der Arduino hompage zu deinem Board:

>The ATmega168 or ATmega328 on the Arduino Duemilanove comes preburned >with a 
bootloader that allows you to upload new code to it without the >use of an 
external hardware programmer. It communicates using the >original STK500 protocol 
(reference, C header files).

Das sollte mit den Studio funktionieren - vielleicht hast du da nur ein 
Problem mit den USB-Treibern. STK500 ist DAS Entwicklungsboard von 
ATMEL, und das wird auch direkt vom Studio unterstützt, ganz ohne 
AVRProg. Ich würde da mal nicht gleich aufgeben.

>kannst du mir vieleicht einen tip geben welches board ich denn kaufen
>kann um mit dem "studio" zu arbeiten ? ich meine so ein 30 euro-teil.
>das sollte es doch geben. mit usb oder rs232 ist mir alles egal.

Na ja, wenn es etwas professionell sein soll, nimm halt das 
Original-STK500 oder STK600 von ATMEL. Kostet leider etwas mehr als 30 
Euronen. Bastellösungen gib es in Hülle und FÜlle, wobei da meistens 
Programmer und Board getrennt sind. Für insgesamt 30 Euro wird das aber 
eng.

Oliver

von Walter T. (nicolas)


Lesenswert?

Dummerweise gibt der Bootloader vor, ein STK500v1-Programmer zu sein. 
Mit AVR Studio klappt das mit dem Hochladen der HEX-Files wohl nicht 
direkt (es sei denn über einen Programmieradapter am ISP), mit AVRdude 
schon.

von Bicker (Gast)


Lesenswert?

Ich weiss das dieser Thread schon etwas älter ist. Dennoch möchte ich 
hir meine Lösung posten ev. hilft es ja jemandem. Bin nähmlich bei 
meiner Lösungssuche auch hir gelandet.
1
mode com11 dtr=on
2
avrdude -p at90usb82 -F -P \\.\com11 -c avrispmkii -U flash:w:BlinkLED.hex
3
Pause
Dies ist eine .bat Datei für ein Arduino Mega2560 und funzt bei mir. 
(Einfach aufrufen fertig)
mode com11 dtr=on bezweckt ein RESET welcher sonst von Hand durchgeführt 
werden müsste.

von jar (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Einen ATmega328 gibt es nicht.

aber ich finde den bei Atmel:
http://www.atmel.com/devices/atmega328.aspx

den p natürlich auch

mein Problem, kann mit dem mega168 im Studio 4 fehlerfrei kompilieren, 
mit dem 328p nicht obwohl beiede iomxxx.h vorhanden sind der includet 
über io.h offensichtlich nur 168 aber nicht 328p

Der ISP MK2 clone am USB hatte keine Probleme die Fuses zu setzen und zu 
prommen

kann da jemand helfen ?

liegts am Studio 4 oder am WinAVR-20100110

von Oliver R. (orb)


Lesenswert?

Wenn nicht compiliert währe eine Fehlermeldung und der Quelltext 
hilfreich.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.