Anfängerprobleme - Entwicklungsumgebung und Programmiergerät verheiraten

JustiZe

Neues Mitglied
06. Feb. 2011
6
0
0
Sprachen
Hallo,

ich komm grad nicht so recht weiter...

Ich habe als Programmiergerät das USBasp zur Programmierung über die ISP-Schnittstelle.

Jetzt habe ich mal zu testen einen ATmega16 mit dem Programmiergerät verbunden, um zu testen ob die Hardware grundsätzlich läuft.

Um eine Verbindung zu bekommen habe die Software PROGISP (Version 1.6.6) installiert. Das läuft auch soweit mit dem USBasp. Wenn ich den Chip einstelle, kann ich beispielsweise den Speicher editieren, ein- und auslesen. Also die hardwaremäßige Verbindung ist ok.

Wo es nun harkt, ist die Tatsache, dass ich mit PROGISP nunmal nur Daten im .hex oder .bin-Format auf den Chip laden kann.

Deshalb habe ich mir nun zwei Entwicklungsumgebungen aus dem Netzgesucht, und komme mit beiden nicht weiter.
BASCOM-AVR (Version 1.11.9.1) als Demoversion, sowie WINAVR (Version 20100110). In beiden habe ich versucht, irgendwie direkt den USBasp zum brennen einzustellen, bekomme das aber nicht hin, weil ich dort keinen USB-Port für den Brenner einstellen kann, sondern nur SerialComPorts.

Ebenfalls bekomme ich auch keine .hex Datei oder .bin Datei erzeugt, die ich dann im zweiten Step mit PROGISP in den Chip laden könnte, aber das müsste doch prinzipiell möglich sein, oder?

Kann mir da jemand helfen? Am liebsten wäre es mr, wenn ich direkt in WINAVR programmieren und brennen kann (alternativ BASCOM). Oder zur Not die Krücke über erzeugte Files aus WINAVR (oder BASCOM), die ich dann mit PROGISP hochladen kann.

Vielleicht kann mir ja jemand nen Tip geben, bin eben noch sehr neu in der Materie, und da es so unzälig viele Tools usw. gibt, ist es echt schwer, erstmal nen Einstieg zu finden.

Vielen Dank schon einmal.
 
Hallo Justi!

Willkommen im AVR-Praxis Forum! :ciao:

Leider kann ich dir bei deinem Problem nicht helfen, da ich weder den Programmer noch die Software kenne.

Es ist einfach nicht möglich, jeden Programmer und jede Software zum Flashen der AVR`s zu kennen, die es in den Weiten des Internets gibt. :rolleyes:
Ich bin der Meinung, wenn einer so etwas im Internet anbietet, dann sollte er auch den Support dafür übernehmen...... und das auch (oder gerade) für Anfänger! :cool:


Was mich allerdings wundert.....
Wenn du z.B. in BASCOM ein Programm geschrieben hast und es sich fehlerfrei kompilieren lässt, dann hast du hinterher (im selben Verzeichnis) auch die *.bin bzw. *.hex .... und ggf. auch die EEPROM Dateien. :hmmmm:

Sollte das nicht so sein, dann schau doch mal unter:
Optionen---> Compiler----> Output
ob da überhaupt die passenden Häkchen gemacht wurden. ;)


Dir ist aber schon klar, dass BASCOM und WinAVR zwei völlig verschiedene Programmiersprachen sind bzw. verwenden?
Ich würde mich an deiner Stelle nun erst mal entscheiden, mit welcher Software (und damit in welcher Sprache) du nun programmieren möchtest.

Grüße,
Cassio
 
Hallo,

danke schonmal für den Tipp, werde das gleich mal versuchen.

Mir ist klar, dass es sich um zwei unterschiedliche Sprachen handelt, deshalb würde ich auch lieber mit WinAVR arbeiten - ich finde C grundsätzlich angenehmer von der Programmierung. Zur Not würde ich aber auch Basic programmieren, dass ich überhaupt erstmal starten kann.

Grundlagen der Programmierung besitze ich in beiden Sprachen.

Das Progrmmiergerät ist auf der folgenden Seite beschrieben:
http://www.fischl.de/usbasp/

Vielleicht kann mir ja noch jemand nen Tipp geben.

MfG JustY
 
Hallo !

Ja, die Webseite zum Programmer hatte ich auch gefunden.....
und auch die Software bei AVRFreaks. :cool:

Wie schon erwähnt.....
Es gibt zig Programmer und Software "dazu".
Jeder muss eben selbst entscheiden, wofür er sein Geld ausgibt.

Ich meine:
Wichtig ist zu Beginn dass man sich auch darüber informiert, ob der Programmer überhaupt von der gewünschten Programmierumgebung vollständig unterstützt wird.
Wird dies zugesagt und funktioniert dann doch nicht, hat man beim Hersteller wenigstens ein Anrecht auf Support bis zum Erfolg......... oder die Möglichkeit zur Rückgabe des Gerätes UND des Geldes.

Wird dies aber nicht ausdrücklich zugesagt, probiert man es eben auf eigenes Risiko.......
und muss dann ggf. sehen, dass man die Krücke ohne große Verluste wieder los wird. ;)

Mein Tipp daher:
Der AVRISP MKII ist immer eine gute Wahl! :)

Grüße,
Cassio
 
Hallo nochmal,

es klappt :)

Ich habe nen Beispielcode in Bascom kompiliert und die hex-Daten PROGISP übertragen.
Der Chip arbeitet das Programm ab, fast wie er soll.

Ein kleines Problem habe ich nun noch. Ich benutze den internen Taktgenerator und habe in meiner Software keine Einstellungen dazu vorgenommen.
Standardmäßig müsste der doch bei 8MHz liegen ode nicht?

Ich habe folgendes Programm in den ATmega16 aufgespielt:

$regfile = "m16def.dat"
$crystal = 8000000

Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.7 = Output

Speaker Alias Portb.7

Do
Toggle Portd.0
Waitms 5
Toggle Portd.1
Waitms 5
Toggle Portd.2
Waitms 5

Loop
End

Normalerweise dürfte man bei den Zeiten nur ein kurzes Flakern bei den LEDs an den Ausgängen sehen können. Statt dessen geht das Umschalten relativ langsam von statten...

Durch den Befehl crystal kalibriere ich doch sozusagen den Kompiler auf die richtige Frequenz (?). Kann ich irgendwie den internen Oszillator auf 8 Mhz einstellen/ überprüfen?

Wäre super, wenn noch jemand nen Tipp hätte :)

MfG JustY
 
Standardmäßig müsste der doch bei 8MHz liegen ode nicht?


Hallo!

Soweit mir bekannt ist, wird der Mega16 standardmäßig mit 1MHz internen Takt ausgeliefert. :hmmmm:



Durch den Befehl crystal kalibriere ich doch sozusagen den Kompiler auf die richtige Frequenz.....

Das Wort kalibrieren würde ich nun nicht verwenden......
Mit der Angabe:
$crystal = 8000000
weiß BASCOM welchen Takt du verwedendest und es passt daraufhin alle Timingprozesse.

Wenn du BASCOM nun sagst, dass dein Takt 8MHz im AVR ist, der aber nur mit 1MHz läuft, wird dein Programm natürlich später auch viel zu langsam sein. ;)


Welche FUSES dein AVR aber nun genau eingestellt hat wirst du nur erfahren, wenn du die FUSE- und LOCKBITS des Controllers selber ausliest..... sowie Pirx es schon geschrieben hat.

Wie das aber genau mit deinem Programmer funktioniert, kann ich dir leider nicht sagen.

Gruß,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)