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
Mode of delivery
Contact teaching
Unit
Teknologia
Teaching languages
- Finnish
Degree programmes
- Bachelor’s Degree in Information and Communication Technology
Teachers
- Eero Huusko
Groups
-
TTV23SATTV23SA
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)
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ä.
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.