Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Poszukuję kursy prgramowania mikrokontrolerów ARM

elektro255 10 Sie 2006 19:52 30860 67
  • #1 10 Sie 2006 19:52
    elektro255
    Poziom 14  

    Witam, widziałem kurs programowania ARM w EP niestety spoznilem się i nie kupiłem poprzednich numerów bo prenumeruję tylko EdW.
    Czy mogł by ktoś zrobić skany tego kursu, mam wakacje i chętnie bym poczytał.

    Pozdrawiam

    0 29
  • #2 10 Sie 2006 20:04
    Dexter77
    Poziom 28  

    W poprzednich numerach sa w zasadzie ogolne iformacje jakich wiele znajdziesz w internecie. Dopiero w numerze 7/2006 jest poczatek ktory by mozna nazwac kursem programowania. Chociaz niewiele tego jest.
    Pozdrawiam
    Dexter

    0
  • #3 10 Sie 2006 21:28
    elektro255
    Poziom 14  

    własnie mi potrzebne są ogólne informacje bo nie wiem od czego zaczac zabawe z procesorami ARM, dotychczas używałem AVR ale chcę się zagłebić w nowsze technologie.

    0
  • #4 10 Sie 2006 22:29
    upanie
    Poziom 21  

    Jak umiesz programować w C i znasz architekturę procesorów (np. AVR) to nie wiele Ci trzeba. Wystarczą dokumentacje do konkretnych procków. Polecam zacząć od rodziny AT91SAM7 (ATMEL) lub LPC (PHILIPS). Trochę kodów przykładowych (ATMEL i PHILIPS dają mnóstwo) np. FreeRTOS.
    Fakt, że powinieneś znać trochę angielski bo po polsku to chyba niewiele uświadczysz.
    Jak znasz lub wybierzesz gcc jako kompilator to przyda Ci się ta strona:
    http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index.html

    Jak masz jakieś konkretne pytania to wal jak w dym.
    powodzenia

    0
  • #5 11 Sie 2006 11:28
    adammruk
    Poziom 16  

    Chciałbym się nauczyć GCC ale troche trudny jest :( a macie może jakieś podstawy GCC albo skany z EdW albo EP nie pamiętam dokładnie?Wtedy bym się zabrał za ARMy :)

    Aha jak coś to uczę się C na '51 (KEIL), dużo on się różni od GCC i który jest łatwiejszy?

    0
  • #6 11 Sie 2006 20:08
    elektro255
    Poziom 14  

    angielski znam ale przyjemniej sie czyta po polsku a znam asembler dla x86 i nie obiektowe języki (delphi, basic, c), własnie mam zamiar sie nauczyć cpp dla armów (z obiektowych troce jave umiem)

    upanie, http://www.allegro.pl/item119141031_at91sam7s256_atmel.html
    myślisz że temn będzie dobry jak na początek ? chyba bedzie problem ze zrobieniem płytki i wlutowaniem czegoś takiego :)

    0
  • #7 11 Sie 2006 22:05
    Dexter77
    Poziom 28  

    Delphi to srodowisko programistyczne (IDE) i zastosowany tam jezyk to Object Pascal, czyli jak juz sama nazwa wskazuje jest to jezyk obiektowy. Co do lutowania to jest problem ze wszystkim co ma rozstaw mniejszy niz 0.8mm Bez grota minifala i odpowiedniego topnika jest bardzo ciezko. Da sie ale trzeba miec nerwy i spora wprawe w lutowaniu.
    Pozdrawiam
    Dexter

    0
  • #8 11 Sie 2006 22:54
    upanie
    Poziom 21  

    Cytat:
    upanie, http://www.allegro.pl/item119141031_at91sam7s256_atmel.html
    myślisz że temn będzie dobry jak na początek ? chyba bedzie problem ze zrobieniem płytki i wlutowaniem czegoś takiego Smile

    Bardzo dobry. Nie wiedziałem, że da się je kupić za 21 zeta ;) Nie wiem jednak czy to nie są próbki a to byłoby nieładnie kupować a jeszcze nie ładniej sprzedawać coś takiego.
    Z wlutowaniem nie ma problemu jak masz płytkę. Nie jest nawet potrzebna jakaś specjalna lutownica. Mi wystarczył jakiś stary elwik a wprawy w lutowaniu SMD (tak małych bo ten scalak ma raster 0.5mm) nie miałem. Udało mi się nawet wylutować taki scalak i wlutować w jego miejsce drugą sztukę (te delikatne scalaczki nie lubią mieć na wyjściach -20V ;) ).
    Zaprojektowanie płytki do niego to pryszczyk, zrobiłem taką dlatego mogę służyć doświadczeniem.
    Cytat:
    własnie mam zamiar sie nauczyć cpp dla armów

    cpp to cpp nie ma jakiejś specjalnej odmiany dla ARMów.

    Zasada jest taka:
    1. Trzeba mieć jakieś środowisko (mogę służyć pomocą do gcc)
    2. Trzeba mieć
    a) rozbiegówkę - kod startowy napisany w assemblerze
    b) skrypt linkera - plik opisujący rozkład pamięci w procesorze
    3. Trzeba umieć pisać programy w C/C++
    4. Trzeba mieć chęci bo bez tego nawet 100 elektrod nie pomoże

    Rozbiegówkę i skrypt linkera można zassać z jednego z wielu kodów przykładowych, które można pobrać choćby od producenta procków.
    Obydwa pliki są ściśle związane z konkretnym procesorem. Dla wszystkich ARMów 7 pliki te są w ok 95% identyczne. Różnice są minimalne ale jednak są. Dotyczą głównie rozmiaru i adresów pamięci jak i wektorów przerwań. Często rozbiegówki również ustawiają podstawowe paramtery sprzęt jak np. PLL (ale to można wywalić do pliku w C). Dobrym źródłem tych plików jest strona www.freertos.org Jest tam sporo przykładów dla różnych procesorów m.in. dla AT91SAM7S256.

    Co do GCC to najistotniejsze jest mieć na początku skonfigurowane środowisko i jak się nie umie pisać makefile-ów to dobrze jest wziąć przykładowy (np. z www.freertos.org) i dostosować go do swoich potrzeb. Dostosowanie polegać będzie najczęściej na zmianie listy plików wchodzących w skład projektu.

    Za kilka dni napiszę jakiś krótki wstępniak jak używać GCC, OpenOCD i Wiggler JTAG dla ARMów i dam na elektrodzie znać gdzie jest. Dokładnie teraz nie mogę powiedzieć kiedy to będzie bo mam na głowie dwa projekty, pracę zarobkową (w firmie) i do tego jeszcze wziąłem się za poprawianie, a w zasadzie dostosowywanie do swoich potrzeb, kicad-a.

    Ja pierdziu, ale się napisałem ;)

    powodzenia

    0
  • #9 12 Sie 2006 11:19
    mariuz
    Poziom 32  

    http://www.sklep.avt.com.pl/go/_info/?id=47005

    Dla prenumeratorów EdW powinno by na to 50% zniżki. Dostalem w sierpniowa gazetka kartke ze jestanto rabat 50% (chyba :? )

    Przejrzyj spis tresci i zdecyduj. spytaj handlowych z AVT o ta prenumerate

    pozdrawiam

    0
  • #10 12 Sie 2006 11:24
    Dexter77
    Poziom 28  

    Mam ten numer i szczerze powiedziawszy jestem zawiedziony. Nic tam nie ma w zasadzie. Zebrane do kupy artykuly z poprzednich numerow EP. Informacje ogolne jakich wiele juz sie przewijalo. Na plytach posciagane rozne noty katalogowe ze stron producentow i narzedzia. Jesli ktos ma modem to fakt sie taka gazeta przyda bo sciagniecie 1GB danych mogloby zaowocowac zawalem serca ;) IMHO nie warto.
    Pozdrawiam
    Dexter

    0
  • #11 12 Sie 2006 14:53
    upanie
    Poziom 21  

    Jestem tego samego zdania co Dexter77. Nic ciekawego, same ogólniki. Można mimo wszystko kupić bo to nie jakieś zaporowe pieniądze a można tam znaleźć zestawienie procków wielu producentów. Nic poza tym ciekawego nie znalazłem.

    upanie

    0
  • #12 29 Sie 2006 22:56
    bolek
    Specjalista - oświetlenie sceniczne

    Witam, też mam ochote zabrać sie za ARMy, powiedzcie mi czy procki Philipsa i Atmela są ze sobą zgodne pinowo i w kwestii programowania? O zgodność pinową to chodziło mi o to samo jak z 51kami i AVR.
    Inna kwestia, słyszałem że lepiej zaopatrzyć się w ARMa philipsa, jakie jest zdanie osób które bawiły jednym jak i drugim procem?

    -> UPANIE, jak tam sprawa wyglada z tym wstępnikiem do programowania. Nie wiem nawet w czym to pisać... jak do tej pory to pisze tylko w asm na 51

    0
  • #13 30 Sie 2006 08:13
    Father
    Poziom 26  

    ARM-y Philipsa i Atmela nie są zgodne pinowo, a co do oprogramowania to w zasadzie programy pisze się tylko w C, więc kod jest uniwersalny, aczkolwiek przeszkodą mogą być różnice w peryferiach więc, program musiałby być pisany tak, aby odwołania do sprzętu były wyodrębnione w osobnych funkcjach. Przy wyborze ARM-a należy się kierować w zasadzie pojemnością pamięci i wyposażeniem w peryferia np. różnica między Philipsem i Atmelem jest taka, że Atmel ma wbudowany kontroler DMA, co jest bardzo przydatne przy operacjach I/O...

    0
  • #15 30 Sie 2006 15:08
    Fajfer2
    Poziom 20  

    Na początek kup sobie jakąś książkę do C (nie na uC, tylko PC),poćwicz
    na zwykłym DOS-owym C (można go sobie za darmo z neta zgrać)
    ( ja mam książkę "Język ANSI C" - Brian W. Kernighan - jest wg.
    mnie b.dobra, zwłaszcza dla początkujących)
    Teraz piszę w SDCC - w ciągu 2 miesięcy można było pokapować
    o co chodzi i napisać użyteczny program na T89C51AC2
    Różnica pomiędzy PC a uC (w programowaniu) to tyko warstwa sprzętowa

    0
  • #16 30 Sie 2006 15:30
    adamusx
    Poziom 27  

    Ostatnio znalazlem na necie dość ciekawy kursik jezyka C. Opisane sa dokladnie i zrozumiale wszystkie najwazniejsze elementy jezyka C wraz z przykladami. Jak ktos zaczyna nauke z C to polecam ten kursik, a jesli ktos zna C to warto siegnac dla przypomnienia.

    Co do srodowiska programowania ARMow chyba najlepiej wybrac GCC bo darmowy i jest duzo przykladow. Polecam eclipse polaczone z WINARMem (lub GNUARMem, lecz trzeba dodatkowo odpalac Cygwina)



    Poza tym niebawem bede mial plytki evaluacyjne dla mikrokontrolerow AT91SAM7S (plyta + minimodul) . Plytky te sa "zgodne" z plytami evaluacyjnymi Propoxa http://www.propox.com/products/t_134.html " target="_blank" rel="nofollow" class="postlink "> http://www.propox.com/products/t_134.html
    Jesli ktos jest zainteresowany prosze o info na gg.

    0
  • #17 30 Sie 2006 19:00
    bolek
    Specjalista - oświetlenie sceniczne

    bo słyszałem że w kwesti programatora lepsze są LPC niż atmel
    ->Adamusx też mam ochote na tą płyte, tylko szkoda że będzie można wsadzić i testować tam tylko ATMELE. Do tej płyty trzeba jeszcze jakiś programator dokupić?

    0
  • #18 30 Sie 2006 20:30
    adamusx
    Poziom 27  

    Do programowania mozna uzyc popularnego Wigglera (Jtag). Mozna tez programowac za pomoca programu Samba przez USB. Jakby co to plytki do Wigglera tez do tego bede mial :) Plyta moze sie takze nadawac do innych procesorow, nalezalo by tylko zaprojektowac odpwiedni minimodul. Narazie zrobilem minimodul dla SAMa, jak bede mial czas i checi to zrobie dla LPC.

    0
  • #19 30 Sie 2006 20:54
    upanie
    Poziom 21  

    Cytat:
    -> UPANIE, jak tam sprawa wyglada z tym wstępnikiem do programowania.

    :( No niestety od 3 tygodni nie mam czasu nawet porządnie się wyspać. Na elektrodę nawet prawie nie zaglądam. Sorki :cry:
    Cytat:
    bo słyszałem że w kwesti programatora lepsze są LPC niż atmel

    Nie prawda. LPC21xx możesz programować przez RS232 podczas gdy AT91SAM7S możesz programować przez RS232, USB i JTAG. Oczywiście LPC też można programować przez JTAG ale jest to jakaś masakra ze względu na utajniony sposób programowania FLASHa.
    Ja używałem w pracy LPC a prywatnie SAM7S i dla mnie wygrywa SAM7S. Więcej pamięci, DMA i nie ściemniają w dokumentacji. Wszystko działa niemalże od razu a w LPC zawsze były jakieś mniejsze lub większe problemiki, niuanse. Jednym słowem polecam ATMELa a nie PHILIPSa.

    upanie

    0
  • #20 30 Sie 2006 21:10
    bolek
    Specjalista - oświetlenie sceniczne

    a w jaki programator się zaopatrzyć, wiadomo przydało by sie coś taniego. Ten na RSa to zapewne najtańsza wersja- MAX i kilka kondensatorów...?

    0
  • #21 30 Sie 2006 21:48
    upanie
    Poziom 21  

    To zależy jaki sposób programowania wybierzesz:
    1. RS (DBGU) - tylko konwersja poziomów czyli MAX232 + kondziołki
    2. USB - złącze i kilka drobnych elemencików
    3. JATG - programator WIGGLER. Można go kupić za kilkadziesiąt zł. albo zrobić samemu za ok. 5 zeta. Do tego soft np. z http://kjell.e.andersen.googlepages.com/

    upanie

    0
  • #22 30 Sie 2006 21:57
    mikroprocesor_pl
    Poziom 12  

    Cytat:
    Oczywiście LPC też można programować przez JTAG ale jest to jakaś masakra ze względu na utajniony sposób programowania FLASHa.


    Darmowy Open OCD bez problemu programuje ARMy Philipsa przez JTAGa. Ja mam tak skonfigurowane środowisko, że kwestie flashowania LPC2000 załatwiam jednym przyciskiem w Eclipse :).

    Dla pracujących w Windows polecam pakiet Yagarto: http://www.yagarto.de/ .

    0
  • #23 30 Sie 2006 22:22
    bolek
    Specjalista - oświetlenie sceniczne

    no bo myślałem o czymś takim http://www.propox.com/products/t_122.html
    Też bym chciał, tylko klinkąć i mieć wsad w procku, drażni powoli zmienianie okieniek pomiedzy komilatorem i programatorem, pozatym do kabka RS trzeba jeszcze ARMa przełączać w tryb loadera

    0
  • #24 31 Sie 2006 18:36
    upanie
    Poziom 21  

    Oczywiście nikomu nie polecam programowania przez RSa. Jak możecie to programujcie przez JTAGa. Co do wprowadzania procka w tryb programowania to w LPC nawet tego nie zauważysz. W AT91SAM7 jest to upierdliwa procedura.
    Co do utajniania programowania FLASHa w LPC to jest prawda. Nie wiedzieć czemu PHILIPS nie chce ujawnić rejestrów i sposobu bezpośredniego programowania tej pamięci. Dlatego stworzył IAP i ISP. Jest tak dziwaczne podejście, że aż się odechciewa człowiekowi nad tym zastanawiać. Dlatego programator (np. OpenOCD) wgrywa do ramu specjalny program odpala go i za pomocą komend IAP programuje FLASHa. Można i tak a właściwie nie ma innego wyjścia. To tak jakby drapać się w lewe ucho prawą stopą.

    upanie

    0
  • #25 06 Wrz 2006 10:49
    elektro255
    Poziom 14  

    Witam, dzisiaj przyszedł do mnie mikrokontroler AT91SAM7S256 i mam pare pytań:
    Przeczytałem skrót noty katalogowej i tam jest opisana jakaś SAMBA :) przez którą można programować, jednak nie wiem czy będzie wystarczająco szybkie.
    upanie, jeśli możesz to opisz czego tyczy się ta upierdliwa procedura programowania, najlepeij by było gdyby była jakać możliwość programowania procka jednym kliknięciem w kompilatorze, czyli prosty i szybki proces programowania.

    2. Jakie środowisko programistyczne jest najlepsze do ARMów? ściągnołem ADS 1.2 z code warior, jednak jest on jakiś szary :) kolorowania sładni też prawie nie ma (koloruje na niebiesko tylko etykiety), ale można w nim jednym przyciskiem wszystko skompilować, łątwo się też debugguje.
    Gdzieś widziałem coś o eclipse, jednak on chyba jest przystosowany do Javy, ale jeśli dało by się przystosować do ARM to napewno składnia była by bardziej kolorowa :)
    (chcę programować na początku w ASM (ARM i Thumb) a potem sie przezucić na C i C++)

    3. Jaki JTAG, czy wystarczy mi najprostrzy JTAG z kilkoma rezystorkami i wtyczką do LPT ? Czy trzeba kombinować z jakimiś atmeklowymi ICE'ami

    4. Jaki kwarc? W internecie coś piszą że do USB musi być specjalny kwarc, ale czy wtedy będą dobrze działąły uarty i czy procek będzie miał maksymalną wydajność ? Jaki będzie optymalny kwarc do nauki programowania ?

    mam nadzieję że ktoś znajdzie chwilkę żeby to przeczytać i nakierować mnie trochę :)[/url]

    0
  • #26 06 Wrz 2006 13:50
    upanie
    Poziom 21  

    Cytat:
    upanie, jeśli możesz to opisz czego tyczy się ta upierdliwa procedura programowania

    https://www.elektroda.pl/rtvforum/viewtopic.php?p=2878380#2878380
    Cytat:
    4. Jaki kwarc?

    Ażeby używać usb musisz mieć kwarc 18.432MHz i już. UARTy działają dobrze przy takim kwarcu.
    Cytat:
    3. Jaki JTAG, czy wystarczy mi najprostrzy JTAG z kilkoma rezystorkami

    Zależy do czego. Większość darmowych narzędzi właśnie z takiego korzysta. Są też narzędzia komercyjne, które również z niego korzystają np. Rowley. Ale dla takich narządów jak keil, iar czy pathfinder to niestety potrzebne są drogie przejściówki USB<=>JTAG.
    Cytat:
    2. Jakie środowisko programistyczne jest najlepsze do ARMów?

    ADS jest drogi jak diabli. Możesz keila (są jakieś darmowe wersje z ograniczeniami). Jest pakiet GNUARM, który zawiera wszystko co potrzeba ale trzeba się znać na mekefile-ach, gdb, gcc. Można użyć nakładek na gcc takich jak eclipse czy rowley (może nawet DevC++), jest ich sporo.

    0
  • #27 08 Wrz 2006 17:02
    Quebec
    Poziom 12  

    Witam.
    Odnośnie IDE do pisania w C/C++ polecam wszystkim CodeBlocks:
    http://www.codeblocks.org/.

    Codziennie chłopaki umieszczają na forum nową wersje programu.
    Pozdrawiam serdecznie.

    Quebec

    0
  • #28 09 Wrz 2006 06:57
    upanie
    Poziom 21  

    OT:
    Code::Blocks na początek wygląda całkiem nieźle :) Opcje kompilatora budzą szacunek. Jeśli tylko wszystko działa to wielki brat jest pod wrażeniem.

    0
  • #29 09 Wrz 2006 16:35
    elektro255
    Poziom 14  

    a może ma ktoś gotowy footprint LQFP64 do AT91SAM7S256 do protela 99se, bo nie znam zbyt dobrze tego programu a nie chciał bym się bawić z kilkukrotnym rysowaniem, drukowaniem i przymierzaniem procesorka.

    0
  Szukaj w 5mln produktów