ATNEL tech-forum
https://forum.atnel.pl/

Atmega 1284P bootloader nie wgrywa wsadu
https://forum.atnel.pl/topic19259.html
Strona 1 z 1

Autor:  Adriang200 [ 24 wrz 2017, o 11:55 ]
Tytuł:  Atmega 1284P bootloader nie wgrywa wsadu

Witam.
Mam problem z bootloaderem w atmedze 1284P.
Po wstrzyknięciu prostego wsadu mającego zapalić LED na PC7 przez MK_BOOTLOADER w konsoli nadal są wyświetlane "??????????????????????????"
LED nie zapala się.


Moje ustawienia są następujące:

LFUSE = 0xFF
HFUSE = 0xDC
EFUSE = 0xFD

BLS_START = 0x1FC00

Proszę o pomoc.

Autor:  mirekk36 [ 24 wrz 2017, o 12:51 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Bo pewnie robisz jakąś masakrę - ale jaką ?

Jeśli chcesz żeby ci pomóc to najpierw PORZĄDNIE opisz problem czyli:

Pokaż zrzuty ekranu jak konfigurujesz BLS
Jak masz ustawione fusebity w MkAvrCalculator - zamiast wpisywać wartości HEX - żeby co? każdy sobie chodził i sprawdzał? Nie prościej rzucić okiem na MkAvrCalc żeby wszystkim pokazać jak to masz zrobione

no i ostatnie - co to oznacza, że "po wstrzyknięciu" ? a może on się w ogóle nie wgrywa -? też przydałby się zrzut MkBootloadera po wgraniu

na koniec zaś - kod programu jaki wgrywać - bo już w nim możesz mieć problem

Autor:  Adriang200 [ 24 wrz 2017, o 15:45 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

W MkAvrCalculator ustawiam tak:


Obrazek

Obrazek

Obrazek


Za pomocą mkBoot LOADER generuję wsad do mikrokontrolera - Bootloader.hex

Obrazek

Obrazek



Wgrywam Bootloader.hex

Obrazek

Po wgraniu uruchamiam terminal i widać jak bootloader czeka na wsad oraz reaguje na komendy (u, i)

Obrazek


Poprzez mkBoot LOADER wgrywam program testowy by tylko bootloader się zatrzymał.

Kod:
#include <avr/io.h>

int main (void) {
   DDRC |= (1<<PC7);
   while(1) {}
}



Obrazek

Niestety dioda się nie zapala. Po uruchomieniu terminala widać, że nadal działa bootloader.
Program w atmedze powinien zapalić LED i zablokować się w pętli while.

Obrazek

Autor:  mirekk36 [ 24 wrz 2017, o 15:54 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Adriang200 napisał(a):
int main (void) {
   DDRC |= (1<<PC7);
   while(1) {}
}

Ten program nie służy do zapalenia diody LED

------------------------ [ Dodano po: 2 minutach ]

Poza tym pokaż mi czym i jak ty to niby wgrywasz do procka ?

jaką przejściówką ?

Odczytywałeś wsad za pomocą MkAvrCalculator żeby zobaczyć czy na początku masz go wgranego ?

------------------------ [ Dodano po: 4 minutach ]

Wydaje się, że dobrze konfigurujesz procka jeśli chodzi o fusebity i o MkBootloader - skoro ci odczytuje dane z BLS

ale coś dalej musisz źle robić

Autor:  Adriang200 [ 24 wrz 2017, o 17:42 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Do wgrywania bootloadera używam zestawu ATB rev: 1.05
Jak wgram ten program przez USBasp to dioda LED świeci.
DDRC |= (1<<PC7); // ustawia port PC7 jako wyjście i domyślnie jest w stanie niskim.
Zastanawia mnie dlaczego mkBOTLOADER nie wgrywa tego programu.
Dodam że na Atmedze 644P oraz Atmedze 8 , 16, 32, 328p bootloader działa.

Obrazek

Autor:  brat_kamyka [ 24 wrz 2017, o 18:04 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Po kompilacji bootloadera masz 556 bajtów a przestrzeń zarezerwowałes 512 bajtów. To tak na szybko. Czyli sie nie zmiesci zwiększ przestrzeń bootloadera.

Autor:  Adriang200 [ 24 wrz 2017, o 18:27 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Teraz mam to tak poustawiane FC00 * 2 = 1F800
Nadal bootloader nie wgrywa programu.

ObrazekObrazekObrazek

Autor:  raczyk [ 24 wrz 2017, o 19:08 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Może to mały szczegół, ale u mnie w generatorze BLS na konsoli jest Device: atmega1284p:
Obrazek

a u Ciebie: Device: Unknown

Autor:  mirekk36 [ 24 wrz 2017, o 19:09 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

brat_kamyka napisał(a):
Po kompilacji bootloadera masz 556 bajtów a przestrzeń zarezerwowałes 512 bajtów. To tak na szybko. Czyli sie nie zmiesci zwiększ przestrzeń bootloadera.


Tu się akurat kolega mocno myli, ponieważ przestrzeń na BLS zarezerwowana jest nie na 512 bajtów ale na 512 SŁÓW ! ... czyli tak naprawdę na 1024 bajty.

------------------------ [ Dodano po: 2 minutach ]

Adriang200 napisał(a):
a u Ciebie: Device: Unknown

rzeczywiście ;) kolega sokole oko

ja też jak puszczam kompilację to mam 476 bajtów (tzn jak pisałem wyżej - gdybym miał 512 bajtów to nie byłoby źle) ale .... jakiego panie autor ty kompilatora używasz?

Autor:  Adriang200 [ 24 wrz 2017, o 19:37 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Mam zainstalowany AVRDUDE

Autor:  mirekk36 [ 24 wrz 2017, o 19:57 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Adriang200 napisał(a):
Mam zainstalowany AVRDUDE


Ja pytałem o kompilator - a nie o avrdude - które nie ma nic wspólnego z tym komunikatem "device unknown" po kompilacji u ciebie

ale ok - masz tutaj w załączniku do tego postu BLS wygenerowany u mnie (tyle że do ustawień jakie pokazałeś na początku na screenach z adresem 1fc00)

ustaw więc fusebity pod to (jak na początku) i sprawdź - ja z tego bootloadera korzystam akurat do Magic MATRIXA z moich ostatnich poradników ;)

Autor:  Adriang200 [ 24 wrz 2017, o 20:50 ]
Tytuł:  Re: Atmega 1284P bootloader nie wgrywa wsadu

Wgrałem pobrany bootloader i działa.

Więc co u mnie jest nie tak?
Zainstalowałem od nowa Atmel Toolchain i teraz po kompilacji jest 484 bajtów.
Wgrałem bootloader i jest już ok.
To ciekawe że na innych Atmegach nie miałem problemu.

Temat uznaję za zamknięty, a za wszelką pomoc i poświęcony czas bardzo gorąco dziękuję.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/