Skocz do zawartości

[Programowanie] Jak rozpocząć przygodę z ARM-ami (wersja szybka, choć droga)


Elvis

Pomocna odpowiedź

SUPER

Wreszcie ktoś zabrał się za opis startu w ARMy... Dzięki

Planujesz może przy okazji opisać tworzenie jakichś przykładowych

programów

I czy są może jakieś kompilatory typu free...

(tzn. na licencji GNU/Freeware/itp.)

Link do komentarza
Share on other sites

Tak, będą przykładowe programy.

Kompilatory jak najbardziej są. Nawet CrossStudio bazuje na darmowym gcc.

Problem z darmowymi kompilatorami to skonfigurowanie środowiska - wcale nie takie łatwe na początek.

CrossStudio daje ten komfort, że w 1 dzień można mieć działający program na ARM. Natomiast uruchomienie eclipse + yagarto trochę zajmuje (długo czytałem dokumentację zanim połączyłem się z prockiem).

Planuję napisać 2 artykuły:

* pierwszy, jak szybko zacząć przygodę z arm-ami

* drugi jak tanio zacząć

Niestety tanio znaczy trudniej

Link do komentarza
Share on other sites

Fajne fajne szkoda ,że drogie jak pieron.

Ja bym proponował takie rozwiązanie :

Moduł ZL10ARM_2142 z ARM LPC214x za 81.15 + 22% Vat co daje ok. 100 zł

w kamami i tyle chyba wystarczy ? Programator do tego to ISP/IAP do

zmontowania w domu za kilka złotych zresztą schemat podany w instrukcji obsługi modułu.

A do programowania program ARM Flash Utility. Co prawda nie ma wtedy

możliwości debugowania gdy się ma programator ISP ale na początek na pewno wystarczy taki programator trzeba będzie tylko uważnie pisać kod.

A jak już ktoś nie ma co rozbić z kasą to można kupić programator ZL14PRG i ma się

JTAG ale koszty są wtedy większe.

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

Moduł w propox jest jeszcze nieco tańszy - 79zł + vat. Co prawda LPC2138 zamiast 2148, i nie ma baterii dla RTC.

Planowałem następny artykuł o takiej wersji.

Konieczny jest konwerter RS232 - 3.3V. Można dodać jeszcze resetowanie procka przez RS, łatwiej wtedy wgrywać.

Ogólnie to LPC2000 Flash Utility nie jest już rozwijany i bywają z nim problemy. Lepiej użyć FlashMagic.

Link do komentarza
Share on other sites

Tak np. MAX232 w instrukcji obsługi ZL10ARM jest schemat takiego programatora.

Co do modułu z LPC2138 za 79 z Vat to może i taniej ale zaledwie 3-4 zł więc nie wiem

czy to jest tak wiele taniej jak i tak płaci się tu i tu dużo tym bardziej że LPC2142 jest

jednak lepszy.

Link do komentarza
Share on other sites

Z programatorem jest jeden problem - napięcie 3.3V. Nie można go podłączyć do 5V bo można procek upalić. Na schemacie jest 3.3V, ale moduł nie wystawia nigdzie 3.3, w dodatku musi być zasilany z 5V. Więc taki programator wymagałby własnego zasilania, albo projektując płytkę pod moduł trzeba uwzględnić 2 stabilizatory 5V i 3.3V.

Ogólnie pomysł jest dobry, chociaż nie taki prosty. Ale chyba wybiorę moduł kakami zamiast propoxa. Tyle że lpc2148, nie 2142.

[ Dodano: 19 Sie 09 06:29 ]

Może nie będzie tak źle. Wygląda na to, że piny potrzebne do programowania tolerują 5V. Więc można zastosować 5V zasilanie dla programatora. Trzeba będzie sprawdzić jak to działa.

Link do komentarza
Share on other sites

Z dokumentacji modułu

Moduł dipARM214x jest przystosowany do zasilania napięciem 4,4-7 VDC a wszystkie linie I/O mogą bezpośrednio współpracować z układami cyfrowymi zasilanymi napięciami 3..5V VDC.

Ja nie widzę problemu i szczerze powiedziawszy nie do końca wiem o co Ci wyżej chodzi.

Link do komentarza
Share on other sites

Niestety nie jest tak kolorowo. Piny są 5V-tolerant, ale tylko kiedy są I/O. Kiedy pełnią inne funkcje, np. ADC już nie.

Warning: while the ADC pins are specified as 5 V tolerant (see Table 58 “Pin

description” on page 69), the analog multiplexing in the ADC block is not. More than

3.3 V (VDDA) +10 % should not be applied to any pin that is selected as an ADC input

Ale ogólnie racja, można podłączyć peryferia 5V i nie będzie problemu.

Link do komentarza
Share on other sites

Tak tylko, że rozważamy kwestie programatora a jeszcze nie słyszałem by ktoś podłączał programator ISP pod piny działające jako ADC. Poza tym było by to trochę niemądre gdyby ktoś w dokumentacji modułu zamieścił sobie schemat programatora, który może zepsuć moduł.

Link do komentarza
Share on other sites

Właśnie ten schemat programatora spowodował moje wątpliowści. Zwróć uwagę, że tranzystory T1 i T2 są podłączone do 3.3V. MAX232 jest na 5V więc wygląda, że RXD i TXD działa na 5V. Myślę, że na krótką metę procesor wytrzyma 5V nawet na zasilaniu. Ale zawsze lepiej dokładnie doczytać, niż spalić.

Przy okazji - mam już programator na RS-a. Wykorzystałem moduł olimex-a, a w nim jest 3.3V wyprowadzone na zewnątrz, więc i problemu nie ma 🙂

Link do komentarza
Share on other sites

a ja chciałbym się spytać czy kupić taki programator (z tego co wiem to podobny do tego co został opisany, tylko na USB):

KT-LINK

czy może ten (zgodny z KEIL uVISION) uVISION

Ponoć ten drugi jest dużo prostszy w użyciu.

__________

Komentarz dodany przez: Nawyk

_allegro

Link do komentarza
Share on other sites

Dużo zależy od środowiska w którym zamierzasz programować. KT-LINK współpracuje z CrossStudio oraz OpenOCD.

CrossStudio to całkiem rozsądny wybór, jeśli chodzi o relację jakość/cena. OpenOCD to jeszcze tańsze wyjście - współpracuje z darmowymi narzędziami (GNU).

Natomiast narzędzia Keil-a są, delikatnie mówiąc, dość drogie. Kompilator to koszt rzędu 3000 euro.

Link do komentarza
Share on other sites

Dorwałem się do płytki EVB1pc13x Propoxa z LPC2148. Zainstalowałem CrossWorks, skompilowałem Twój program migający diodą, wygenerowałem plik *.hex i za pomocą FlashMagic i bootloadera wrzuciłem go na procka.

Wszystko ładnie poszło, ale dioda nie mruga, możesz mi doradzić co może być przyczyną ?

Link do komentarza
Share on other sites

Pamiętaj, żeby odłączyć przewód programujący - inaczej procesor będzie w trybie bootloadera.

Czyli spróbuj tak: odłącz wszystkie przewody od płytki, następnie podłącz tylko zasilanie.

[ Dodano: 17 Mar 10 10:53 ]

Szkoda, że nie uruchomiłeś JTAG-a. Łatwiej jest diagnozować błędy. Na początek można uruchomić program w trybie debug i sprawdzić czy w ogóle działa.

Przy okazji - na pewno masz LED podpięty tam gdzie był w module olimex-a?

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.