sundayman
2024-10-11 03:14:23 UTC
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 ??
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 ??