Z bootloaderem przygód ciąg dalszy. Na ATMega8 wszystko pięknie działa, chcę teraz zrobić podobną rzecz na ATMega128 i znowu dzieją się jakieś jaja. Bootloader jest duży, ponad
6kB, więc rezerwuję na niego największy możliwy 8kB obszar począwszy od $00F000. Dla linkera podaję adres początkowy segmentu .text jako 0x1e000, ale w pliku .hex mam :10E00000 a na dodatek pierwsza linia tego pliku wygląda tak :020000021000EC, czyli że 2 bajty zapisywane są pod adresem $000000. Po wgraniu tego pliku przy użyciu AVR Studio, nic się nie dzieje. Fuse bity ustawione prawidłowo. Jeśli adres startowy ustawię na $00000 to program działa (choć oczywiście niczego nie programuje, ale wiadomo że to nie jest jakiś zwis czy błąd w kodzie). No i teraz zupełnie nie wiem gdzie szukać błędu - w kompilatorze, linkerze, programatorze czy jeszcze gdzieś.Dariusz Żołna