Pacjent to Atmega 2561 i bascom.
Jest skonfigurowany bootloader 4K ( ten bascomowy mniej więcej ) oraz program zasadniczy zajmujący trochę ponad 200K.
Całość pamięci jest zrzucona do hex - wgrywam toto sobie no i wszystko działa. Bootloader a potem uruchamia się właściwy program.
Następnie ładuję bootloaderem nową wersję programu głównego . Jest większa trochę ale nadal się mieści - wszystko OK. Działa i śmiga.
I teraz znowu - zrzucam całość do hex, żeby mieć nową wersję z bootloaderem "w kupie".
I dzieje się coś dziwnego : zrzuca się normalnie. Ale po wgraniu z powrotem do MCU program główny uruchamia się źle - coś się wykrzacza na starcie na LCD, potem niby jest dobrze. No ale - to nie jest dobrze.
No przecież to jest niemożliwe - zrzucenie pamięci do hex i wprogramowanie go ponownie powinno dać dokładnie ten sam efekt. Ale nie daje.
Jak ponownie załaduję bootloaderem program zasadniczy - to znowu jest OK.
No jakim kurła cudem po zrzuceniu flash w całości i załadowaniu tej całości ponownie - jest inaczej ?
Programator to Dragon AVR + Atmel studio.Próbowałem też USBASP 2.0 Efekt ten sam. Zresztą ten Dragon ( choć wolniejszy niż Atmel ICE ) działa zupełnie dobrze, nie mam do niego zastrzeżeń.
Podglądałem oba pliki ( ten z "starym" i "nowym" programem ) - na oko wszystko jest OK. Bootloadery są tam gdzie powinny i chyba takie same. No to kuśwa jak to jest możliwe ??