Výukové materiály k ARM

Ahoj,
doporučil by mi někdo prosím nějaké materiály pro začátečníka??

Nejvíc by se mi hodily tutorialy a kusy kódů v C (kódy jsou hodně nedostatkové zboží…)

Díky :slight_smile:

Máš na mysli nějakou víc konkrétní skupinu ARM procesorů ? Protože takhle je to moc široký od ARM7 přes CORTEX Mx až po cosi s MMU.

Chtěl bych takovej nějakej všeobecnej přehled, abych věděl, čím začít…

Předpokládám, že taková nejpoužívanější skupina jsou Cortexy M3 a M4…takže na ty bych se asi zaměřil…

Rozhodně se chci vyhnout knížce ARM pro začátečníky od BENu…když jsem se učil Atmely, tak mi to nedalo nic a litoval jsem času cesty do knihovny…

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Jestli to chces v cestine, tak to bude asi dost problem. Ja zacal tak, ze jsem si prostudoval datasheet Stellarisu LM3S od TI (ted uz je nedelaj, ale delaj jinou radu), protoze je posilal jako samply zdarma :slight_smile: Pak si stahni “Cortex-M3 Technical Reference Manual” je myslim volne dostupny. No a pak jsem zacal studiem StellarisWare (knihoven primo od TI), protoze tech registru je proti treba AVR pozehnane a tahle knihovna dost zjednodusi praci. Navic tam jsou priklady programu. STM32 ma taky knihovny od vyrobce. Jinak ta prace s nima neni o moc slozitejsi nez s AVR, jen to ma komplikovanejsi HW. Prekladac je taky gcc, pouzivam Codesourcery G++ Lite a CodeBlocks.

Tak začni s těmi výše zmíněnými třeba STM32 M3 bude pro začátek určitě stačit. Udělal jsem to taky tak když jsem začínal (koupil kit a J-LINK) Prostředí asi moc neporadím, já mám KEIL a zkoušel jsem taky IAR. Obojí dobrý. Jako literatura Ti bude stačit jak píše Kuto referenční manuál a pak datasheet. Ostatní je lepší pohledat v diskuzích. S knihovnama od výrobce bych se taky nezatěžoval. Jsou napsaný děsně univerzálně, generujou zbytečně moc kódu a občas fungujou divně. Lepší je si přečíst manuál k HW a napsat 5 řádek něčeho přehledně jednoduchýho.

Je pravda, ze s knihovnami je kod o trosku delsi. Ale zkousel jsem psat kod jak ciste pomoci registru, tak pomoci knihoven. Ale je to subjektivni vec. Skoncil jsem u knihoven. ARMy maji flash dost velkou, az budu potrebovat setrit kazdym bitem pameti, je to jina vec. Ten kod je i rychleji napsany, nemusim pokazde hledat, ktery registr a ktery bit presne je potreba nastavit. Navic knihovny Stellarisu vetsinou nastavuji registry stejne jako bych to udelal sam. Horsi je to pak s prenositelnosti kodu, ale to me netrapi. Takze nezatracuju ani jeden pristup. Rozhodne je dobre mit v tech registrech prehled a vedet jak se to dela. Jak se rika v Tankovem praporu… “dle vkusu kazdeho soudruha” :slight_smile:

No nejde jen o velikost kodu ale v urcitych situacich to nebezi moc rychle. A pak ve stelarisu jsme nasli dost chyb a o knihovne od ST pro SDIO se na jednom foru vyjadrili ze to musel napsat nekdo na drogach :slight_smile: (samozrejme nefungovala) Je to samozrejme par let zpet, ale opakovat ty pokusy se fak nechtelo…

Díky moc!!

A ještě jeden dotaz: Jakej výukovej set a programátor doporučujete?? (za rozumnou cenu)

Používám něco takovýho:
dx.com/p/mini-stm32-stm32f10 … een-157301

Programátor je dobrej tenhle:
dx.com/p/j-link-v8-arm-usb-j … ack-149039

Ja treba zadnej set nekupoval. Nechal jsem si poslat samply, navrhnul desku, postavil a bylo to. Neni to teda pro olsovy ruce, pajet ty pouzdra chce trochu cviku :slight_smile:
Programator taky ne. Programuju to pres seriovy port pres bootloader. Sice pak nejde debug, ale ten jsem nikdy nepotreboval. Ladici vypisy resim pres uart. Ale kdyz jsem si s tim hral a potreboval natahnout jiny bootloader, tak jsem to delal wigglerem. Takze pocatecni naklady, vcetne kompilatoru a IDE, nulove.

Jeste k rychlosti tech knihoven… Zatim me to nikdy nebrzdilo. Co jsem s tim zatim delal by zvladlo i AVR. Podle zdrojovych kodu tech knihoven je tam stejne jen pristup do registru, takze me osobne reci o snizene rychlosti nechavaji absolutne chladnym :slight_smile: A ano, chyby se najdou, ale ty se najdou vsude. A pak darovanemu koni na zuby nekoukej (samply zdarma) :smiley: Nemam to pro komercni ucely, je to pro me hracka pro dlouhe zimni vecery.

Ještě bys měl napsat kolik Tě ten prototyp stál peněz (čas nepočítám). Počítám že desku sis nedělal sám… nebo si to hodil na jednostránku ?

Výše odkazovaný KIT taky umožňuje nahrávat program přes seriovou linku (už zkonvertovanou na USB) a taky přes ni tisknout výpisy, takže ten JLINK mít nemusí. Opravdu si nemyslím že by to byl nějakej přínos tohle vyrábět. A to jsou na trhu ještě spousty levnějších variant například od ST nějaké ty DISCOVERY a pod. kde dostaneš za cenu nižší než jsi schopen Ty koupit materiál, KIT + JTAG-STLINK na jedný desce.

A ještě knihovny: Souhlasim že stelarisware je napsaná úsporněji než ty ST knihovny ale jsou situace kde bych je určitě nepoužil - vysoká četnost přerušení a pod. To si musí každý skusit sám.

zkus eště toto

www.cs.indiana.edu/~geobrown/book.pdf
urel.feec.vutbr.cz/MIA/2011/Lust/
urel.feec.vutbr.cz/MIA/2010/ … index.html
ucsimply.cz/

a pak samozřejmě pogooglovat diskuzní fóra (tady se ajině nevyhneš). Pro AVRka byl naprosto zlatý důl vědomostí diskuzní forum a databaze projektů avrfreaks.net

:arrow_right: administrator: přiloženy externí soubory
book.pdf (12.7 MB)

Radius: Desku jsem delal sam jednostrannou. MCU jsem dal ale na redukci na pin listu. Prinos to asi zadny nema, psal jsem to jako moznou variantu. Bavi me bastlit a za 25 let bastleni se nasbira spousta zbytku ktere je potreba nejak vyuzit :slight_smile: Navic se clovek detailne seznami s tim MCU i po HW strance. Ja vim ze soucasny trend je spis programovat a nestarat se o HW. Bohuzel to pak v extremnich pripadech dopada tak, ze programator MCU neumi spocitat odpor k LEDce a bez “specialnich vodicek a past” nic nezapaji :slight_smile:.
Souhlasim s tebou ze pouziti knihoven neni pro kazde nasazeni. Nicmene pro moje potreby to zatim vyslo efektivneji. Je lepsi misto 4x HWREG(xxx) |= yyy; napsat jen UARTCharPut(uart, char); se stejnym vysledkem.
Myslim ze rikame oba totez, jak rikas, je treba si to vyzkouset. Nekdo rad holky, nekdo vdolky :slight_smile:

Jasný, tak přes redukci…budiž.
Taky jsem pár kitů udělal ale jen když cena za dostupný produkt byla přemrštěná (ADSP21XX v letech devadesátých a pod.)

Mě prostě přišlo lepší, pokud se dotyčněj chce pustit do nové mcu platformy, že by měl začít na vyzkoušeným HW. Nebude muset řešit jestli to nechodí protože si blbě navrhnul kit a nebo jestli je chyba v softu.

Hele, ruku na srdce - rozteč 0.4mm se bez chemie pájí fakt blbě a to mám 20let praxe a doslova tisíce zapájených desek (elektronika mě živí)

hezký základy STM32F4xx (dá se aplikovat i na další ST ARM) jsou na joudove.8u.cz