Autor |
Problem beim Brennen mit AVRISPmk2 und AVRStudio |
|
|
|
|
BID = 391507
Lodentoni Neu hier
Beiträge: 35 Wohnort: Plessa
|
|
Hallo, ich bins wieder, mit nem neuen Problem.
Ich wollte mal anfangen mich mit AVR µC's zu Beschäftigen. Ich habe mich für den ATMega16 Entschieden. Jetzt versuche ich den µC mit AVR Studio zu brennen, aber das funktioniert nicht.
Im Bild sieht man das ich ein kleines Sinnloses Testprogramm geschrieben habe, welches fehlerfrei compiled wurde.
Ich nutze den AVRISPmk2. Löschen, Spannung auslesen, Fusebits setzen / lesen funktioniert einwadfrei. Sobald ich aber das Programm Brennen will kommt immer diese fehlermeldung.
Ich habe die Brennfrequenz schon auf 51kHz gestellt, geht aber trotzdem nich.
Könnt ihr mir helfen? |
|
BID = 391514
Jornbyte Moderator
Beiträge: 7178
|
|
Ja, wie du da lesen kannst, muss der ISP Clock 1/4 deiner Frequenz von deinem eingesetzen Quarz haben. Dies kannst du bei "Board -> ISP Freq:" eingeben, wenn das 1/4 nicht in der Tabelle ist.
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten. |
|
BID = 391525
Lodentoni Neu hier
Beiträge: 35 Wohnort: Plessa
|
Ich habe keinen externen Oszillator. Ich würde gern den internen verwenden. Ich habe schon alle Frequenzen zum brennen ausprobiert, es geht nich. (Es steht ja da dass ich eine Frequen wählen soll, die kleiner als 1/4 der CPU-Frequenz ist)
|
BID = 391535
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Inwiefern hast du die Fusebits geändert?
(Konntest du nach der Änderung noch den Flash lesen?)
Zitat :
|
Löschen, Spannung auslesen, Fusebits setzen / lesen funktioniert einwadfrei.
|
_________________
|
BID = 391537
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Die Fehlermeldung kommt mir irgendwie bekannt vor...
Bei mir waren die Fehler bisher wenn das passiert ist:
- Versorgungsspannung schmutzig oder instabil
- Masseschleife über die mit PE verbundene Oszimasse und ISP-Masse vom PC
- ISP-Connection nicht gut genug vom Rest der Schaltung isoliert wenn ich die Pins gleichzeitig für etwas anderes verwendet habe
- ISP-Verbindung elektrisch schlecht durch Kontaktprobleme am Stecker
- Prozessor tot
- Oszillator im Controller fehlkonfiguriert
hoffe es ist für dich etwas dabei...
[ Diese Nachricht wurde geändert von: photonic am 9 Dez 2006 0:02 ]
|
BID = 391555
Lodentoni Neu hier
Beiträge: 35 Wohnort: Plessa
|
Jo cool jetzt geht wieder alles.
Ich habe den CPU Takt von 1MHz auf 4MHz hochgenommen, jetzt gehts.
Ich schnall nur nicht was der untershied zwischen Flash und eeprom is. Wenn ich bei "flash" auf <program> drücke gehts. Bei "eeprom" kommt der selbe fehler.
Ich dachte die avr's sind EEPRom's`? Was sind das für zwei unterschiedliche <programm> buttons im avrstudio?
|
BID = 391606
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Einmal für das integrierte E²PROM (dort kann man auch während des Betriebes Daten reinschreiben und auslesen) und einmal für die Flash-Sektionen für die Applikation, dort kann man nur unter bestimmten Umständen während der Laufzeit schreiben (z.b. aus der Bootloader-Sektion, wenn sie vorhanden ist).
Der Unterschied besteht weiterhin daraus, dass im E²PROM keine Programme ausgeführt werden können.
Das E²PROM ist hinter dem Programm-Flash adressiert.
Zitat :
|
Ich dachte die avr's sind EEPRom's`?
|
Jein.
Natürlich haben sie ein EEPROM drin, wo eben das Programm nebst eventuellen Daten liegt, aber das ist halt nur ein Teil der AVRs.
Ich empfehle dir dringend die Lektüre des Datenblattes, da wirst du schon auf den Unterschied zwischen EEPROM und Mikrocontroller stoßen
Edit: Orthographie...
_________________
[ Diese Nachricht wurde geändert von: DonComi am 9 Dez 2006 13:20 ]
|
BID = 392128
Lodentoni Neu hier
Beiträge: 35 Wohnort: Plessa
|
Aha, ich merk schon. Das wird noch viel arbeit.
Ich hab nochmal ne andere Frage. Wenn man den Kontrastpin eines LCD's auf Vcc legt, kann man dann darauf etwas erkennen?
(Ist ein KS0070b Controller)
Hab ich dummerweise in meiner Experimentierschaltung verkehrt gelötet und jetzt hab ich probleme mit dem Display. (Es reagiert nich. Kann das daran liegen?)
MfG
|
BID = 392130
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Der größte Kontrast ist i.d.R., wenn der Contrastpin auf 0V liegt, also verbinde den Pin mal mit GND und du wirst bei korrekter Stromversorgung einen oder mehrere schwarze Balken sehen.
_________________
|
BID = 393604
Lodentoni Neu hier
Beiträge: 35 Wohnort: Plessa
|
Ich habe noch ein problem "der Timer"
ich habe nen ATMega16 der mit 8MHz läuft
Ich habe den TIMER0 (8Bit) auch mit 8MHz laufen (Prescaler=0).
d.h. alle 1.25*10exp-7 Sekunden zählt er um eins hoch.
Wenn der Timer den Wert 160 erreicht hat sind genau 20µSekunden vergangen (1.25*10exp-7*160=2*10exp-5)
Immer wenn 20µSekunden vergangen sind läuft die Interruptroutine los und zählt die µSekunden und die Sekunden.
Damit habe ich mir eine Uhr gebastelt.
Das problem ist die Uhr geht vor. (in 8Minuten geht sie 16 Sekunden vor).
Woran liegt das?
Edit: Läuft die CPU garnicht mit 8MHz, sondern mit mehr? (ich nutze den internen Oszillator) Wie misst man dann genaue Zeittakte?
[ Diese Nachricht wurde geändert von: Lodentoni am 18 Dez 2006 23:04 ]
|
BID = 393621
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Der interne Oszillator ist nicht gut genug für eine Uhr. Dafür musst du einen externen Quarz hernehmen. Evtl. softwaremässig noch etwas nachkalibrieren mit einer langen Messung (1 Tag oder mehr) und dann passt das.
|
BID = 393668
Lodentoni Neu hier
Beiträge: 35 Wohnort: Plessa
|
Hm, naja, das dachte ich mir fast.
Vielleicht bekomme ich es ja hin das dcf77 signal auszulesen, dann könnte ich damit die uhr immer nachstellen.
Aber danke für die info.
|
BID = 393821
Lodentoni Neu hier
Beiträge: 35 Wohnort: Plessa
|
Ich hab mal noch ne Frage:
Kann man irgendwie feststellen in welchen Programmteil am meisten "Zeit verbracht wird"?
Ich nutze das Atmel AVR Studio. Ginge das irgendwie mit dem Debugger?
Wenn ich das Programm lauen lasse ist der Bildschirm meistens in den Interruptroutinen. Nur ganz kurz mal zwischendurch springt er in andere programmteile.
|
BID = 393822
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Ich verstehe deine Frage nicht: Wenn er dauernd in irgendwelchen INT-Handlern rumarbeitet, dann liegt das am schlechten esign des Programms. INT-Handler sollten kurz sein.
Wo der am meisten "drin rumhängt", kann man so nicht sagen. Kommt wie gesagt drauf an.Es kann auch z.b. sein, dass ein INT gestartet wird, das I-Flag aber durch ein ungeschicktes Programm wieder angeschaltet wird. Ist dann das IRQ noch nicht abgearbeitet und ein neues IRQ kommt an, dann wird ein INT durch das nächste unterbrochen. Dann hängt der µC wirklich irgendwo rum.
Sowas kann gehen, aber wenn soviele IRQs kommen und der Stack immer weiter in Richtig RAM-Adresse RAM_START (quasi RAM-Adresse 0x0000) kommt, dann gibt das irgendwann ein Verhalten, welches nicht erwünscht ist.
_________________
|
BID = 394579
Lodentoni Neu hier
Beiträge: 35 Wohnort: Plessa
|
Vielleicht kam es mir auch nur so vor, es funktioniert ja auch alles tadellos.
|