Tematika

Bevezetés

Bevezetés

A mikrovezérlők rövid történelme. A 8 bites mikrovezérlők fejlődése, a 32 bites mikrovezérlők megjelenése. A jelenleg piacon kapható generációk felbukkanása és fejlődése. A legelterjedtebb architektúrák felsorolása, várható jövőbeli trendek bemutatása. Az ARM7 processzormag mint a Cortex M sorozatok közvetlen elődjének bemutatása: belső felépítés, utasításkészlet, regiszterek, megszakítás-kezelés stb.

ARM Cortex M magok

ARM Cortex M3 alap mikrovezérlő-mag, M0 fogyasztásra optimalizált és M4, M7 nagyteljesítményű magok bemutatása

Előadás:

Az ARM Cortex M magok fő jellemzői: architektúra (Miért Neumann architektúra az M0 és miért Harvard a többi M sorozat?), THUMB2 utasításkészlet (Milyen utasítások vannak, miben tér el egymástól az M0, M3, M4, M7 utasításkészlete?), pipeline felépítések és különbségek (Cortex M7 pipeline különbségei a többi M sorozathoz képest). Memóriaszervezési jellemzők: egységes címtartomány, mi a bit-banding, mi a non-aligned memória-hozzáférés? A Cortex M sorozatok programozói modellje: működési és hozzáférési módok és felhasználásuk. A Cortex M sorozatok standard perifériáinak rövid átnézése (fontosabb blokkok részletes elemzése később): system timer, NVIC, debugg blokkok. A standard perifériakészlet által nyújtott előnyök bemutatása.

ARM Cortex M magú mikrovezérlők

Az ARM Cortex M magú mikrovezérlők belső felépítésének változása az elmúlt években

Előadás:

Belső busz architektúra változása: az egyszerű AHB-APB szerkezet után az egyre bonyolultabb, több busz mastert igénylő elrendezések miatt az AHB buszmátrix kialakulása. A főbb belső busz struktúrák és a periféria-elhelyezési megoldások különböző generációi. Az SRAM tartományok több részre bontásának értelme és folyamata az egyes generációknál. Különbségek az M0, M3, M4, M7 sorozatú vezérlők belső felépítésében. A belső felépítés elbonyolódásának hatása a rendszer többi részére.

A rendszervezérlő blokk felépítése és feladata, a reset utáni elindulás folyamata

Előadás:

A flash gyorsító modul megjelenése és változása a különböző ARM Cortex generációknál. A bonyolult belső felépítéshez tartozó órajel-hálózatok megjelenése és főbb funkciói. A reset utáni elindulás folyamata, a tipikusan választható boot opciók ismertetése.

A piacon kapható ARM Cortex M alapú mikrovezérlő sorozatok

Előadás:

Az ARM Cortex M mikrovezérlő sorozatok bemutatása: TI, NXP, ST, Silabs, Atmel sorozatai. Az egyes sorozatok jellegzetességei, elhelyezkedésük a teljesítmény, programmemória, perifériakészlet, ár, fogyasztás koordinátarendszerben. Benchmark eredmények az egyes sorozatok teljesítményének összehasonlítására.

Szoftverfejlesztés ARM Cortex M magú mikrovezérlőkre

A CMSIS szabvány bemutatása

Előadás:

Cortex Microcontroller Software Interface Standard (CMSIS) felépítése, a verziói által lefedett terület fejlődése. A CMSIS core feladatai: a rendszer header fájlok szerepe, a SystemInit függvény működése, és a startup file felépítése. A Core peripheral függvények szerepe, a mikrovezérlő gyártók által a perifériák kezeléséhez nyújtott támogatás szabályozása. A CMSIS 4.2-es újdonságai: Driver API, DSP library stb.

ARM Cortex mikrovezérlők alacsony szintű programozása

Laborgyakorlat:

A CMSIS szabvány támogatására alapuló egyszerű feladatok. Mi történik a mikrovezérlő elindulásakor, hogyan áll össze a C környezet, hogyan jut el a program a main kulcsszóig. Egy egyszerű perifériakezelés programozása CMSIS definíciók alapján. A bit-band funkcionalitás és a speciális utasítások alacsony szintű kezelésének gyakorlása.

Magas szintű firmware library-k és perifériakezelő könyvtárak és az ezeket támogató IDE-k

Előadás:

Az egyes gyártók által nyújtott perifériakezelő firmware library támogatások bemutatása. A CMSIS Driver API lehetséges jövőbeli szerepe. Az NXP firmware library-je. Az ST Cube platformjának perifériakezelés támogatása, a Silabs firmware library-je által nyújtott lehetőségek hasonlóságai és különbségei. Gyári Keil, IAR fejlesztőkörnyezetek, és a Coocox fejlesztőkörnyezet tulajdonságai, rövid bemutatása.

Laborgyakorlat:

Egyszerű perifériakezelés firmware library támogatással, valamint bonyolultabb feladatok ellátása megszakításkezeléssel és DMA átvitellel. Az USB device és host működést támogató könyvtári stack-ek használata a gyakorlatban.

Az ARM CMSIS RTOS API és használata Cortex M mirkovezérlő sorozatokon

Előadás:

A CMSIS RTOS API felépítése és definíciói, third party operációs rendszerek portolása a Cortex M mikrovezérlőkre és a CMSIS RTOS API-hoz.

Laborgyakorlat:

Portolás és alapszintű funkciók, valamint olyan magasabb szintű trükkök szemléltetése, mint a memóriakezelési támogatás, a futásidő-monitorozás és stackméret-figyelés.

Az mbed fejlesztőkörnyezet

Előadás:

Az mbed fejlesztőkörnyezet bemutatása. Célok és koncepciók fejlődése az online compilertől a kiexportálható verzióig. Az mbed szoftverarchitektúra réteges szerkezete, az mbed OS által nyújtott IoT (Internet of Things) irányba mutató támogatások bemutatása, az mbed Device Server szerepe. Az mbed HDK hardware development kit felépítése és alkalmazása.

Laborgyakorlat:

Egyszerű feladat elvégzése az mbed környezetben.

Specialitások

Az ARM Cortex M vezérlők debuggolása, a CoreSight szabvány alapú debug és trace blokkok

Előadás:

A tradicionális ROM monitor alapú debug rendszerek hatása a mostani rendszerekre. Egy modern debug lánc felépítése: a SWD és JTAG alapú DP-ok, az AHB-AP szerepe és tulajdonságai, a mikrovezérlő belső debug blokkjainak tulajdonsága. A GNU GDB-n keresztüli debuggolás folyamata, az RSP protokoll szerepe és tulajdonsága, az Open-OCD debug szerver működése. A CMSIS-DAP tulajdonságai is szerepe.

Az ARM CoreSight rendszer trace blokkjainak működése: az 1 bites SWV és 4 bites trace interfész, a TPIU blokk működése, az ITM, DWT és ETM blokkok által nyújtott funkcionalitások, valamint azok gyakorlati szemléltetése.

Az ARM Cortex M vezérlők energiatakarékos módjai

Előadás:

A tradicionálisan 8 bites vezérlőkben alkalmazott energiatakarékos módok és az ARM Cortex vezérlők energiatakarékos módjai közötti különbségek. A jelenleg elterjedt vezérlők milyen aktív és passzív energiafogyasztási karakterisztikákkal rendelkeznek? Miből adódnak az eltérések, mi a szerepe a back-up domaineknek? Hogyan támogatja a Cortex M sorozat mag szinten az energiahatékonyságot? Hogyan lehet aktív módban és passzív módban a fogyasztást csökkenteni? A Silabs Peripheral Reflex System megoldásának működése.

Laborgyakorlat:

A különböző energiatakarékos működések megvizsgálása, kipróbálása.

Kitekintés a nagyobb teljesítményű ARM Cortex sorozatok felé

Az ARM Cortex R sorozat tulajdonságai

Előadás:

A Cortex R sorozat belső felépítése: regiszterkészlet, pipe-line, utasításkészlet, memóriatartomány. A lock-step core-ok működése. A piacon kapható R sorozatú mikrovezérlő magok elemzése. Hogyan támogatják ezek a magok a nagy megbízhatóságot? Milyen beépített hibavédelmi és hibadetektálási, önteszt funkciókkal rendelkeznek?

Cortex A sorozatú maguk bemutatása

Előadás:

A főbb Cortex A sorozatok tulajdonságai és képességei, a legelterjedtebb A sorozatú vezérlők felépítése és képességei. Szoftverfejlesztési módszerek az A sorozatú vezérlőkre.

Heterogén, több Cortex magú vezérlők

Előadás:

A piacon kapható heterogén, több magú vezérlők működése, az NXP4300-as sorozatának felépítése a Cortex M0 és M4 mag együttes alkalmazása. A modern R és A magokat egyszerre tartalmazó sorozatok működése.

© 2010-2018 BME MIT | Hibajelentés | Használati útmutató