reeset pin erreichbar? ... nö, muss nicht sein.
Bei mir gehts ohne, einfach per RXC-Int warten
auf Zeichenempfang, wenn Start Zeichen erkannt in
Loader springen. Geht bei mir tadellos
Schnell ist relativ. Ich habe bei mir noch nie die Zeit gestoppt. Finde aber das das Programmieren mit dem MCS Bootloader recht flott geht.Einfach dann per USB anstecken und losgehts. Leider ist das aber wiegesagt nicht sehr schnell. Über den Parallelport geht es rascher.
Ich programmiere nach dem Motto erst flashen, dann denken - sprich so ungefähr nach jeder kleinen Änderung im Programm lade ich das Programm auf den Controller um die Änderung über Print Ausgaben über die serielle Schnittstelle auszuprobieren.
D.h. das serielle Kabel muss ich eh angeschlossen haben und das Flashen kam mir noch nie langsam vor.
Was du aber wohl beachten musst ist, dass du den Controller jedesmal resetten mußt um ein Programm hochzuladen.
D.h. der Reset-Pin sollte schon gut erreichbar sein, sonst macht es über Bootloader nicht so viel Spass.
reeset pin erreichbar? ... nö, muss nicht sein.
Bei mir gehts ohne, einfach per RXC-Int warten
auf Zeichenempfang, wenn Start Zeichen erkannt in
Loader springen. Geht bei mir tadellos
Vor den Erfolg haben die Götter den Schweiß gesetzt
Hi,
die max. baudrate soll mit 115000 angegeben sein. Ich brenne erfolgreich bei ca. 57... baud und ich finde, dass das recht fix geht, nur nen paar sekunden.
Wenn ich eine Schaltung entwerfe, plane ich immer einen FTDI-Chip mit ein, den ich dann seriell mit dem Controller verbinde und somit recht einfach brennen kann und in der Zukunft immer schnell nen Update draufschieben kann.
@Vitis:
erkläre mal bitte näher wie Du die Funktion in einem Code unterbringst. Ist der Bootloader der orginale aus Bascom?
GentoIf Char_rs232 = xxx Then 'Updaten
#if Anzeige_lcd = On
Cls
Locate 1 , 1
Lcd "Update ....."
Waitms 1000
#endif
Goto $3c00 'oder wo der Bootloader liegt
Die einzig sinnvolle Verwendung von Goto in BascomCode:Case 123 'ASCII-Zeichen für Bootloader Porta = 0 Portc = 0 Porte = 0 Disable Interrupts Baud = 38400 Goto &HF000 ' Loaderbereich Case 124 'ASCII-Zeichen für Bootloader Porta = 0 Portc = 0 Porte = 0 Disable Interrupts Baud = 38400 Goto &HF000 ' Loaderbereich
Vor den Erfolg haben die Götter den Schweiß gesetzt
Hi Vitis,
ich habe noch nicht sehr viel mit RS232 Kommunikation gemacht. Kannst Du bitte mir eine bsp.Code mit Empfangsroutine und Auswertung + Sprung auf den Bootbereich posten?
DANKE MAT
Lesezeichen