logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zaprogramować ARM ATMEL za pomocą ARMcable I Propox ?

PIOTOM0 26 Sty 2006 08:44 7365 13
REKLAMA
  • #1 2220315
    PIOTOM0
    Poziom 20  
    Posty: 487
    Pomógł: 15
    Ocena: 16
    Witam
    Posiadam modół MMsam7s z mikrokontrolerem ARM firmy Propox http://www.propox.com/products/t_134.html oraz ARMcable I - Programator/debugger mikrokontrolerów ARM kompatybilny z Macraigor Wiggler http://www.propox.com/products/t_122.html.

    Uczę się obsługi tego urządzonka i szukam porady jak zaprogramować procek. Niestety producent nie zamieścił instrukcji obsługi programatora na swojej stronie. Program kompiluje w CrossWorks for ARM - wersji uczelnianej i nie wiem co dalej. Jeżli ktoś ma pomysł jak zmusić programator do zaprogramowania procka prosił bym o poradę.

    Wdzięczny będę z wszystkie wskazówki imateriały dotyczące pracy z tym modułem oraz procesorami ARM firmy Atmel.

    Może istnieje inna możliwość niż ten programator np. USB lub RS232

    Pozdrawiam
    Piotr
  • REKLAMA
  • Pomocny post
    #2 2222470
    juntom
    Poziom 19  
    Posty: 216
    Pomógł: 35
    Ocena: 27
    Ja posiadam takze modul propoxa z at91sam7s256 na pokladzie. Dorobilem sobie jtag wigglera niestety takze nie udalo mi sie zaprogramowac pamieci flash. Debugowanie z ramu jest ok a flash w ni w zab :( Flash programuje wiec przy uzyciu programu SAM-BA i interfejsu USB. Meczaca jest inicjacja SAM-BA ze wzgledu na koniecznosc odczekania 10s. Po za tym jest ok, szybkosc programowania super ;) Polecam wiec ten sposob. Dla ulatwienia dorobilem na plytce rozszerzenia mikroswitch i podlaczylem do pinu tst. Na poczatek mozesz wejsc w tryb SAM-BA poprzez zwarcie pinu tst z resetem( sasiedni pin).
    pozdr.
  • REKLAMA
  • #3 2222497
    PIOTOM0
    Poziom 20  
    Posty: 487
    Pomógł: 15
    Ocena: 16
    To dlaczego piszą że jest to programator?
    Propox twierdzi że za kilka dni ukaże się opis oprogramowania procka przy użyciu tego programatorka - poczekam , a jak nie to poproszę o wyjaśnienie. Doczytałem się w EP 1/2005 o sposobach programowania ARM ATMELA który pokrywa się z Twoim rozwiązaniem.

    Dzięki za wskazówki i poradę
    Pozdrawiam
    Piotr
  • #4 2278675
    PIOTOM0
    Poziom 20  
    Posty: 487
    Pomógł: 15
    Ocena: 16
    Czekałem, pisałem, monitowałem do propoxa i nie doczekałem się odpowiedzi.
    Więc zwracam się z problemem wpisu programu do flasha do Ciebie.

    W helpie Sam-Ba doczytałem się :

    Flash an application

    1.Power on the board(s) and connect the target(s) to the PC with USB links.
    2.Launch AT91SAM-PROG application.
    3.Configure the application.
    a.If the board is not an AT91SAM7S-EK and if a led is connected to a PIO, the user can select the right PIO to turn on a led when programming is finished.
    4.Check “Set Security Bit” box to set the Security Bit once flash is programmed.
    5.Select the file to flash either with the “Browse” button or simply by dragging and dropping desired file on the application window. If “Auto-mode” box is checked, programming starts automatically.
    6.If “Auto-mode” box is not checked, click the “Write Flash” button to start flash programming.
    7.If the result is OK, the user led is turned on and the Success field is updated. If the Flash is not programmed correctly, the user led is turned off and the Failed field is updated.


    Czyli żeby zaprogramować flesza chyba nie potrzeba zwierać pinów TST ?
    Wcześniej w helpie jest napisane że procedura zwierania pinu dotyczy wpisywania danych do pamięci RAM.
    Sprawdziłem na wiglerze propoxowym i okazało się że do ram-u wpisuje się bez problemu natomiast do flesza raczej nie da rady. Więc pozostaje mi tylko wpisanie do flesza. Jeżeli mógł bym to robić bez zwierania pinów i wlutowywania się się z kabelkami było by super.


    Czy mógł byś mi napisać krok po kroku jak wpisujesz program do flesza przy użyciu tego programu. Które jumperki na płycie mają być podłączone , jak rozpoznać urządzenie usb, gdzie jest sterownik usb, jak wpisać i kasować flasza.

    Dziękuje z góry
    Pozdrawiam
    Piotr
  • #5 2281083
    juntom
    Poziom 19  
    Posty: 216
    Pomógł: 35
    Ocena: 27
    Po pierwsze używam programu SAM-BA nie SAM-PROG. Procedura programowania flasha wyglada nastepujaco:
    1/ przy wylaczonym zasialniu zwierasz pin tst z plusem,
    2/ wlaczasz zasilanie i czekasz 10 s.
    3/ wylaczasz zasilanie i wlaczasz je ponownie
    4/ odpalasz progrtamik SAM-BA, wybierasz polaczenie USB lub COM
    5/ Nastepnie na zakladce FLASH wybierasz open i wyszukujesz plik binarny z programem dla SAM-a ( z rozszerzeniem .bin)
    6/ klikasz Send File , czekasz na zaladowanie softu (ulamek sekundy dla USB)
    7/ program zapyta sie czy usunac blokade regionow , odpowiadasz tak
    8/ program zapyta czy zalozyc lock - zrobisz jak uwazasz
    9/ wylaczasz zasialnie i wlaczasz ponownie
    10/ cieszysz sie mrugajaca diodka itp. ;)
    Program SAM-PROG udalo mi sie uruchomic zaledwie kilka razy(wyskakuja rozne bledy..). Sluzy on z tego co zrozumialem do programowania wiekszej ilosci kostek SAM podczas jednej sesji programowania. Jednak programowanie flasha w tym programie i tak wymaga zaladowania wewnetrznego bootloadera, wiec zwieranie pinu tst Cie nie ominie ;) Pokrotce chodzi o to, że podczas specjalnego trybu (zwierania pinu tst do + (sa i inne warunki!) )z dodatkowej pamieci jest przepisany program bootloadera do pamieci flash, po ponownym uruchomieniu procka jest on w trybie pracy z pamieci RAM i mozliwe jest przeprogramowanie pamieci FLASH.
    Pamiec flash kasowana jest automatycznie podczas programowania choc czytalem tez, ze aby skasowac pamiec flash trzeba zewrzec pin ERASE do masy podczas wlaczania zasilania. Jest tez mozliwosc skasowania flasha poprzez uzycie komendy w programie SAM-BA.
    Ps. W styczniowym numerze EP 2006 rowniez omowione zostaly sposoby programowania procesorow ARM dla rodziny LPC i SAM7S...
  • #6 2281679
    PIOTOM0
    Poziom 20  
    Posty: 487
    Pomógł: 15
    Ocena: 16
    Dzięki - przetesuje i podzielę się uwagami.
    Mam nadzieję że będzie się programował, bo innej alternatywy nie mogę znaleść. Jak byś podpowiedział skąd czerpiesz informacje na temat ARM ATMEL , może znasz jakieś publikacje , stronki lub książki - oczywiście poza stroną atmela i at91.com .

    Swoją drogą to ciekawe dlaczego piszą że programator propoxa jest kompatybilny z Crossworks 1.5 a taka opca jest.
    Zainstalowałem sobie 30 dniową wersję , aktywowałem i niestety nie programuje pamięci flash.
    Ciekawe jaki programator Jtag to robi z corssworksa?

    Dziękuje jeszcze raz
    Pozdrawiam
    Piotr
  • REKLAMA
  • #7 2289654
    symndz
    Poziom 16  
    Posty: 211
    Pomógł: 1
    Ocena: 2
    zerknij na olimex'a tam na schemat wiglera dla arm,

    Ale swoja droga to czesty "problem" braku zwarcia odpowiednich pinow na DSUB w klonach wiglera. Przyjrzyj sie schematowi powinno byc jasne.

    Marcin


    www.embedded.org.pl
  • REKLAMA
  • #8 2356466
    PIOTOM0
    Poziom 20  
    Posty: 487
    Pomógł: 15
    Ocena: 16
    Finalnie okazało się że trzeba odpowiedni pin na płytce i wszystko zaczyna się ładnie programować spod wigllera.

    Jeśli procesor jest zabezpieczony przed odczytem w takiej sytuacji
    rozwiązaniem jest skasowanie całego procesora poprzez podanie na końcówkę ERASE wysokiego poziomu logicznego. Niestety w wersji rev1 modułu dostęp do tej końcówki jest utrudniony i wymaga nieco precyzji.

    Może się komuś przyda:)
    Piotr
  • #9 2724996
    juntom
    Poziom 19  
    Posty: 216
    Pomógł: 35
    Ocena: 27
    Dla odswiezenia przypomniec nalezy, iz wyszla nowa wersja OpenOCD umozliwiajaca zaprogramowanie pamieci flash przy uzyciu prostego Wigglera. Tak wiec do dziela.... :)
    Wiecej informacji na stronie:
    http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm
  • #10 2889123
    czarnecki
    Poziom 11  
    Posty: 12
    Mam problem. Pisze program w Keilu, on mi kompiluje na HEX. Mam programator Wiggler'a, wszystko by było fajnie gdyby nie to, że procesor nie startuje.
    Ma ktoś jakiś pomysł??
  • #11 2891021
    juntom
    Poziom 19  
    Posty: 216
    Pomógł: 35
    Ocena: 27
    No to może spróboj przy użyciu programu SAMBA przez USB lub rs.Jesli bedzie działało to znaczy, że hardware masz ok a jesli nie to pewnie soft do poprawy...
    pozdr.
  • #12 2891302
    czarnecki
    Poziom 11  
    Posty: 12
    Nie mam tych programatorów;/
    A jakie programy konwertują na elf lub t19??
    można programować go plikiem hex??
    czy lepiej tymi powyżej?
  • #13 2891384
    upanie
    Poziom 22  
    Posty: 434
    Pomógł: 33
    Ocena: 7
    Jakich programatorów. Do programowania przez USB nie potrzebujesz żadnego programatora. Procedura opisana jest w tym temacie kilka postów dalej.
    Jaki masz sprzęt i co to za program? Może problem leży w programie, który wgrywasz.
    Na elf się nie konwertuje. To jest plik wynikowy generowany przez kompilator gcc. O plikach t19 nie słyszałem, może chodzi Ci o s19 a to są pliki w formacie motoroli. Można poszukać na sieci narzędzi np. hex2s19.exe
    http://www.ezl.com/~rsch/S_Records/Hex2s19.zip
    Spróbuj programu
    http://kjell.e.andersen.googlepages.com
    Pięknie i szybko zapisuje flasha za pomocą wigglera. Jako plik wejściowy podajesz właśnie s19.
    UWAGA - musisz mieć skasowane lockbity bo inaczej wydaje się jakby się wszystko zaprogramowało a tym czasem wszystko jest po staremu.
  • #14 2892929
    czarnecki
    Poziom 11  
    Posty: 12
    Programator juz działa.
    Pisze program w keilu, a on domyślnie ma ustawiony adres startowy Flasha na 0x00100000.
    Do konwersji użyłem hex2bin -> bin2s19, gdyż hex2s19 nie działał mi.
    Aby konwersja przebiegła bez problemu należy zmienić adres startowy Flasha w keilu na 0x0, a później adres startowy flasha w programie SAM7S programmer na 0x00100000 i działa programator bez problemu:)
    Dziękuję za pomoc.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy programowania mikrokontrolera ARM Atmel AT91SAM7S z modułu Propox MMsam7s za pomocą programatora/debuggera ARMcable I firmy Propox. Użytkownicy wskazują, że programator ARMcable I nie umożliwia bezpośredniego programowania pamięci flash, lecz jedynie debugowanie z RAM. Do programowania flasha rekomendowany jest program SAM-BA, który działa przez interfejs USB i wymaga wejścia w tryb programowania poprzez zwarcie pinu tst z resetem oraz odczekanie około 10 sekund. Procedura programowania obejmuje wybranie pliku binarnego (.bin) w SAM-BA i przesłanie go do mikrokontrolera. Alternatywnie, do programowania można użyć programatora Wiggler z oprogramowaniem OpenOCD lub dedykowanymi narzędziami obsługującymi pliki w formacie s19, po odpowiedniej konwersji z formatu HEX. Wskazano również na konieczność odpowiedniego ustawienia adresu startowego flasha w środowisku Keil oraz w programie do programowania, aby proces przebiegał poprawnie. W przypadku zabezpieczeń procesora przed odczytem, rozwiązaniem jest wyzerowanie pamięci poprzez podanie wysokiego poziomu logicznego na pin ERASE, choć dostęp do tego pinu może być utrudniony w starszych wersjach modułu. Dyskusja zawiera także sugestie dotyczące schematów i poprawnego zwarcia pinów w klonach Wigglera oraz linki do zasobów i narzędzi wspierających programowanie ARM Atmel.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA