Witam. Przerabiam właśnie des'owy bootloader dostępniony przez atmela (linki: dokumentacja, pliki);
Ogólnie całość działa Ok i jest przetestowana, ale mam 3 pytania:
1. Ustawiając lock bity wg dokumentacji (BLB12,BLB11 czyli zabraniam SPM i LPM w sekcji bootloadera), a następnie przy generowaniu pliku do aktualizacji podaję że mają być ustawione bity również te same BLB11 BLB12. Dodatkowo przy wgrywaniu bootloadera nie wiem czy powinienem programować oba bity memory lock (czyli przyszłe programowanie i weryfikacja wyłączone). Nota milczy czy powinienem to zrobić.
Teraz nie jestem pewien czy memory lock się odnosi, czy do programatorów, czy do bootloadera. Na pewno jestem w stanie odczytać program nie programując tych bitów, więc chyba trzeba je zaprogramować
2. Jak bym chciał przygotować sobie hexa z jakąś tam wersją oprogramowania pierwszą i bootloaderem to wystarczy że zgram firmware z urządzenia zaprogramowanego już (bootloaderem i później z wgranym softem) a następnie zaprogramuje lockbity BLB12,BLB11 i oba od memory lock?
3. Dla mnie jest tutaj jedna nieścisłość w tym wszystkim. Np Mega8 ma bootloader o max rozmiarze 1kB (1k word's gdzie słowo jest 8 bitowe), a tutaj bootloader wychodzi na ~2kB. Chyba ci panowie modyfikowali skrypty linkera żeby pod adresem z Bootvect znalazła się funkcja main bootloadera, a inne funkcje również w sekcji aplikacji. W związku z tym chyba część bootloadera nie jest chroniona przez lockibty. Ogólnie jakiegoś sensownego info na ten temat w nocie też nie znalazłem.
Pozdrawiam Jakub
Ogólnie całość działa Ok i jest przetestowana, ale mam 3 pytania:
1. Ustawiając lock bity wg dokumentacji (BLB12,BLB11 czyli zabraniam SPM i LPM w sekcji bootloadera), a następnie przy generowaniu pliku do aktualizacji podaję że mają być ustawione bity również te same BLB11 BLB12. Dodatkowo przy wgrywaniu bootloadera nie wiem czy powinienem programować oba bity memory lock (czyli przyszłe programowanie i weryfikacja wyłączone). Nota milczy czy powinienem to zrobić.
Teraz nie jestem pewien czy memory lock się odnosi, czy do programatorów, czy do bootloadera. Na pewno jestem w stanie odczytać program nie programując tych bitów, więc chyba trzeba je zaprogramować
2. Jak bym chciał przygotować sobie hexa z jakąś tam wersją oprogramowania pierwszą i bootloaderem to wystarczy że zgram firmware z urządzenia zaprogramowanego już (bootloaderem i później z wgranym softem) a następnie zaprogramuje lockbity BLB12,BLB11 i oba od memory lock?
3. Dla mnie jest tutaj jedna nieścisłość w tym wszystkim. Np Mega8 ma bootloader o max rozmiarze 1kB (1k word's gdzie słowo jest 8 bitowe), a tutaj bootloader wychodzi na ~2kB. Chyba ci panowie modyfikowali skrypty linkera żeby pod adresem z Bootvect znalazła się funkcja main bootloadera, a inne funkcje również w sekcji aplikacji. W związku z tym chyba część bootloadera nie jest chroniona przez lockibty. Ogólnie jakiegoś sensownego info na ten temat w nocie też nie znalazłem.
Pozdrawiam Jakub