Gast
#4187672
Hallo, ich möchte einen Atmega 328p mit einem Bootloader austatten, damit ich ihn zukünftig per Bluetooth flashen kann. Dazu habe ich mir erstmal den Bootloader aus dem Wiki (http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung) angesehen. Nach dem Setzen der entsprechenden Fuses und der Anpassung der Sprungadressen funktioniert auch alles soweit. Der Bootloader wurde per ISP geflasht, anschließend wurde das angepasste HEX der Beispielapplikation über Putty an den Controller geschickt. Ebenfalls kein Problem. Ich habe jetzt allerdings eine deutlich größere Anwendung, die ich bisher per ISP geflasht habe und problemlos lief. Versuche ich dieses HEX nun per Bootloader auf den Mikrocontroller zu flashen funktioniert dies auch, allerdings bleibt der Bootloader dann beim Reset hängen und mein Programm wird nicht ausgeführt (weder Debug LED leuchtet, noch wird ein Text auf dem UART ausgegeben). Nach dem Flashen habe ich mir den Speicherinhalt wieder in ein HEX file heruntergeladen. Offenbar wird mein Programm irgendwann abgeschnitten. Die UART Übertragung habe ich nochmals überprüft, dort wird die komplette HEX Datei übermittelt. Ich brauche jetzt einen Ansatz wo ich anfangen kann nach dem Problem zu suchen. Muss ich bei meinem Code irgendetwas beachten, damit er "Bootloaderfähig" wird? Danke im Voraus Elektron