ARM`y - początki

Witam wszystkich. Do wczoraj wystarczały mi 51`ki i AVR`y. Radziłem sobie z nimi (mam nadzieję) dosyć dobrze. W końcu jednak przyszedł czas na ARM`y. Nie chę się bawić w starter`kity, więc na początek, m.in. z powodu wbudowanego flash`a wybrałem AT91SAM7S64. Zacząłem sobie o tym wszystkim czytać, czytać..... i doszedłem do wniosku, że zaprogramowanie tego to nie jest to samo co ISP+PonyProg w AVR`ach :-) To co wiem (ale niewiele):

- bezapelacyjnie potrzebny jest interfejs JTAG. Mam zamiar wyrzeźbić coś takiego:

formatting link
to wystarczy, czy będzie "toto" współpracowało z "CrossStudio for ARM", z którego chcę korzystać? Czy "CrossStudio for ARM" jes dobrym wyborem? Załóżmy, że tak, to czy z poziomu CrossStudio przy pomocy (wyżej opisanego) JTAG`a da się załadować program do ARM`a? Jeżeli jest inaczej, to proszę o możliwie dokładne opisanie procedury programowania tego mikrokontrolera, tak krok po kroku:-) Gdzieś wyczytałem, że trzeba stworzyć sobie bootloader, załadować go do RAM`u i dobiero przy jego pomocy zaprogramować wewnętrzny flash. Rónież obiła mi się o oczy informacja o czymś takim jak "SAM-BA". Ale jak to wszystko ugryźć i nie połamać sobie na samym początku zębów? Słyszę, że dzwonią, ale nie wiem gdzie :-)

Zapewne nie jestem jedyny, który chciałby, ale nie wie do końca jak zacząć z ARM`ami przygodę. Proszę o możliwie konkretne naświetlenie tematu.

Pozdrawiam Meleks

Reply to
Meleks
Loading thread data ...

Meleks napisał(a):

Najlepszym rozwiązaniem będzie zrobienie odpowiednika WIGGLER

formatting link
. Działa na 100% z CrossStudio.

Moim zdaniem CrossStudio jest dobrym wyborem z tym ze nie jest darmowy. Jako kompilator wykorzystuje GCC. GCC jest darmowy ale płaci się właśnie za IDE i debugger który zrobiony jest rewelacyjnie. Programowanie jest banalnie proste. CrossStudio załatwia wszystko automatycznie. Czyli podłączamy JTAG i robimy start i po tym następuje automatyczne ładowanie programu do RAM lub FLASH i start procesora. Gdy nie był ustawiony break point to robi się stop na wejściu procedury main. Tak że w przypadku CrossStudio nie trzeba martwic się bootloaderami. I jeszcze ten programatorek JTAG pracuje również z GDB. Jest tylko jeden problem nie da się załadować program do FLASH tylko do RAM ale jest darmowy. Jak sie nie myle to GDB jest w zestawie

formatting link
.

Pozdrowienia framer

Reply to
framer

Dzięki za link. Właśnie oglądnąłem ten schemat i naunęło mi się parę pytań:

- co ustawia się zworkami J1 i J2;

- pinologia złącza X2 nie odpowiada standardowi złącza JTAG(14pin) Co do opisanych sygnałów na X2 to nie ma problemu. Co jednak z sygnałami na pinach 9,10,11,12 Jak to ożenić ze standardem złącza JTAG(14pin) aby było 100% prawidłowo i działało w 100% z CrossStudio? Sorry za być może banalne pytanie, ale jak mówiłem wcześniej nie miałem do tej pory z tym do czynienia i chciałbym możliwie bezboleśnie ominąć takie właśnie "banalne problemy".

No to na razie jestem pocieszony :-)

Meleks

Reply to
Meleks

Też sobie wczoraj kupiłem tego ARMa, powinien przyjść przed weekendem. :-) Mam tylko dwa pytania:

  1. Czy ByteBlasterMV, którego używam do FPGA będzie bez problemu współpracował z programami do ISP do ARMów? Niby i tu jest JTAG i tam jest JTAG, ale nie chcę się nieprzyjemnie zdziwić.
  2. Jeśli bufor jest zamontowany we wtyczce LPT, to jakiej długości kabla programującego nie należy przekraczać?

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski

Meleks napisał(a):

for ARM: R8-R11, R13, VT2, J1, J2, X2.11-X2.14 nie instalować . Z tych tranzystorów dla ARM jest ważny tylko VT1 i R12. Nie opisane piny są nieużywane. Co do standardu JTAG to może być rozbieżność w pinach tego dokładnie nie wiem. Generalnie uruchomiłem CrossWork dla płyty na bazie LPC2124 , ale z Atmelami też musi chodzić (też o tym słyszałem). Tak że proponuje porównać schemat

formatting link
i jakiś schemat do AT91SAMXXX. Jest jeszcze jedna zwora której niema na schemacie. Jak będzie potrzeba to zobaczę i podam ale nie w tej chwili. Pozdrowienia framer

Reply to
framer

No qrna, ślepota mnie ogarnia, przeca jak byk stoi :-)

Może chodzi o zworę pomiędzy pinami 8-15 na złączu do LPT (DB25)? Widziałem ją w paru innych schematach, a na tym i poprzednim moim linku jej nie ma. No chyba że jeszcze coś innego.

Pozdrawiam Meleks

Reply to
Meleks

Prosty JTAG podłączany do LPT to najmniejszy problem w przypadku ARM większym problemem jest soft który podtrzymuje danego JTAGa. Tak że trzeba patrzyć na to z czym będziemy pracować. Nie słyszałem o tym żeby jakiś soft podtrzymywał ByteBlaster dla ARM za wyjątkiem PPPCB

formatting link
. Generalnie dla ARM z programatorów JTAG pod LPT najbardziej znany jest WIGGLER (GDB ,CROSSWORK , IAR ).

W przypadku WIGGLER nie zalecane więcej niż 20cm od buforów.

pozdrowienia framer

Reply to
framer

Meleks napisał(a):

Tak , dokładnie to jest to. Ne wiem czy to wpływa na prace z Cross Work ale na GDB od 1.5 w góre to tak. Pozdrowienia framer

Reply to
framer

No to "śmy som w domie". Przynajmniej jak na razie :-) Zaopatrzony w podstawowe narzędzia (a przynajmniej w informację o nich) idę na wielką wyprawę poznawczo-badawczą :-) Jak będą jakieś problemy, to na pewno jeszcze się odezwę.

Pozdrawiam Meleks

Reply to
Meleks

On Mon, 06 Jun 2005 09:43:30 +0200, Meleks snipped-for-privacy@poczta.neostrada.pl> wrote: [.....]

Wystarczy.

IMO to dobre narzędzie. Aczkolwiek AFAIR trzeba za nie dać $500. Kompilatorem jest gcc, a debugger i IDE jest produkcji Rowley'a.

Da się załadować i da się debugować.

Regards, /J.D.

Reply to
Jan Dubiec

On Mon, 06 Jun 2005 11:05:13 +0200, framer snipped-for-privacy@go2.pl wrote: [.....]

Ten schemat z SourceForge to też jest klon Wigglera. :-) Chociaż już trochę zdezaktualizowany. W każdym bądź razie z CrossWorks chodzi bardzo dobrze.

Regards, /J.D.

Reply to
Jan Dubiec

On Mon, 06 Jun 2005 11:55:05 +0200, Meleks snipped-for-privacy@poczta.neostrada.pl> wrote: [.....]

14 pinowy JTAG dla ARM-ów już raczej nie jest standardem. Obecnie jedynym słusznym :-) złaczem jest 20 pinowe IDC preferowane przez ARM-a i Macraigora.

Natomiast JTAG jako taki AFAIK nie ma specyfikacji mechanicznej. Są tylko złącza i konfiguracje pinów preferowane przez producentów krzemu i płytek ewaluacyjnych.

Regards, /J.D.

Reply to
Jan Dubiec

Z CrossWorks nie ma problemu, natomiast problemy są gdy pracuje się z OCD Commanderem i OCDremote Macraigora. Sugeruję poszukać w archiwach comp.sys.arm wątku "Macraigor OCD Commander and Wiggler clones" z połowy stycznia. :-)

BTW. GDB 1.5??? Ja sądziłem że aktualną wersją jest 6.3 (jeśli nie ma już nowszej). :-)

Regards, /J.D.

Reply to
Jan Dubiec

Zakładając że zrobisz sobie odpowiednią przelotkę z wyjścia BB na wejście JTAG płytki z ARM-em albo po prostu umieścisz na tej płytce złącze z pinologią zalecaną przez Alterę to:

- teoretycznie (bo nie sprawdzałem tego w praktyce) będziesz mógł zaprogramować uC przy pomocy programatora z Quartusa,

- nie będziesz mógł debugować softu bo AFAIK, ponieważ AFAIK żaden z popularnych debuggerów nie supoortuje BB; chociaż teoretycznie mógłby - trzebaby wprowadzić trywialne zmiany w kodzie.

Wszystko rozbija się o to, że popularne interfejsy JTAG i oprogramowanie z nimi współpracujące po stronie portu równoległego wykorzystują różne kombinacje pinów.

Dlatego lepiej pospawaj sobie ten układ z Sourceforge'a, najlepiej z uwzględnieniem zwory pomiędzy pinami 8-15 złacza DB25 której nie ma na tym schemacie

Regards, /J.D.

Reply to
Jan Dubiec

A można namiary na aktualny schemat?

Pozdrawiam Meleks

Reply to
Meleks

Dołączę się do topiku. Czy można gdzieś kupić same płytki demo/evb/kit pod LPC2131+ lub LPC2292 ? Wyposażenie dowolne aby był UART, JTAG, wyprowadzone piny i reset:) Aktualnie mam do wyboru: rzeźbić samemu + faldruk (czas i kasa) albo import kompletnej płyty z olimex.com (kasa i szkoda układów w szufladzie).

Reply to
point

Sorry chodzili mi o OCD Pozdrowienia framer

Reply to
framer

Za duże bydlę. Ja wolę standard Atmela czyli 2x5 pinów (jak JTAG w starterkitach z AVRami albo w sondzie ATJTAGICE).

Reply to
Adam Dybkowski

Nie znam namiarów na aktualny schemat, ale poniżej jest działający schemat wypracowany wspólnie z ludźmi z comp.sys.arm - została dodana zwora pomiędzy pinami 8 i 15 złącza DB25.

Simple JTAG interface circuit. ==============================

PL1 25wayD Male PL2 20wayIDC

PL1/17-25 <--------------+-------------------------+--+-----------< PL2/4,6,8, | | | 10,12,14, | AC244 200nF = = 4.7uF 16,18,20 | +------------+ Vcc | | TDI 0v +-| 1 20 |-+--------+--+-----------< PL2/1,2 PL1/5 >-------------------| 2 19 |-+ TMS | 3 18 |-----XXXX----------------> PL2/5 PL1/3 >-------------------| 4 17 | 51R TCLK | 5 16 |-----XXXX----------------> PL2/7 PL1/4 >-------------------| 6 15 | 51R | 7 14 |-----XXXX----------------> PL2/9 PL1/8 >---+ +----| 8 13 | 51R | | | 9 12 |-----XXXX---+ PL1/15 >---+ | +-| 10 11 | 51R | | | +------------+ | | V 0v | +------------------------------------------< PL2/13 TDO | PL1/11 <---------------------------------------------+

DTC114 /-------xxxx----------------< PL2/15 RST 10k | / 51R PL1/2 >----------------XXXX--+---|< | | \ X V 47k X | X | | | V 0v V

Regards, /J.D.

Reply to
Jan Dubiec

  1. Na złączu IDC20, oprócz standartowych sygnałów, JTAG-a mogą być umieszczone dodatkowe opcjonalne sygnały RTCK, DBGRQ i DBGACK.
  2. W przypadku IDC20 przewody sygnałowe są "poprzeplatane" przewodami na potencjale GND - bez tego mogą dziać się cuda i można stracić sporo czasu zanim się dojdzie o co chodzi. :-)
  3. Przy prototypach rozmiar złącza JTAG-a w zasadzie nie ma znaczenia; przy producji seryjnej często wogóle nie używa się złącz tylko zwykłych (porozrzucanych po PCB) padów i programuje się układy za pomocą igieł testowych - vide PDA, niektóre tunery satelitane.

Regards, /J.D.

Reply to
Jan Dubiec

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.