Skocz do zawartości
Zaloguj się, aby obserwować  
Elvis

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

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.)

Udostępnij ten post


Link to post
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

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
Share on other sites

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.

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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ł.

Udostępnij ten post


Link to post
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 🙂

Udostępnij ten post


Link to post
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

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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ą ?

Udostępnij ten post


Link to post
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?

Udostępnij ten post


Link to post
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!

Gość
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.

Zaloguj się, aby obserwować  

×
×
  • Utwórz nowe...