Skocz do zawartości

Wgranie EEPROM do Attiny2313


Wojtek

Pomocna odpowiedź

Mam problem z wgraniem pliku (*EEP) do procka. Korzystam z Avr Studio do wgrywania. Program natomiast kompiluje w BASCOMIE.

Problem podobny do tego :

http://www.elektroda.pl/rtvforum/topic2065810.html

,ale dyskusja tam zamieszczona nie wiele mi pomogła z uwagi na odniesienie do stron w języku angielskim.

Korzystam z kursy Piotra Góreckiego. W programie dane do EEPROMU poprzedzam poleceniem $eeprom. W książce jest napisane ,że należy następnie wgrać plik (*EEP) do EEPROMU. Plik ten staram się wgrać przez AVR studio w wydzielonej części okna o nazwie EEPROM.

Otrzymuje komunikat:

Getting isp parameter.. SD=0x06 .. OKThe specified file is not a valid Intel HEX file

Programator mam ten, który otrzymałem razem z całym kursem. (wersja na USB) - AVTPROG2

W BASCOM-AVR kompiluje program i otrzymuje m.in pliki : HEX i EEP

W AVR-Studio w sekcji FLASH wgrywam plik HEX a w sekcji EEPROM próbuje wgrać plik EEP ale wywala ten błąd.

Czym może być to spowodowane?

Link do komentarza
Share on other sites

Wolałbym jednak obejść ten problem bez instalowania dodatkowych programów (zrozum - programowanie z użyciem 10 aplikacji na raz nie jest wygodne)

Zauważyłem że nie tylko ja mam z tym problem. Dużo ludzi przerabiających ten kurs się również na niego natknęła. Ktoś tam napisał komuś żeby zamienić polecenie $eeprom na $eepromhex ale to z kolei powoduje jakiś dodatkowy błąd w programie. BASCOM - AVR wskazuje mi na linie z poleceniem END. Mozę coś jeszcze trzeba dodać w programie gdy się używa $eepromhex?

[ Dodano: 21-02-2012, 23:12 ]

Proszę o pomoc bo bez tego nie mogę dalej realizować kursu 😕

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Standardowo Bascom kompiluje plik *.eep jako plik binarny - stad mogą pojawiać się problemy. Jeśli chcesz otrzymać w postaci hexodecymalnej musisz wpisać polecenie $eepromhex. Napisz może w którym miejscu wstawiasz to plecenie i wpisz treść błędu.

Link do komentarza
Share on other sites

'C019c 'Wyświetlanie biegnącego napisu z pamięci EEPROM
$eeprom                  'dane do zapisania w EEPROMie maja być na początku pliku
Data 140 , 134 , 136 , 198 , 134 , 255 , 142 , 163 , 175 , 255 , 136 , 199 , 199
Data 255 , 140 , 134 , 192 , 140 , 199 , 134 , 255 , 191 , 136 , 131 , 167 , 198
Data 161 , 134 , 142 , 194 , 137 , 139 , 239 , 251 , 207 , 249 , 241 , 199 , 171
Data 163 , 192 , 140 , 175 , 146 , 135 , 193 , 227 , 255 , 191 , 255 , 161 , 134
Data 146 , 207 , 194 , 171 , 255 , 191 , 255 , 140 , 251 , 163 , 135 , 175 , 255
Data 066 , 255 , 255
$data
'wcześniejsze dane pójdą do EEPROM-a, a odtąd zaczyna się program
Dim R1 As Byte , R2 As Byte , R3 As Byte , R4 As Byte
Dim Licznik As Byte , Mux As Byte ,
Config Portb = 255 : Portb = 255 : Config Portd = &B1111100 : Portd = &B1111111
Config Timer0 = Timer , Prescale = 64 : Config Timer1 = Timer , Prescale = 64
Enable Interrupts : Enable Timer0 : Enable Timer1       'odblokowanie przerwań
On Timer0 Co4ms : On Timer1 Skok       'po przepełnieniu liczników skocz
R4 = 255 : R3 = 255 : R2 = 255 : R1 = 255       'Wygasza wyświetlacz na początek

Do : Loop : End          'to jest główny program -  pusta nieskończona pętla

Skok:
Timer1 = 50000           'czas cyklu ok. 0,25s
R4 = R3 : R3 = R2 : R2 = R1       'przepisywanie kolejnych znaków w lewo
Readeeprom R1 , Licznik  'jednen nowy znak z pamięci EEPROM
Incr Licznik             'licznik liter
If Licznik = 68 Then Licznik = 0       'odczytuje 68 znaków (0...67) EEPROM-a
Return

Co4ms:                   'przerwanie co 4,096ms (bez skracania cyklu)
Mux = Mux + 1 : If Mux = 4 Then Mux = 0 : Portd = &B1111111
Select Case Mux          ' obsługa wyświetlacza
Case 0:                  '               na prawym wyświetlaczu
  Portb = R1 : Portd.3 = 0       ' wyświetl zawartość R1
Case 1:
  Portb = R2 : Portd.4 = 0       ' wyświetl zawartość R2
Case 2:
  Portb = R3 : Portd.5 = 0       ' wyświetl zawartość R3
Case 3:                  '               na lewym wyświetlaczu
  Portb = R4 : Portd.6 = 0       ' wyświetl zawartość R4
End Select
Return                   'koniec obsługi przerwania od T/C0 co 4,096ms

Powyższy kod pochodzi z kursu Piotra Góreckiego "Mikrokontrolery dla początkujących". Kiedy zobaczyłem ,że natknąłem się na problemy, zgrałem z płyty (którą dostałem razem z książką) gotowy plik źródłowy - więc nie ma mowy o jakiejś literówce itp.

Kiedy zastąpie polecenie $eeprom przez $eepromhex i sprawdzam poprawność kodu w BASCOM-AVR powstaje błąd: Error:228 Line :19 (chodzi o linie z END) DATA line must be placed after the END statement , in File :C/ ..... itd.

[ Dodano: 22-02-2012, 11:56 ]

Dlaczego programuje w BASCOM a wgrywam w AVR studio?

Dlatego, że BASCOM-AVR nie obsługuje mojego programatora (przypominam AVTPROG2 - kompatybilny z stk500) a AVR studio nie obsługuje mojego języka programowania. Efekt jest taki ,że BASCOM-AVR używam to kompilacji, a AVR studio do wgrywania softu.

Link do komentarza
Share on other sites

K.G., przez avrdude możesz zarówno programować flash i eeprom, nawet z dowolnym GUI (polecam Sinaprog lub burn-o-mat) będzie lżejszy niż AVRstudio, którego używasz tylko ułamka 😉

  • Lubię! 1
Link do komentarza
Share on other sites

W Bascomie także można używać tego programatora wybierasz STK500 native driver lub, jeśli masz zainstalowane AVR Studio wybierasz STK500 (requires stk500.exe) i podajesz lokalizację pliku stk500.exe. Tak będzie Ci dużo wygodniej się pracować. Tak jak wcześniej pisałem możesz użyć AVRDUDE + nakładki graficznej lub innego programu choćby MkAvrCalculator.

  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.