Sardsüsteemide tarkvaraarendus C/C++ keeles


Teave sellel kursusel toimuva õppe kohta.

Kursuse eesmärk: anda põhilised teoreetilised teadmised ja praktilised baasoskused, mis on vajalikud sardvara (embedded) tarkvara arendamiseks C/C++ keeles.

Õpe toimub auditoorses formaadis praktiliste tööde klassis aadressil Tartu mnt 18, Tallinn. Grupi suurus kuni 6 inimest. Õppematerjalid on hinna sees. Vajadusel antakse õppeperioodiks sülearvuti.


Sihtgrupp:

Kursus sobib teile, kui te:

  • olete pürgiv sardvaraarendaja ja soovite õppida professionaalset püsivara arendust C/C++ keeles;
  • olete C/C++ arendaja (desktop) ja soovite liikuda mikrokontrollerite arendusse;
  • olete elektroonika- või riistvarainsener ja vajate tõhusa püsivara kirjutamist oma seadmetele;
  • olete automaatika- või tööstusjuhtimise insener ja tunnete huvi kontrollerite juhttarkvara arendamise vastu;
  • olete mõnes teises keeles arendaja ja soovite lisada oma oskustepagasisse madala taseme sardvaraarendust;
  • olete tehnika- või elektroonikaeriala üliõpilane ja soovite praktilisi oskusi;
  • soovite siseneda sardvara/IoT valdkonda ja eesmärk on omandada nõutud ja kasvav eriala.

Kursusel omandatavad võtmekompetentsid:

Kirjutage püsivara C keeles
Programmeerige mikrokontrollereid C++ keeles
Arendage STM32 peal
Ehitage ühendatud seadmeid ESP32 peal
Prototüüpige Raspberry Pi-ga
Alustage Arduino IDE-s
Looge projekte PlatformIO-ga
Seadistage mikrokontrollereid STM32CubeIDE-s
Kirjutage koodi VS Code-s
Ühendage perifeeriat I2C / SPI kaudu
Programmeerige ja siluge ST-Linkiga
Ühendage seadmeid IoT jaoks (Wi-Fi / BLE)
Jälgige koodi ajalugu Gitiga
Juhtige riistvara PWM-iga
Siduge seadmeid ESP-NOW kaudu
Juhtige RGB-LED-e Adafruit NeoPixeliga
Käitage püsivara Teensy peal
Suhelge seadmetega UART kaudu
Tundke ARM-i arhitektuuri
Tooge andmeid HTTP / HTTPS kaudu
Parsige JSON-i ArduinoJsoniga
Kasutage ESP-IDF raamistikku

Nõuded õppijatele:

  • kindel arvutikasutaja
  • inglise keele baasoskus (umbes A1/A2)
  • soovitatav on omada isiklikku sülearvutit (Windows / Mac, 8 GB RAM, ekraani diagonaal > 13,3"), vajadusel antakse õppeperioodiks sülearvuti.

Õpiväljundid:

Antud kursuse läbinud:

  • mõistavad, kuidas töötavad populaarsed mikrokontrollerid nagu STM32, ESP32, RP2040 ja Teensy
  • oskavad kirjutada mikrokontrolleritele tarkvara C/C++ keeles
  • oskavad ühendada andureid ja täitureid mikrokontrolleritega
  • kasutavad silumistööriistu, loogikaanalüsaatoreid ja ostsilloskoope
  • mõistavad autonoomsete seadmete (robotid, droonid, IoT) ehitamise põhimõtteid

Õppemeetodid:

Kursuse üldmaht: 180 akadeemilist tundi, millest 100 akadeemilist tundi toimub auditoorselt (42 tundi praktilist tööd ja 2 seminari (kokku 8 tundi)).

Õpitulemuste hindamiskriteeriumid:

Õpitulemusi hinnatakse iseseisvalt tehtud praktiliste tööde alusel.

Hindamismeetodid:

Edukalt sooritatud praktilised ja kodutööd saavad hindeks "arvestatud".

Kursuse lõpetamise tingimused:

Kursuse edukaks lõpetamiseks ja tunnistuse saamiseks on vajalik saada arvestatud 75% kodutöödest.

Lisainformatsioon:

Õppe korraldamise põhireeglid
Õppeprotsessi kvaliteedi tagamise põhireeglid

Kursuse programm

Moodul Mooduli põhiteemad Maht
1. Sissejuhatus mikrokontrolleritesse ja elektroonikasse
  • Mikrokontrollerite põhimõisted ja nende rakendused robootikas ja droonides.
  • STM32, ESP32, RP2040 ja Teensy võrdlus.
  • Elektriahelate ja prototüüpimise alused.
  • Praktilised oskused: lihtsate ahelate kokkupanek, töö multimeetri ja ostsilloskoobiga.
  • 8 ak. t.
    2. Programmeerimise alused C keeles
  • Andmetüübid, muutujad, aritmeetika
  • Tsüklid, tingimused, funktsioonid, viidad (pointers)
  • Töö massiivide ja stringidega
  • Praktika: lihtsate programmide kirjutamine ja silumine
  • 16 ak. t.
    3. C++ alused mikrokontrolleritele
  • Klassid, objektid, kapseldamine
  • Pärimine, mallid (templates), andmestruktuurid
  • RAII, mälu käsitlemine, standardteegid
  • Perifeeria juhtimise teekide loomine
  • 14 ak. t.
    4. Töö STM32, ESP32, RP2040, Teensy-ga
  • STM32CubeIDE, ESP-IDF, Pico SDK, Arduino Core kasutamine
  • GPIO, taimerid, PWM, ADC, katkestused, DMA
  • Side: UART, I2C, SPI, BLE, Wi-Fi
  • Töö andurite ja mootoritega, integreerimine reaalsete seadmetega
  • 30 ak. t.
    5. Sardsüsteemide silumine ja testimine
  • Töö ST-Linki, J-Linki, UART ja SWD/JTAG-iga
  • Loogikaanalüsaatorite ja ostsilloskoopide kasutamine
  • Silumise ja tõrkeotsingu tehnikad
  • Vigade jälgimine ja silumine riistvaral
  • 14 ak. t.
    6. Lõpuprojekt
  • Projekti valik: droon, mobiilne robot või IoT-seade
  • Skeemi ja tarkvara arhitektuuri kavandamine
  • Andurite, mootorite, side ja juhtimise integreerimine
  • Projekti esitlus ja kaitsmine
  • 16 ak. t.

    Teave kursuse kohta

    Toimumisaeg:
    20.07.2026 - 22.09.2026
    17.08.2026 - 19.10.2026
    07.09.2026 - 09.11.2026

    Tähelepanu, käesolev koolitus hetkel toimub ainult inglise keeles.

    Ajakava:
    E, K, R 17:45 - 21:00

    Registreeru koolitusele / koolituse lisainfo


    Kursuse kestus: 2 kuud

    Õppeformaat ja toimumiskoht:
    Aadress: Tartu mnt. 18-53, Tallinn.
    Gamma Intelligence Training Centre
    Õpe toimub auditoorses formaadis praktiliste tööde klassis aadressil Tartu mnt. 18-53, Tallinn. Grupi suurus kuni 6 inimest.

    Õppekeel: inglise

    Maksumus: 1967.21 EUR + KM 24%

    Kursuse üldmaht: 180 ak. t.
    Sisaldab:
    • Auditoorsed tunnid: 100 ak. t. (sh 42 praktilist tundi ja 2 seminari (8 ak. t.))
    • Iseseisev töö: 80 ak. t.

    Õppejõud

    Aleksandr Bobyrev

    Kvalifikatsioon: Senior Embedded Software Engineer enam kui 15-aastase kogemusega sardvara (embedded) tarkvara arenduses. Töötanud ettevõtetes Stoneridge, HARMAN, Unikie ja Symantec; arendanud püsivara autoelektroonikale (videomonitooringu süsteemid, audiovõimendid), diagnostikasüsteeme ja meditsiiniseadmeid.

    Spetsialiseerumine: Sardvara tarkvara arendus C/C++ keeles, reaalajaoperatsioonisüsteemid (RTOS), mikrokontrollerid (ESP32, Raspberry Pi, NXP S32K), autostandardid (AUTOSAR, CAN/LIN, UDS-diagnostika), Qt ja Python, ühiktestimine (GTest), CI/CD (Jenkins, Docker, CMake).

    Õpetamiskogemus: Õpetanud C/C++ ja OOP-i Tallinna Tehnikaülikoolis (TalTech) ning OOP-i, disainimustreid ja Qt testimist Tallinna Tööstushariduskeskuses.

    Haridus: IT ja automaatika magister, Tallinna Tehnikaülikool (TalTech), 2012.

    Tutvuda CV-ga