Skip to main content

Embedded Linux programming (5 cr)

Code: TT00BW43-3005

General information


Enrollment

30.12.2024 - 26.01.2025

Timing

01.01.2025 - 31.07.2025

Number of ECTS credits allocated

5 op

Virtual portion

2 op

Mode of delivery

60 % Contact teaching, 40 % Distance learning

Unit

Teknologia

Teaching languages

  • Finnish

Degree programmes

  • Bachelor’s Degree in Information and Communication Technology

Teachers

  • Eero Huusko

Groups

  • TTV23SA
    TTV23SA
  • 15.01.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 22.01.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 29.01.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 05.02.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 12.02.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 19.02.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 26.02.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 12.03.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 19.03.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 26.03.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 09.04.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 16.04.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 23.04.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 30.04.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 07.05.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 12.05.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005

Objective

Linux-käyttöjärjestelmä ja sen sulautettu versio, mukaan lukien palvelinohjelmat, ovat kriittisiä komponentteja nykypäivän avainasemassa olevassa hajautetussa ja verkottuneessa esineiden internetissä (Internet of Things).
Alan ammattitaitoisten Linux-kehittäjien kysyntä kasvaa jatkuvasti. Kurssin tavoitteena on antaa opiskelijalle kaksi oleellista osaamista:
1.Hyvä teoreettinen perusta ja käytännöllinen, teollisuuden kannalta merkityksellinen tieto, joka kattaa Linux-järjestelmän ohjelmointialueen.
2. Sulautetun linux-järjestelmän (Embedded Linux) ohjelmointiosaamisen, mukaan lukien järjestelmäarkkitehtuurin, virtuaalimuistin, prosessien luomisen ja hallinnan, prosessien välisen signaloinnin, timerien käytön, monisäikeisen ohjelmoinnin, prosessien scheduloinnin ja tiedostojen I / O- ja socket-ohjelmointiin liittyvän osaamisen.

Sanaa sulautettu Linux (Embedded Linux)ei ole määritelty hyvin. Mutta sitä voidaan käyttää käyttöjärjestelmänä monenlaisissa laitteissa termostaateista tukiasemiin, Wi-Fi-reitittimiin ja teollisiin ohjausyksiköihin. Kurssilla opitaan, että sulautetulla Linuxilla on tärkeä tehtävä esineiden Internetissä (Internet of Things).

Sulautetun Linux ohjelmointi -kurssin opiskelija oppii Linux-arkkitehtuurin, Linux-ytimen rakenteen ja tehokkaiden sovellusten toteuttamisen C-kielellä sulautettuihin laitteisiin, joissa on PSoC piiri. Kurssin käytyään opiskelija hallitsee myös moniajojärjestelmään toteutettavien sovellusten suunnittelun ja toteutuksen sekä asiakas-palvelin ohjelmien toteutuksen.

Content

Sulautetun Linux ohjelmointi -kurssin sisältö painottuu UNIX / POSIX-ympäristössä tapahtuvaan ohjelmointiin käyttäen ANSI C:tä. Erityinen painopiste on Linux / Posix-järjestelmän vaatimissa systeemikutsuissa, prosessinohjauksessa, säikeistyksessä ja prosessien välisessä kommunikoinnissa. Eri I / O-tekniikkoiden läpikäynti, standardi-C-kirjaston I / O-toiminnot ja Unix/Linux systeemikutsut esitellään yksityiskohtaisesti.

Program Development Review
Multiprocessing & Multithreading
Posix Signal Handling
Linux Memory Management
UNIX/POSIX Files and File System
- File I/O

Local Interprocess Communication
- Using Signals for Interprocess Communication
- Kernel IPC Facilities
- Shared Memory
- Semaphores
- Mutex
- Message Queues
- Managing Kernel IPC Resources
- Pipes
- System calls

Socket programming
Timers
Boot to Qt (Raspberry pi)

Location and time

Linux-luokka, toteutus 3 ja 4 perioideilla.

Materials

Kurssimateriaali kurssin verkko-oppimisympäristössä ja erikseen jaettava materiaali.

Teaching methods

Teams- ja lähiopetus. Itsenäisesti tehtävät harjoitukset.

Exam schedules

Verkkotentti, uusintamahdollisuus konekoeuusintana.

Student workload

Kurssin laajuus 5 op.

Content scheduling

Kurssi etenee sulautetun linux-ohjelmoinnin perusteista käytännön sulautetun järjestelmän toteuttamiseen.

Further information

Kurssilla läsnäolo suositus. Edellytetään vähintään 80 % läsnöoloa lähiopetuksessa.

Evaluation scale

0 - 5

Assessment criteria, excellent (5)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosana 5 edellyttää yli 90 % tehtävien palautusta ja kiitettävää arvosanaa tentistä.

Assessment criteria, good (3)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosanat 3 tai 4 edellyttävää yli 70-80 % tehtävien palautusta ja arvosanaa hyvä tentistä.

Assessment criteria, satisfactory (1)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosanat 1 tai 2 edellyttävää yli 50 - 60 % tehtävien palautusta ja arvosanaa välttävä tentistä.

Assessment methods and criteria

Harjoitustyökirjan tehtävien palautus max 260 p (Vapaavalintainen, mutta vaikuttaa oleellisesti kurssin arvosanaan)
Tentti (Labrakoe) (Moodlessa), maksimi 125 p (Pakollinen)
Maksimipistemäärä harjoitustyökirjan tehtävistä on 260 p, joten tee tehtäviä oman harkintasi mukaan. Harjoitustyökirjan tehtävistä saadut pisteet lasketaan yhteen tentistä saatujen pisteiden kanssa ja kurssin arvosana muodostuu tentin ja harjoitustyökirjan yhteispisteiden perusteella. Maksimipistemäärä Tentti + Harjoitustyökirja = 385 p.

Arviointi: 95 - 120 p = 1
121 - 160 p = 2
161 - 200 p = 3
201 - 250 p = 4
251 -> p = 5

Assessment criteria, fail (0)

Hylätty tentti

Assessment criteria, excellent (5)

Arviointi: 95 - 120 p = 1
121 - 160 p = 2
161 - 200 p = 3
201 - 250 p = 4
251 -> p = 5

Toteutuksen arviointikriteerit, hyvä (3-4)

Arviointi: 95 - 120 p = 1
121 - 160 p = 2
161 - 200 p = 3
201 - 250 p = 4
251 -> p = 5

Assessment criteria, satisfactory (1)

Arvosanaan 1 vaaditaan siis tentin läpäisy (väh. 95 p) ja läsnäolo kurssin (80 %) luennoilla.
Arviointi: 95 - 120 p = 1
121 - 160 p = 2
161 - 200 p = 3
201 - 250 p = 4
251 -> p = 5

Prerequisites

Esitietoina vaaditaan Linuxin perusosaaminen ja C-ohjelmointikurssin suoritus.

Further information

Kurssimateriaali on englanninkielinen. Kurssiin kuuluu itsenäisesti tehtävät harjoitukset.
TKI pisteet 2.