Witam.
Kombinuje z różnymi bootloaderami. Do eksperymentów zachęcił mnie Atmelowski avr109.
Pliki źródłowe wczytałem do Eclipse, odpowiednio poprzestawiałem parametry dla mojego procka, skomplikowałem bez żadnych błędów i wgrałem. Procek ładnie startuje a bootloader odpowiada po wpisaniu przez terminal odpowiednich komend.
Samo wgrywanie programu za pośrednictwem portu szeregowego też działa lecz... program nie startuje.
Domyślam się że chodzi o ustawienia odpowiedniego BLS tak jak się to robi w Mirkowym bootloaderze ale niestety nie wiem gdzie to ustawić w Eclipse.
W Elektronice praktycznej piszą:
Cytuj:
Przed kompilacją trzeba jeszcze zakomunikować linkierowi, aby
program nie znajdował się od adresu 0, lecz
od początku sekcji bootloadera. Robi się to
w następujący sposób: uruchamiamy z menu
Project–>Configuration Options. Ukaże się
okienko, w którym należy wskazać typ procesora oraz w zakładce Custom Options dla
linkiera należy dodać następującą regułę –
Ttext=0x1800, gdzie 0x1800 to adres początku sekcji bootloadera, np. można go
wziąć z pliku, w którym przygotowywało
się konfiguracje (preprocessor.xls), na górze
można znaleźć następującą linikę: Z(CODE)
INTVEC, FAR_F,SWITCH, CODE=1800-1FFF.
To właśnie z niej można wziąć adres.
...ale to tyczy się AVR Studio
Czy wie ktoś jak to pozmieniań w Eclipse?
A teraz co chcę osiągnąć - wgrywanie z poziomu Eclipse za pomocą portu szeregowego (FTDI) lub bluetooth.
Testowałem bootloadery Arduino i oczywiście działają lecz tam przykładowo dla Atmegi 32 jestem ograniczony do konkretnych częstotliwości CPU. Działa też autoreset za pomcą FTDI (na podstawie Arduino) a autoreset przez Bluetooth tez myślę ze uda mi się w podobny sposób rozwiać.
Może jest jakiś inny bootloader, który będzie mógłby emulować programator szeregowy (np STK500?) lub może da się bootloader Arduino przerobić na inne f CPU
W załączniku artykuł z EP
Pozdrawiam
Po paru godzinach...Wiec problem udało mi się rozwiązać według obrazka.
Nie osiągnąłem jednak tego co chciałem, gdyż programator o nazwie Atmel AppNote AVR109 Boot Loader (jak na zdjeciu) nie zmienia stanu nogi DTR i RTS w FTDI232 na stan niski w trakcie programowania co chciałem wykorzystać do automatycznego resetu. Robi to chyba jedynie programator o nazwie "arduino".
Pracuje na Mirkowym AVRDUDE.