Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 2 gru 2024, o 23:33


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 4 wrz 2013, o 13:22 
Offline
Nowy

Dołączył(a): 05 gru 2012
Posty: 12
Lokalizacja: ok. Biłgoraja
Pomógł: 0

Witam

Posiadam jeden pliczek *.hex który zawiera obszar flash oraz eeprom Atmegi162, Teraz pytanie jak go wgrać do uP? Dysponuję pełną wersją MkAvrCalculator oraz programatorem STK500v2. MkAvrCalculator z tego co zauważyłem musi dostać dwa oddzielne pliki. Czy jest jakiś na to sposób? Czy pozostaje mi tylko PonyProg i szukanie kontrolera LPT którym podobno można załadować taki plik?

Pozdrawiam
Adrian



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2013, o 18:23 
Offline
Użytkownik

Dołączył(a): 12 mar 2013
Posty: 34
Pomógł: 0

Nieee
To co ma być w EEPROM jest w pliku .eep
to co we flash-u w pliku .hex

_________________
/*Animus aeger semper errat*/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2013, o 18:34 
Offline
Nowy

Dołączył(a): 05 gru 2012
Posty: 12
Lokalizacja: ok. Biłgoraja
Pomógł: 0

Powinno
a tutaj mam wsad "all in one" jako *.hex o wielkości pliku ok 46kB gdzie jest 1037 lini a ostatnia z adresem 0x4130 jeśli dobrze rozumiem skład hexa.

PS.
Znalazłem LPT :) i udało sie to wgrać przez PonyProga2000 wykorzystując polecenia "Write Program Memory (FLASH)" oraz "Write Data Memory (EEPROM)"
Także czasowo problem rozwiązany. Ale czy rzeczywiście nie ma na to innego sposobu??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2013, o 21:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 208
Lokalizacja: Kraków
Pomógł: 16

Jesli korzystasz z ECLIPSE mozesz w ustawieniach zaznaczyc opcje, dzieki ktorej jednym kliknieciem programujesz FLASH procesora i EEPROM



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2013, o 21:44 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

adriank napisał(a):
Ale czy rzeczywiście nie ma na to innego sposobu??

Może pokaż ten plik to zobaczymy czy nie da się go ręcznie podzielić.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2013, o 21:52 
Offline
Nowy

Dołączył(a): 05 gru 2012
Posty: 12
Lokalizacja: ok. Biłgoraja
Pomógł: 0

A możesz coś więcej przybliżyć w jaki sposób to ustawić? Bo z tego co mi wiadomo eclipse działa z AVRdude ten z kolei w swoich komendach ma opcje aby oddzielnie wskazać plik dla flash i eeprom. Dodatkowo mój programator jest ustawiony jako Atmel STK500 Version 2.x firmware na porcie avrdoper. Więc to chyba problem jest w samym AVRDude że nie przyjmuję takiego połączonego pliku?

A tak przy okazji w jaki sposób w Eclipse można załadować gotowy wsad np flasha *.hex aby go wgrać do uP? Bo niestety u mnie trzeba najpierw wskazać projekt.



Dodałem plik


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2013, o 20:36 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

1) W eclipse co ma być programowane wybierasz następująco: Project-> Properties -> AVR -> AVRDude i wybierasz zakładkę Flas/EEPROM. Pierwsze ple doyczy pamięci Flash, a drugie EEPROM. Wybierasz albo pliki wygenerowane podczas kompilacji abo inne podając ścieżkę.
2) Z tego co mi wiadomo to AVRDude przyjmuje oddzielnie plik do Flash i EEPROM
3) Widzę że masz Atmegę162 to możesz wypróbować sobie spokojnie MkAvrCalculator w wersji demo.
4) Skoro masz plik jak w załączniku to plik hex dla pamięci Flash tworzysz wyrzucając linie od adresu 4000 włącznie a zostawiając ostatnią. Dla pamięci EEPROM kopiujesz od linii :104000 do końca:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie jest jednak tak różowo, bo adresy w normalnym pliku eep są od adresu 0000 i będzie tutaj błąd. Możesz sobie wyedytować te adresy np jest tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

LB - Liczba bajtów 10 -> 16 bajtów
ADR - Adres w pamięci 4000
TR - Typ rekordu 00 - rekord z danymi
SC - Suma kontrolna
Suma kontrolna to suma wszystkich bajtów od LB do ostatniego bajtu danych obliczona w następujący sposób:
- otwierasz kalkulator, przełączasz się na widok programisty, wybierasz HEX i wybierasz Bajt
- dodajesz 10 + 40 + 00 + 00 + FF + 48 + 45 + 58 + 2D + 4F + 45 + 4D + 20 + 00 + 00 + 01 + 41 + 55 + 50 + 27
- klikasz przycisk Not
- dodajesz 1

Taką linię modyfikujesz zamieniając 4 (3 cyfrę) na 0 np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pozostaje obliczyć sumę kontrolną:
10 + 00 + 00 + 00 + FF + 48 + 45 + 58 + 2D + 4F + 45 + 4D + 20 + 00 + 00 + 01 + 41 + 55 + 50 + 27 = 30
~30 = CF
CF + 1 = D0

Zostało 11 linii. Miłej zabawy :roll:


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2013, o 20:52 
Offline
Nowy

Dołączył(a): 05 gru 2012
Posty: 12
Lokalizacja: ok. Biłgoraja
Pomógł: 0

Wow, jakoś nigdy się nie zagłębiałem aż tak w te pliki. Ale wielkie dzięki za wyjaśnienie podstawowych zasad na przykładzie. Akurat w tym przypadku jeszcze jest to do zrobienia na piechotę aby uzyskać te 2 pliki. Ale przy większych to jednak chyba warto mieć najprostszy Simple AVR ISP lub STK200 i PonyProga:) ktory sobie z tym radzi sam:)
No ale napewno przy najbliższej okazji jak bedę musiał wgrać ten wsad to przetestuję tą procedurę.
Dzięki Wielkie

Ps Gdyby ktoś miał jakieś inne sugestie dotyczące tematu (np jakis inny programator lub soft obsługujący) to bardzo proszę się nimi podzielić

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2013, o 21:11 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Jak już zaprogramujesz procesor to nie ustawiaj lockbitów tylko odczytaj w avrdude i otrzymasz dwa pliki, bo przecież pony prog nie działa na USB.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2013, o 21:17 
Offline
Nowy

Dołączył(a): 05 gru 2012
Posty: 12
Lokalizacja: ok. Biłgoraja
Pomógł: 0

Tak wiem o tym, dlatego na szybko musiałem sobie wczoraj wykonać Simple AVR ISP i szukać LPTa:) ale udało się.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO