And-Tech Strona Główna And-Tech
Forum firmy And-Tech

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum  DownloadDownload

Poprzedni temat «» Następny temat
Jak zaprogramować nową ATMega /Naprawić uszkodzony bootloade
Autor Wiadomość
And-Tech
Site Admin

Dołączył: 22 Lut 2007
Posty: 285
  Wysłany: Pon Sty 25, 2010 12:49 pm   Jak zaprogramować nową ATMega /Naprawić uszkodzony bootloade

Wgrywanie oprogramowania do płytek EvB za pomocą portu USB oraz oprogramowania Megaload/AND-Load odbywa się za pośrednictwem małego programu wgranego do procesora (tzw. Bootloader).

Czasami zdarza się sytuacja iż program ten zostanie nadpisany przez nasza aplikację i nie mamy dalszej możliwości programowania układu za pomocą programu MegaLoad/AND-Load.

W tej sytuacji należy zaprogramować bootloader jeszcze raz.
Pliki bootloadera do poszczególnych procesorów:
ATMega16
ATMega32
ATMega644P

Instrukcja wgrywania Bootloadera za pomocą wbudowanego programatora w płytkę EvB 4.3 v3

1. Podłączenie mikroprocesora do złącza programatora W pierwszej kolejności należy
połączyć wyprowadzenia mikroprocesora z programatorem, w sposób opisany poniżej oraz obrazek w załączniku

Programator Mikroprocesor port
ISP TS
MISO SR
SCK CD
MOSI RI RESET



2. Podłączamy płytkę EvB 4.3 do komputera (jeśli to pierwsze podłączenie system poprosi o sterowniki, opis instalacji sterowników opisaliśmy w Instrukcji do zestawu EvB 4.3)

3. Ściągamy oprogramowanie AVRDUDE ze specjalnie przygotowanymi plikami ze strony: www.and-tech.pl/files/EvB-ISP.zip

4. Rozpakowujemy plik i uruchamiamy program avrdude-GUI.exe (wymagany jest .NET w wersji co najmniej 2.0)

5. Jako programator wybieramy FT232R Synchronous BitBang (EvB)

6. Wybieramy procesor, który chcemy zaprogramować, w naszym przypadku jest to ATMega16 - proszę wybrać odpowiedni procesor

7. W „Command line Option” wpisujemy -P ft0 -B 19200 (jeśli nie uzyskamy poąłczenia zmieniamy na „-P ft0 -B 9600” lub „-P ft0 -B 57600”)

8. Sprawdzamy połączenie poprzez przycisk Read w sekcji Fuse

9. Jeśli w oknach hFuse, lFuse pojawią się cyfry to znaczy iż programator działa poprawnie i możemy zaprogramować procesor naszym plikiem, jeśli natomiast ukaże się ekran jak poniżej oznacza to iż płytka nie jest poprawnie zainstalowana w systemie lub źle wybraliśmy ustawienia.

10. Sprawdzamy czy w oknie hFuse mamy wartość D0 (D zero) oraz w lFuse EF. Jeśli tak to przechodzimy do następnego kroku. Jeśli natomiast są tam inne wartości to należy wpisać odpowiednio D0 i EF w okna hFuse i lFuse a następnie wcisnąć przycisk Write obok okienek, w których zmienialiśmy wartości.

11. Następnie wybieramy plik bootloadera w sekcji Flash i wciskamy przycisk Erase-Write-Verify. Po kilku sekundach powinniśmy mieć zaprogramowany mikroprocesor.

Ostatnio zmieniony przez And-Tech Wto Sty 26, 2010 1:56 pm, w całości zmieniany 2 razy  
 
     
And-Tech
Site Admin

Dołączył: 22 Lut 2007
Posty: 285
Wysłany: Pon Sty 25, 2010 12:54 pm   

Wgrywanie bootloadera za pomocą STK200 (programator pod port LPT)


Ściągamy i instalujemy program PonyProg


Otwieramy zakładkę: Setup-> Interface setup
Wybieramy Parallel i AVRISP I/O i LPT1
Klikamy Probe
Jeśli mamy komunikat iż wykrył programator to klikamy OK, jeśli nie to sprawdzamy podłączenie programatora i port LPT

Wybieramy zakładkę Setup -> Calibration i przycisk Yes


W liście wyboru "I2C Bus 8bit eeprom" wybieramy AVR Micro

Obok zamiast AVR Auto ATMEGA16 (lub ATMega32 jeśli mamy taki procesor na płytce)

Otwieramy zakładkę File-> "Open program flash file" i wybieramy plik hex zamieszczony w tym wątku (M16 lubM32 w zalezności od procesora)

Klikamy Command -> Write Program (FLASH)

Mamy już wgrany bootloader pozostaje jedynie ustawienie fusebitów

Klikamy Command -> Secure and Configuration Bits
i ustawiamy DOKŁADNIE jak na zdjęciu poniżej
 
     
rysiek182

Dołączył: 07 Mar 2010
Posty: 3
Wysłany: Nie Mar 07, 2010 5:16 pm   

Witam, posiadam płytkę evb 4.1 i do atmegi chciałem wrzucić program który wykorzystuje około 80% pojemności pamięci programu.
Po operacji wgrywania okazało się, ze nie wrzuciło programu, oraz nie mam możliwości wgrania jakiegokolwiek innego programu do mikroprocesora.

Proszę napisać, czy wystarczy tylko jakims zewnetrznym programatorem (posiadam USBASP) wrzucić tylko progrram bootloader-M32 lub M16, aby znów cieszyć się możliwością wgrywania programów, przez rs??
 
     
morock 

Wiek: 33
Dołączył: 19 Sie 2009
Posty: 71
Skąd: Działdowo
Wysłany: Nie Mar 07, 2010 5:21 pm   

najprawdopodobniej tak... mi też się kiedyś skopał bootloader przy małym programie... po wgraniu było już wszystko oki ;)

Jeśli nie posiadasz zestawu EVB 4,2 możesz wykonać taką przeróbkę. :twisted:

Sposób jest na 100% skuteczny, sam to sprawdzałem.

Podstawową zaletą jest możliwość ożywienia, lub dostosowania nowej ATMEGI do naszej płytki testowej, bez potrzeby dokupywania zewnętrznego programatora na LPT :wink:

Podłączenie.JPG
Plik ściągnięto 1365 raz(y) 147,51 KB

_________________
Pozdrawiam :)
 
 
     
rysiek182

Dołączył: 07 Mar 2010
Posty: 3
Wysłany: Nie Mar 07, 2010 6:19 pm   

Posiadam programator USBasp i zawsze udawało mi się zaprogramować każdą kość, ale dzisiaj mam taki błąd, widać, że nie chce się programowć:

W załączniku zrzut ekranu z programem avrdude-gui,

a gdzie wpisuje się B19600??

AND.jpg
Plik ściągnięto 1719 raz(y) 126,59 KB

 
     
morock 

Wiek: 33
Dołączył: 19 Sie 2009
Posty: 71
Skąd: Działdowo
Wysłany: Nie Mar 07, 2010 8:10 pm   

a może po prostu atmelek się wyczerpał?? dużo go programowałeś??

hmm nie wiem dokładnie o co chodzi z B19600 wydaje mi się że o prędkość przesyłu danych przez com, jednak widze na obrazku że port masz LPT a tam się nie ustawia prędkości.
_________________
Pozdrawiam :)
 
 
     
rysiek182

Dołączył: 07 Mar 2010
Posty: 3
Wysłany: Nie Mar 07, 2010 8:11 pm   

Udaje mi się zaprogramowac megę 32 dowolnym programem po ISP, natomiast nie udaje mi się wrzucić do megi 32 bootloadera ściągniętego z postu numer1 tego tematu, co robię nie tak?
Ustawienia tak jak na rysunku powyżej, niestety nie mam sprzetu, żeby dolutowac kabelki według schematu :/

gdzie ustawia się parametr prędkości B19600

Chciałbym uruchomić możliwość wgrywania programów po RS, bo szybciej działa niż po avrdude (chyba że jeszcze nie mam czegos dobrze skonfigurowanego).
 
     
michal.bedzin 
Michał

Dołączył: 30 Lip 2009
Posty: 13
Skąd: Będzin
Wysłany: Sob Kwi 03, 2010 10:01 pm   

Instrukcja dla osób korzystających z OS Debian/Ubuntu

Aby uruchomić programator przy wykorzystaniu AVRDUDE należy wykonać w terminalu następujące komendy:

Kod:

sudo apt-get install patch build-essential libreadline-dev libncurses-dev libusb-dev
sudo apt-get build-dep avrdude avrdude-doc


Ściągamy AVRDUDE 5.8, roztarowujemy go i przechodzimy do katalogu:

Kod:

wget http://download.savannah.gnu.org/releases-noredirect/avrdude/avrdude-5.8.tar.gz
tar xzf avrdude-5.8.tar.gz
cd avrdude-5.8


Teraz zdobywamy patche dla wykorzystania FTDI jako programatora:

Kod:

for i in 8 7 6 5 4 3 2 1 0; do wget -O patch-$i.diff http://savannah.nongnu.org/patch/download.php?file_id=1851$i; done


Potwierdzamy patche:

Kod:

for file in patch-*.diff; do patch -p0 < $file; done


Zdobywamy sterowniki dla FTDI. Dla wersji 32-bitowych:

Kod:

wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.16.tar.gz


Dla wersji 64-bitowych:

Kod:

wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.16_x86_64.tar.gz


Rozpakowujemy sterowniki i kopiujemy potrzebne pliki:

Kod:

tar xzf libftd2xx*.tar.gz
cp libftd2xx*/static_lib/* .
cp libftd2xx*/*.h .
cp libftd2xx*/*.cfg .


Generujemy nasz Makefile:

Kod:

./configure


Otwieramy plik Makefile w edytorze tekstu (np. gedit):


1. Odszukujemy linię
Kod:
 CFLAGS = -g -O2
i podmieniamy ją
Kod:
CFLAGS = -g -O2 -DHAVE_LIBUSB -DSUPPORT_FT245R

2. Odszukujemy linię
Kod:
LIBS = -lreadline -lncurses -ltermcap
i podmieniamy ją
Kod:
LIBS = -lreadline -lncurses -ltermcap ./libftd2xx.a.0.4.16 -lrt


Na koniec kompilujemy wszystko:

Kod:

make


Możemy korzystać z programu poleceniem w konsoli:

Kod:
sudo ./avrdude-5.8/avrdude -C ./avrdude-5.8/avrdude.conf -c duemilanove -P ft0 -p m32


Życzę wszystkim udanych programów i braku problemów z programatorem.

michal.bedzin
 
     
Liść 

Wiek: 32
Dołączył: 01 Cze 2010
Posty: 21
Wysłany: Wto Cze 01, 2010 9:50 pm   

Mój zestaw EvB 4.1
Jestem świeżo po kompilacji(a raczej avrdude) i się przestraszył :

debian:/home/artur/avrdude-5.8# ./avrdude -C avrdude.conf -c duemilanove -P /dev/ttyUSB0 -p m16 -F -u eeprom:w:BOOTLOADER-m16.hex
avrdude: BitBang OK
avrdude: pin assign miso 3 sck 5 mosi 6 reset 7
avrdude: drain OK

ft245r: bitclk 230400 -> ft baud 115200
avrdude: ft245r_program_enable: failed
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA16 is 1E 94 03

avrdude done. Thank you.
Ostatnio zmieniony przez Liść Sob Paź 30, 2010 10:50 am, w całości zmieniany 1 raz  
 
     
Liść 

Wiek: 32
Dołączył: 01 Cze 2010
Posty: 21
Wysłany: Sro Cze 02, 2010 8:13 am   

Zabieram się do pobierania i kompilacji tego:
FTlab (A multi-platform GUI that allows you to inspect and modify the EEPROM of the FT232 line from FTDI. Also lets you send and receive data using all the bit bang modes.)
http://sourceforge.net/projects/ftlab/
 
     
michal.bedzin 
Michał

Dołączył: 30 Lip 2009
Posty: 13
Skąd: Będzin
Wysłany: Nie Lip 11, 2010 4:17 pm   

Liść napisał/a:
Jestem świeżo po kompilacji(a raczej avrdude) i się przestraszył :

debian:/home/artur/avrdude-5.8# ./avrdude -C avrdude.conf -c duemilanove -P /dev/ttyUSB0 -p m16 -F -u eeprom:w:BOOTLOADER-m16.hex
avrdude: BitBang OK
avrdude: pin assign miso 3 sck 5 mosi 6 reset 7
avrdude: drain OK

ft245r: bitclk 230400 -> ft baud 115200
avrdude: ft245r_program_enable: failed
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA16 is 1E 94 03

avrdude done. Thank you.



Przecież samo Ci napisało że podałeś zły procek. Albo z kablami masz cos nie tak.

edit: 4 VIII 2010

Spróbuj ograniczyć prędkość portu uzupełniając o
-b 19200

Jechałeś na pełnej prędkości i mogły być błędne dane.
 
     
maciekw 

Dołączył: 20 Wrz 2010
Posty: 8
Wysłany: Czw Wrz 23, 2010 8:55 pm   

And-Tech napisał/a:
AVRDUDE ze specjalnie przygotowanymi plikami

Czy to jest standardowe avrdude, czy zostało w jakiś sposób zmodyfikowane?

michal.bedzin napisał/a:
Instrukcja dla osób korzystających z OS Debian/Ubuntu

Jeszcze nie programowałem, ale ładnie się skompilowało na Ubuntu 10.10 i gada elegancko z uC. Odczytałem dane z pamięci - 60,7 KB (62194 bajtów).
 
     
pancio.net

Dołączył: 25 Sie 2010
Posty: 16
Wysłany: Pon Wrz 27, 2010 11:07 am   

a czy procek zaczyna normalnie pracować? Czy wisi po programowaniu (odczycie też) do momentu odłączenia kabelka USB? Reset nie pomaga, trzeba odłączyć :-(

Pozdrawiam,
_________________
EvB 4.3@ATMEGA32&S1D15705.RB/GB
 
     
tomec 

Dołączył: 10 Paź 2010
Posty: 1
Wysłany: Pon Paź 11, 2010 5:05 pm   

Witam, Czy można prosić o plik Bootloadera do Atmega8? Znalazłem dwa na elektrodzie tylko że programem Megaload nie mogę wgrać pliku HEX do procka :sad:
I mam pytanko, czy po podłączeniu atmegi 8 z wgranym bootloaderem, powinien działać przycisk reset na płytce EvB 4.3, tak jak to działa na atmedze16np ??

Pozdrawiam
 
     
Liść 

Wiek: 32
Dołączył: 01 Cze 2010
Posty: 21
Wysłany: Sob Paź 30, 2010 10:53 am   

michal.bedzin napisał/a:
Liść napisał/a:
Jestem świeżo po kompilacji(a raczej avrdude) i się przestraszył :

debian:/home/artur/avrdude-5.8# ./avrdude -C avrdude.conf -c duemilanove -P /dev/ttyUSB0 -p m16 -F -u eeprom:w:BOOTLOADER-m16.hex
avrdude: BitBang OK
avrdude: pin assign miso 3 sck 5 mosi 6 reset 7
avrdude: drain OK

ft245r: bitclk 230400 -> ft baud 115200
avrdude: ft245r_program_enable: failed
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA16 is 1E 94 03

avrdude done. Thank you.



Przecież samo Ci napisało że podałeś zły procek. Albo z kablami masz cos nie tak.

edit: 4 VIII 2010

Spróbuj ograniczyć prędkość portu uzupełniając o
-b 19200

Jechałeś na pełnej prędkości i mogły być błędne dane.



Procek, to ATMEGA1616PU czyli m16 lub 161, dla avrdude.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group