PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MCS Bootloader per Software auslösen?



mat-sche
12.11.2009, 18:27
Nen schön Abend!

Ich nutze den Bootloader von MCS und ich nutze diesen , um meinen AVR zu flashen. Wie immer muss man ja vorher den AVR über den Resetpin resetten, dass er in den Bootloadersektor springt.
Jetzt ist hier meine Frage:

ist es möglich per Software den Chip zu resetten und dadurch in den Bootsektor zu springen?
Starte ich das flashen über Bascom wird ja zu erst ein 123 geschickt und auch wieder erwartet, dieses wollte ich auswerten und als Reset zum Anlass nehmen.



Rs232_flash = Ischarwaiting()
If Rs232_flash = 1 Then
Rs232_str = Inkey()
If Rs232_str = 123 Then
Print 123
Baud = 57600
Goto &HF800
End If
End If

leider funktioniert dies so nicht, jemand ne Idee oder schon gemacht?

Danke & Gruß MAT

Vitis
12.11.2009, 22:52
if Rs232_str = 123 then goto &Hxxxx 'xxxx ist die bootloaderadresse wie gefused

die einzig sinnvolle Verwendung von goto im Übrigen

mat-sche
13.11.2009, 09:33
Hi Vitis,

ich habe das Problem das der Code so nicht funktioniert. Schicke ich ein "123" über ein Terminalprogramm, dann wird der Bootloader angesprungen bzw. der Chip macht nen reset.
Irgend wie wird das "123" vom MCS-Loader nicht erkannt.
Ne Idee oder hast Du ne andere Lösung?

Vitis
13.11.2009, 16:33
hmmm ... bei mir gehts ...

Bau mal noch die gleiche Routine mit 124 ein, das ist der code für die
eeprom-programmierung, die hab ich bei mir auch noch mit dabei.

also :

if Rs232_str = 124 then goto &Hxxxx

wenns bei terminalprogramm mit 123 geht würds auch beim mcs-flash tool gehen wenn das tatsächlich die 123 senden würde. kann sein, das es die 124 vorweg schickt.

Richard
13.11.2009, 17:17
Hi Vitis,

ich habe das Problem das der Code so nicht funktioniert. Schicke ich ein "123" über ein Terminalprogramm, dann wird der Bootloader angesprungen bzw. der Chip macht nen reset.
Irgend wie wird das "123" vom MCS-Loader nicht erkannt.
Ne Idee oder hast Du ne andere Lösung?

Moin Moin.

Wenn zum Bootloader gesprungen wird wartet der doch auf 123
und Meldet sich erst danach? Oder sehe ich das Falsch?

Gruß Richard

Vitis
13.11.2009, 20:06
ja, macht aber nix, weil das Flashprogramm auf ein Echo wartet und solange die 123 weiter sendet bis das Echo eben kommt.
brauchts halt zweimal die Übermittlung.

mat-sche
13.11.2009, 20:14
Hi!!!

Lösung gefunden!!!!!!!
Was alles so'n Bier ausmachen tut :D

Die Lösung:

Baudrate, mit der der Bootloader überträgt, sollte im Programm übereinstimmen. Habe einfach die $baud auf meine Flashrate vom Bootloader am anfang meines Programmes abgeändert und nun geht es!!!
Jupi!

Danke Vitis!