Szybkie linki:
 
Galeria serwisu:

Widzisz łapkę - kliknij w obrazek, aby zobaczyć więcej.

Bootloader - szczegóły.

Bootloadery - szczegóły techniczne.
Mikrokontroler z bootloaderem - program bootloadera wgrany, teoretycznie powinno działać, ale często nie działa lub działa nieprawidłowo. Wielu zastanawia się, co zrobili źle lub co pominęli, że pojawiają się problemy?
Co sprawdzić lub poprawić - aby bootlosder działał poprawnie?
Bez programatora, nie możemy zbyt wiele. Chcąc skontrolować poprawność bootloadera, potrzebujemy zjrzeć do mikrokontrolera za pośrednictwem programatora. Dla starszych układów - programatora ISP lub równoległego, dla nowszych - programatora z interfejsem UPDI.
Co sprawdzić?
1. Odczytać cały flash mikrokontrolera do pliku .hex.
2. Znaleźć początek programu bootloadera. Znajduje się przeważnie na końcu pamięci flash. Zaczyna się często po grupie linii wypełnionych wartościami FF.
3. Adres pierwszej linii bootloadera pozwoli nam na odpowiednie ustawienie bitów BOOTSZ1,0 wskazyjących na jego położenie w pamięci flash. Tu niestety trzeba zajrzeć do noty katalogowej, aby sprawdzić jak powinny być te bity ustawione w zależności od rozmiaru kodu bootloadera i jego położenia w pamięci flash. Te dwa bity dają cztery możliwości adresu startowego bootloadera. powinny wskazywać na adres bootloadera lub delikatnie przed nim. Co ważne? Fragment kodu pomiędzy wskazywanym przaz bity BOOTSZ1,0 a rzeczywistym położeniem bootloadera, nie powinien zawierać innych informacji jak NOP (nic nie rób) czyli znaków FF.
4. Odczytać bezpieczniki zawierające powyższe bity oraz bit BOOTRST. Zazwyczaj znajdują się w starszych mikrokontrolerach w grupie HFuse.
Co oznaczają?
Bity BOOTSZ1,0 wskazują gdzie znajduje się bootloader w pamięci. Błedne ustawienie wskaże błędny adres strartowy bootloadera i bootloader nie wystartuje.
Bit BOOTRST - mówi, czy po włączeniu lub resecie startować ma bootloader (ustawienie 0 zaznaczony),czy program aplikacji (ustawienie 1 nie zaznaczony). Tu niestety musisz wiedzieć co oznaczają zaznaczone pola bitów fuse lub ich brak.
5. Sprawdzić, czy wgrany bootloader przeznaczony jest do posiadanego mikrokontrolera. To niestety można stwierdzić tylko przez porównanie kodu bootloadera z innym żródłem. Nie masz pewności - wgraj poprawny bootlader od nowa.
To są najczęstsze powody problemów i niedziałania bootloadera. Zgranie tych ustawień gwarantuje poprawną prace mikrokontrolera z bootloaderem.

Uwagi i spostszeżenia:
Jeszcze jedna uwaga - czysty bootloader a program tzw. optiboot niestety działają nieco odmiennie. Ale ten temat poruszymy innym razem.

Warto odpowiedzieć sobie na te pytania, oraz poszukać metod, podpowiedzi i sposobów na proste ich używanie.

Będziemy podpowiadać, opisywać programy i pokazywać metody, sposoby oraz urządzenia. Postaramy się ułatwić życie zainteresowanym mikrokontrolerami i ich użyciem.
Interfejs UPDI - co to takiego?



Licznik serwisu: 9863 , Aktualnie: 5 , Admin kontakt: admin@progel.pl