PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit $prog statement



fuerstfanta
10.07.2007, 14:01
Hallo Freaks,

ich habe versucht die Fusebits und Lockbits direkt aus BASCOM heraus mit dem $prog Befehl zu schreiben. Dazu habe ich den Befehl wie folgt bei den Deklarationen am Anfang in den Quelltext geschrieben:



'Initialisierung:
$regfile = "m168def.dat"
$programmer = 7 'STK500
$baud = 57600
$crystal = 20000000
Const Clk = 20000000
$prog &HFF , &HFF , &HD5 , &HFF
$framesize = 80
$swstack = 100
$hwstack = 100


Leider funktioniert es nicht. Die Fuse- und Lockbits werden von BASCOM nicht verändert! Mache ich etwas falsch oder stimmt da was mit BASCOM nicht?

Ach so, ich programmiere mit einem AVRISP MKII, nur falls das wichitg ist.

Vielen Dank vorab

SMILEY

fuerstfanta
12.07.2007, 11:00
Halloo???

Sehe ich das richtig, daß hier niemand mit dieser Funktion arbeitet? Vielleicht könnte mir wenigstens mal jemand einen Hinweis geben, ob es bei ihm funktioniert oder nicht!

Danke ....

SMILEY

darwin.nuernberg
12.07.2007, 11:17
Ich verwende diese Funktion sehr selten.
Wenn dann mache ich das So:

1. Cursor in die Zeile Setzen, wo das Commando hin soll
2. AVR an den ISP ran
3. Maual-Program / Lock & Fuse-Bits -> Button "Write PRG"
Dann wird der Befehl und die Passende Einstellung in den Source übernommen und zwar da wo sich die Schreibmarke (Cursor) befindet.

Sonst habe ich keine Probleme damit gehabt.
(Es gab mal 'ne Bascom Version mit Fehler in den Lock und Fuse-Bits seit dem bin ich damit etwas Vorsichtiger)

Probier mal einen "Erase-Chip" bevor Du die Bits schreiben willst.

fuerstfanta
12.07.2007, 12:49
HI!

Danke für den Tipp, aber irgendwie will das bei mir nicht. Manual Programm hat bei mir noch nie funktioniert. Wenn ich da drauf drücke, dann passiert einfach gar nichts. Wenn ich den Programmer auf "STK extended" umstelle, dann bekomme ich ein Auswahlfenster, in dem ich auch die Fuse und Lock bits abfragen kann. Wenn ich das Abgefragte verändere und auf "write" drücke und dann erneut abfrage, steht aber auch wieder der alte Wert drin. Also funktioniert das offensichtlich auch nicht. Ein Chip Erase hilft da auch nicht weiter.

Schade, ich fände die Funktion echt praktisch. Gibts noch was, das ich ausprobieren könnte? Ansonsten frag ich vielleicht mal beim Support nach!

SMILEY

darwin.nuernberg
13.07.2007, 10:10
Funktioniert das ganze mit dem PonyProg (ich meine das Fusen?) http://www.lancos.com/prog.html
Hast Du schon mal einen anderen AVR - Chip ausprobiert (evtl. ist der Teil ja Kaputt)?

Welche Bascom Version verwendest Du?
Sind Deine Einstllungen Korrekt?

fuerstfanta
13.07.2007, 10:31
Hi,

ich hab nur nen AVRISP MKII... ah halt, nach dem Wochenende kann ich es mal mit nem alten AVRISP ausprobieren. Die anderen Dinger hab ich leider nicht. Das Einstellen der Fusebits hab ich mit verschiedenen Chips getest. Funktioniert bei mir einfach nicht. Bascom Version ist die aktuellste 1.11.8.8. Und Einstellungen... äh, was muß ich denn spezielles einstellen? Ich verwende normalerweise den Programmer "STK500". Ist das nicht ok?

Gruß

SMILEY

darwin.nuernberg
13.07.2007, 10:47
Hi,

ich hab nur nen AVRISP MKII... ah halt, nach dem Wochenende kann ich es mal mit nem alten AVRISP ausprobieren. Die anderen Dinger hab ich leider nicht. Das Einstellen der Fusebits hab ich mit verschiedenen Chips getest. Funktioniert bei mir einfach nicht. Bascom Version ist die aktuellste 1.11.8.8. Und Einstellungen... äh, was muß ich denn spezielles einstellen? Ich verwende normalerweise den Programmer "STK500". Ist das nicht ok?

Gruß

SMILEY

Passt schon, wieso soll das nicht ok sein?
Einstellungen: in Baskom kann man für die verwedneten Programmer einiges einstellen, evtl. hast Du daran was geändert, glaub ich aber nicht, sonst würde das Proggen ja auch nicht gehen.

Etwas Verunsicherung hilft manchmal, dass sich die Leute ihe Gedanken machen und auf andere gedanken kommen :-b


OK
Probier erst mal den PonyProg aus (ist die güstigere Variante),
wenn es dann immer noch nicht geht, probier mal 'nen anderen AVR aus (daran wirst Du wohl nicht Konkurs gehen).

Ansonsten ???

EDIT:

Ich seh gerade der AVRISP MKII ist für USB.
Sollte es daran liegen?
USB hat die eigenart, dass Daten nur Blockweise übertragen werden.
Deswegen auch der Aufwand mit dem Programmer, sonst würde ein einfacher USB zu Parallel Interface auch ausreichen.

Ich arbeite mit einem Bauähnlichen ISP wie der hier: A V R - I S P _ Programmierkabel (https://www.roboternetz.de/wissen/index.php/AVR-ISP_Programmierkabel) (selbst gebaut)

EDIT: EDIT:

Ich seh gerade, Du scheinst nicht der einzige zu sein, wer Probleme mit dem MKII hat:
http://www.ctbot.de/forum/problem-fuse-bits-zu-setzen,-avr-isp-mkii-t296.html
http://www.ctbot.de/forum/avr-isp-mkii-funktioniert-nicht-t471.html
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=262079



AVRIsp MkII wird nicht in Bascom unterstützt!
Du kannst nur manuell die in Bascom compilierten Programme mit AVR Studio übertragen, ist leider etwas umständlich. Aus dem Grund wird ja der USBISP oder normale ISP für Bascom empfohlen.

fuerstfanta
13.07.2007, 11:39
Ok,

das sind doch mal Informationen... aber daß der MKII nicht unterstützt wird ist falsch... in der Hilfe steht




For the AVR ISP mkII, you need to supply the serial number of the USB programmer. The USB port will be used then instead of the serial port.


und das Programmieren funktioniert ja auch! Aber ich find das Ding trotzdem besch***. Jedesmal, wenn man die Spannung vom Board neu anlegt geht die USB-Verbindung flöten. Kabel raus, Kabel rein, alles wieder gut.... und eins von den Dingern hat mir schon das Mainboard vom Laptop zerrissen... naja... ich glaub ich versuchs wirklich mal mit der alten Kiste... und wenn das nicht hilft bastel ich mir mal so nen anderen Programmieradapter.

Jedenfalls schonmal danke für die Unterstützung ... ich meld mich wenn ich was neues weiß!

Gruß

SMILEY

fuerstfanta
17.07.2007, 07:44
Hallo nochmal,

ich habe gerade ausprobiert, ob es denn mit dem alten AVRISP funktioniert, die Fuse- und Lockbits aus BASCOM heraus zu beschreiben....

Klare Antwort: NEIN!

Ich kann weder über das Fenster des "STK500 extended" Programmers noch über den direkten "STK500" Programmer die Fusebits des Chips verändern. Mit dem "extended" kann ich die Fusebits zwar auslesen. Ich kann auch die Zahlen in dem Feld verändern und auf "Write" drücken. Aber wenn ich dann wieder "Read" klicke, steht wieder der alte Wert im Anzeigefeld... blöd!!!

Ich denke ich werde mich mal an den Support wenden und nach dem Sinn der Funktion fragen, wenn sie nicht funktioniert :-)

Sag Bescheid, wenn ich ne Antwort hab...

Gruß

SM!LEY

chr-mt
17.07.2007, 09:16
Hi,
bei mir klappt das auch nicht, weder mit AVRISP MKI noch mit STK500.

Gruß
Christopher

chr-mt
19.07.2007, 10:15
Hi,
ich hab' mir das STK500-Extended in Bascom nochmal etwas genauer angesehen.
Beim aufrufen der STK 500.exe wird das Extended-Fusebyte nicht mit übergeben. (Sieht man ganz gut, wenn "Pause" anklickt
Ohne das kommt dann immer die Fehlermeldung im logfile:
"The value of one or more fuse bytes are not specified."
und die Fuses werden eben nicht gesetzt.
Zu Fuß, also direkt im Dos-Fenster eingetippt, mit Extended Fusebyte, klappt es.
Muß auch gehen, sonst würde das AVRStudio ja auch nicht funktionieren.
ich hab' mir jetzt eine batchdatei geschrieben, mit der ich dann die stk500.exe aufrufe.
Beispiel für meine "fuse.bat":


cd\
cd stk500
stk500.exe -dATMega128 -ms -ccom1 -fD0BF -EFF
stk500.exe -dATMega128 -ms -ccom1 -FD0BF -GFF
type stk500.log
stk500.exe -dATMega128 -ms -ccom1 -lCF
type stk500.log
pause

So brauche ich nicht mehr umständlich alle Fuse und Lockbits zu setzen, sonden nur noch "fuses" (hab' ich mir auf den Desktop gelegt) aufzurufen und bekomme noch das Ergebniss des Verifys angezeigt.
Finde ich recht praktisch :)

Getestet mit STK500 und AVRISP MKI

Gruß
Christopher

fuerstfanta
19.07.2007, 11:08
Hey,...

praktisch! Prima Idee... Werde ich auch gleich mal versuchen... Hab aber trotzdem den Support mal kontaktiert! Mal sehen wanns ne Antwort gibt!

Danke

sMILEY

chr-mt
19.07.2007, 15:01
Hi,
ja, die Bascom eigene Version sollte ja eigentlich funktionieren.
Naja, Mark macht das schon :)

Ich finde das mit der Batch Datei richtig spaßig.
Man kann wirklich alles in einem"Rutsch" übertragen, wenn man noch Filenamen, EEprom-File etc. hinzugfügt.
Sehr praktisch, wenn man mehrere Chips immer gleich programmieren will.
Ist halt was für Faule :D

cd\
cd stk500
stk500.exe -dATMega128 -ms -ccom1 -e
stk500.exe -dATMega128 -ms -ccom1 -ifbootloader.HEX -pf
stk500.exe -dATMega128 -ms -ccom1 -fD0BF -EFF
stk500.exe -dATMega128 -ms -ccom1 -FD0BF -GFF
stk500.exe -dATMega128 -ms -ccom1 -lCF
stk500.exe -dATMega128 -ms -ccom1 -LCF
pause

Die Batchdatei macht:
Chip löschen (-e),
Flash-File laden und programmieren, (-if , -pf)
Fuses setzen, (-f)
Extended Fuse setzen (-E)
Fuses verifizieren, (-F)
Extended Fuse verifizieren (-G)
Lockbits setzen, (-l)
Lockbits verifizieren. (-L)
Pause, damit das Dos Fenster nicht gleich wieder zugeht.
-d = Device
-m = Mode ms=Mode Serial
-c = Comport

Eine komplette Befehlsliste kann man sich mit stk500.exe -h ansehen.
Oder besser mit stk500.exe -h |more
(Sonst sind die obersten Zeilen schon oben rausgeschoben)
Oder am besten gleich in eine Datei schreiben...
stk500.exe -h >befehle.txt
Damit erzeugt Dos eine neue Datei mit dem Namen "befehle.txt" und schreibt das ganze Zeugs da rein.
So kann man's dann auch schön ausdrucken

Gruß
Christopher

fuerstfanta
19.07.2007, 17:11
Cool...

hatte heute leider keine Zeit mich richtig daraum zu kümmern. Aber ist auf jeden Fall ne Alternative zum Bascom-AVR-Studio hin-und hergeswitche!

Danke

SMILEY

Gento
02.08.2007, 21:59
Mir war es auch lästig jede CPU von Hand zuzumachen.

Bascom 1.11.8.8
Programmer STK200/STK300 über Port 378
Mega 32

$prog &HFC , &H2F , &HD0 , &H00 benutze ich als erste Zeile im Bootloader.

Es geht und erspart mir einige Handarbeit.
Mir erscheint als würde die eine Zeile nur 1 X nach der Übertragung benutzt.


Gento

fuerstfanta
07.08.2007, 08:07
Hallo!

Also ich hatte folgenden Kontakt mit dem Support, für alle die noch an der Lösung interessiert sind...



Frage:

Once again, I have a small problem with BASCOM-AVR. It’s not urgent, but still, I’d like to know.
I tried to set the fusebits and lockbits directly from Bascom with the $prog command. Therefore I inserted the following line at the beginning of my code:



$prog &HFF , &HFF , &HD5 , &HFF



Unfortunately, it doesn't work. The fusebits and lockbits didn't change after programming with neither an AVRISP MKII nor an old AVRISP. I don't know if somethings missing in the command or if it is a BASCOM or Atmel problem. Can you give me a hint, please?


----
Antwort:

you need either sample electronics, stk200, or USB-ISP programmer in order to use this option.

----
Frage:

The AVRISP is mentioned in the BASCOM-help. Maybe you should rework the page, if it is not supported yet.

----
Antwort:

Orignal AVRISP does work !
But atmel made a new AVRISP which is different but they used the same name :-(




wie man sieht, gibt es leider keine Lösung, AVRISP funktioniert teilweise... und AVRISP MKII gar nicht.... schade... !!!

Gruß

SMILEY[/quote]

chr-mt
12.08.2007, 21:49
Hi,
dake für die Info und deine Mühe!

Gruß
Christopher