Skocz do zawartości
Elvis

[Kurs] Kurs programowania ARM cz.01 - wstęp

Pomocna odpowiedź

Lekcja 1 - Wstęp

Następna lekcja

Niniejszy kurs ma na celu ułatwienie rozpoczęcia przygody z procesorami ARM. Przeznaczony jest raczej dla osób, które już mają pewne doświadczenie w programowaniu i znają podstawy języka C. Podczas kursu będę raczej koncentrować się na aspektach charakterystycznych dla programowania ARM, niż na ogólnym opisie języka C. Osoby zaczynające przygodę z językiem C namawiam do nauki programowania na PC. Jest to o wiele łatwiejsza i szybsza metoda nauki. Programy kompilują i uruchamiają się natychmiast (odpada konieczność programowania procesora), istnieje możliwość debugowania programów. Dodatkowo przypominamy, że zagadnienia samego języka C są szczegółowo omawiane w poprzednim kursie: http://kursC.forbot.pl

Na potrzeby kursu postanowiłem wykorzystać gotową płytkę ewaluacyjną. Powód jest prosty - chodzi o naukę programowania, nie o rozwiązywanie problemów sprzętowych. Wybór padł na płytkę ZL1ARM dostępną w sklepie internetowym Kamami. Uwaga! Niestety płytka została wycofana z produkcji.

Gotowa płytka ma kilka istotnych zalet:

➕ ucząc się, mamy pewność, że część elektroniczna jest sprawna, jeśli coś nie działa, szukamy błędu w programie, a nie połączeniu układów

➕ programy przykładowe zostały przetestowane w takim samym układzie jak dostępny dla każdego czytelnika, więc powinny działać zaraz po wgraniu

➕ procesory ARM dostępne są w obudowach SMD o dość małym rastrze (0,5mm) więc ich lutowanie ręczne nie jest łatwe dla początkujących

➕ do poznania procesora mamy już gotowe peryferia

➕ płytkę można rozszerzać o nowe układy, podłączając je np. na płytce prototypowej

Płytka ZL1ARM zawiera gotowy układ mikroprocesorowy o następujących cechach:

• procesor LPC2114 (128kB pamięci programu, 16kB pamięci RAM, prędkość do 60MHz)

• 8 diod LED (wraz z układem buforującym)

• 2 porty RS232 (wraz z konwerterami napięć oraz układem resetowania)

• 1 mikroprzełącznik z opcją działania jako przerwanie

• potencjometr do testowania przetwornika A/C

• termistor podłączony do wejścia A/C

• stabilizatory napięć: 1.8V, 3.3V, 5V

• kwarc 12MHz

• gniazdo JTAG

• gniazdo do podłączenia wyświetlacza LCD

• wyprowadzenie wszystkich pinów procesora

Do pełnego wykorzystania kursu potrzebne będą:

1) płytka ZL1ARM (dostępna w Kamami)

2) zasilacz 9-12V (np. zasilacz uniwersalny)

3) przewód RS232 lub/oraz przejściówka RS232<->USB

4) multimetr

Procesor LPC2114 nie jest układem nowym. Ma kilka poważnych wad (największa do dwa napięcia zasilania 1,8V oraz 3,3V), jednak do nauki programowania jest w zupełności wystarczający. Programowanie nowszych układów (np. LPC214x) jest bardzo podobne.

Więcej informacji o procesorze LPC2114 znaleźć można na stronie producenta oraz w datasheet z ogólnym opisem procesora. Natomiast pełny opis możliwości procesora zawiera dokument zatytułowany LPC21xx and LPC22xx User manual.

Kurs dostępny będzie jako kolejne lekcje, poziom trudności będzie wzrastał wraz z poznawaniem kolejnych funkcji.

Zachęcam do własnych eksperymentów oraz dyskusji, które tematy zostały opisane zbyt ogólnie lub zbyt dokładnie.

Autor kursu:

Elvis

Pomoc przy edycji materiałów wideo, formatowaniu i publikacji:

Treker

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites
Uwaga! Dodatkowo jeśli przy składaniu zamówienia podacie hasło DIODA, dostaniecie 10% rabatu oraz programator gratis!

Mógłbym wiedzieć gdzie? Bo tam gdzie jest numer kuponu rabatowego wpisanie DIODA (Dioda, dioda) nic nie robi.

Udostępnij ten post


Link to post
Share on other sites

Hasło ma być wpisane w pole przeznaczone na komentarz.

Udostępnij ten post


Link to post
Share on other sites

ten gratisowy programator mam nadzieje że jest na USB?

Udostępnij ten post


Link to post
Share on other sites

No ja w to szczerze wątpię - najprawdopodobniej to będzie wiggler lpt (zl14prg), taki sam jak dołączany do książek wydawnictwa BTC.

Udostępnij ten post


Link to post
Share on other sites

BoBBy, dokładnie tak.

Udostępnij ten post


Link to post
Share on other sites

Jak rozumiem cena po diodowej zniżce wyniesie 89,10 PLN?

Udostępnij ten post


Link to post
Share on other sites
Jak rozumiem cena po diodowej zniżce wyniesie 89,10 PLN?

Zamówiłem, przyszło po normalnej cenie, napisali maila, że zapomnieli uwzględnić i programator doślą osobno na swój koszt.

Udostępnij ten post


Link to post
Share on other sites

a dycha zniżki co? na konto? upominaj się!

edit: z resztą wnioskując, brałeś przesyłkę za pobranie, więc dlaczego zapłaciłeś więcej? :>

Udostępnij ten post


Link to post
Share on other sites
edit: z resztą wnioskując, brałeś przesyłkę za pobranie, więc dlaczego zapłaciłeś więcej? :>

Gdyby chciał zapłacić mniej to oczywistym jest, że nie otrzymałby wcale paczki od listonosza czy na poczcie.

Udostępnij ten post


Link to post
Share on other sites

A ja się tylko zastanawiam. Po co włazić w antyczne LPC2114 ? ARM7TDMI to już powoli przeżytek. Lepiej było od razu zacząć od Cortexów-M3, gdyż te w tej chwili dominują...

Udostępnij ten post


Link to post
Share on other sites

To prawda, że wszyscy handlowcy przekonują obecnie do kupowania Cortex-Mx. Są to nowe procesory, więc obiecują niesamowite cuda.

Powód wybrania starszego procesora jest bardzo prosty - cena. Za ~89 zł dostajemy procesor z całkiem sporą pamięcią programu (128KB), szybki (60MHz), ale co najważniejsze dostajemy gotową, uruchomioną płytkę ewaluacyjną z układami peryferyjnymi.

Podobna płytka pod procesor Cortex-M3 jest znacznie droższa.

Jak chodzi o procesor, to nie zachęcam nikogo do używania LPC2114 we własnych projektach (głównie ze względu na dwa napięcia zasilające). Lepiej użyć chociażby LPC214x, czy LPC176x.

Jak chodzi o Cortex-M3, to w przypadku LPC176x jest bardzo łatwo przejść z LPC2114 - nawet nazwy rejestrów są w większości identyczne.

Udostępnij ten post


Link to post
Share on other sites
edit: z resztą wnioskując, brałeś przesyłkę za pobranie, więc dlaczego zapłaciłeś więcej? :>

Gdyby chciał zapłacić mniej to oczywistym jest, że nie otrzymałby wcale paczki od listonosza czy na poczcie.

Chodzi mi wyłącznie o to, że miał pełne prawo nie przyjąć tej przesyłki i zamówić raz jeszcze pilnując, by tym razem zniżka została uwzględniona. Ale to cięgle gdybanie tylko ;]

Udostępnij ten post


Link to post
Share on other sites

Czy ktoś jeszcze przy zamawianiu zestawu miał taki problem jak szimon?

Udostępnij ten post


Link to post
Share on other sites

Aha, jeśli chodzi o gratisowy programator, to przysłali, żadnych problemów. Więc ostatecznie zapłaciłem tę dyszkę więcej, afery bym z tego nie robił, zwłaszcza, że sami zauważyli błąd.

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, aby zacząć 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...