Discussion:
dziwna sprawa...
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
sundayman
2024-10-11 03:14:23 UTC
Permalink
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 ??
sundayman
2024-10-11 03:34:26 UTC
Permalink
jakieś znaczenie ma wersja program zasadniczego.

Czyli początkowo mamy v1. Jak załadujemy v2 i przeprowadzimy całą
operację - wszystko jest OK.

Ale jak załadujemy v3 ( wszystko działa ) a potem zrzucimy hex i wgramy
ponownie to już coś jest nie halo.

Ale niezależnie przecież od tego co jest w programie zasadniczym to
jeśli wszystko działa przed zrzuceniem do hex - to ten hex potem
załadowany powinien dać dokładnie ten sam efekt.

Czy nie ??
sundayman
2024-10-11 05:25:38 UTC
Permalink
Dobra, zrobiłem. Odczytałem też eeprom i dołożyłem go do paczki
"produkcyjnej". I jest dobrze.

Nie powinno to mieć imo wpływu - bo główny program po załadowaniu przez
bootloader konfiguruje ten EEPROM jak należy. Można to także zrobić
ręcznie - ale to nie pomagało.

Więc właściwie nadal nie rozumiem o co kaman, no ale zrzucając Flash i
Eeprom i ładując ponownie jest OK.

Kontynuuj czytanie narkive:
Loading...